diff --git a/ci/run_ctests.sh b/ci/run_ctests.sh new file mode 100755 index 0000000000..f6d0ef26ef --- /dev/null +++ b/ci/run_ctests.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# Copyright (c) 2024, NVIDIA CORPORATION. + +set -euo pipefail + +# Support customizing the ctests' install location +cd "${INSTALL_PREFIX:-${CONDA_PREFIX:-/usr}}/bin/gtests/libraft/" + +ctest --output-on-failure "$@" diff --git a/ci/run_pylibraft_pytests.sh b/ci/run_pylibraft_pytests.sh new file mode 100755 index 0000000000..1167b89c5f --- /dev/null +++ b/ci/run_pylibraft_pytests.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# Copyright (c) 2024, NVIDIA CORPORATION. + +set -euo pipefail + +# Support invoking run_pylibraft_pytests.sh outside the script directory +cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../python/pylibraft/pylibraft + +pytest --cache-clear "$@" test diff --git a/ci/run_raft_dask_pytests.sh b/ci/run_raft_dask_pytests.sh new file mode 100755 index 0000000000..46cd211d2e --- /dev/null +++ b/ci/run_raft_dask_pytests.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# Copyright (c) 2024, NVIDIA CORPORATION. + +set -euo pipefail + +# Support invoking run_raft_dask_pytests.sh outside the script directory +cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../python/raft-dask/raft_dask + +pytest --cache-clear "$@" test diff --git a/ci/test_cpp.sh b/ci/test_cpp.sh index 0f8efb171e..fb2d025f9c 100755 --- a/ci/test_cpp.sh +++ b/ci/test_cpp.sh @@ -1,8 +1,11 @@ #!/bin/bash -# Copyright (c) 2022-2023, NVIDIA CORPORATION. +# Copyright (c) 2022-2024, NVIDIA CORPORATION. set -euo pipefail +# Support invoking test_cpp.sh outside the script directory +cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../ + . /opt/conda/etc/profile.d/conda.sh rapids-logger "Generate C++ testing dependencies" @@ -31,13 +34,9 @@ rapids-mamba-retry install \ rapids-logger "Check GPU usage" nvidia-smi -EXITCODE=0 -trap "EXITCODE=1" ERR -set +e - +export GTEST_OUTPUT=xml:${RAPIDS_TESTS_DIR}/ # Run libraft gtests from libraft-tests package -cd "$CONDA_PREFIX"/bin/gtests/libraft -ctest -j8 --output-on-failure +./ci/run_ctests.sh -j8 && EXITCODE=$? || EXITCODE=$?; rapids-logger "Test script exiting with value: $EXITCODE" exit ${EXITCODE} diff --git a/ci/test_python.sh b/ci/test_python.sh index cb6b7631e4..aae8ae03ea 100755 --- a/ci/test_python.sh +++ b/ci/test_python.sh @@ -1,8 +1,11 @@ #!/bin/bash -# Copyright (c) 2022-2023, NVIDIA CORPORATION. +# Copyright (c) 2022-2024, NVIDIA CORPORATION. set -euo pipefail +# Support invoking test_python.sh outside the script directory +cd "$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/../ + . /opt/conda/etc/profile.d/conda.sh rapids-logger "Generate Python testing dependencies" @@ -41,28 +44,20 @@ trap "EXITCODE=1" ERR set +e rapids-logger "pytest pylibraft" -pushd python/pylibraft/pylibraft -pytest \ - --cache-clear \ +./ci/run_pylibraft_pytests.sh \ --junitxml="${RAPIDS_TESTS_DIR}/junit-pylibraft.xml" \ --cov-config=../.coveragerc \ --cov=pylibraft \ --cov-report=xml:"${RAPIDS_COVERAGE_DIR}/pylibraft-coverage.xml" \ - --cov-report=term \ - test -popd + --cov-report=term rapids-logger "pytest raft-dask" -pushd python/raft-dask/raft_dask -pytest \ - --cache-clear \ +./ci/run_raft_dask_pytests.sh \ --junitxml="${RAPIDS_TESTS_DIR}/junit-raft-dask.xml" \ --cov-config=../.coveragerc \ --cov=raft_dask \ --cov-report=xml:"${RAPIDS_COVERAGE_DIR}/raft-dask-coverage.xml" \ - --cov-report=term \ - test -popd + --cov-report=term rapids-logger "Test script exiting with value: $EXITCODE" exit ${EXITCODE}