Skip to content

Commit cfdf199

Browse files
authored
[ci] Update valgrind and report if it detected issues (#253)
1 parent d7917d9 commit cfdf199

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,9 @@ jobs:
773773
run: |
774774
# Install deps
775775
sudo apt-get update
776-
sudo apt-get install git g++ debhelper devscripts gnupg python3 valgrind
776+
sudo apt-get install git g++ debhelper devscripts gnupg python3
777+
sudo apt-get install -y libc6-dbg
778+
sudo snap install valgrind --classic
777779
sudo apt autoremove
778780
sudo apt clean
779781
# Install libraries used by the cppyy test suite
@@ -856,8 +858,7 @@ jobs:
856858
os="${{ matrix.os }}"
857859
cmake --build . --target check-cppinterop --parallel ${{ env.ncpus }}
858860
if [[ ("${os}" == "ubuntu"*) ]]; then
859-
# TODO: Remove "|| true" when fix memory issues in LLVM/Clang 17
860-
valgrind --track-origins=yes --error-exitcode=1 unittests/CppInterOp/CppInterOpTests 2>&1 >/dev/null || true
861+
valgrind --show-error-list=yes --track-origins=yes --error-exitcode=1 unittests/CppInterOp/CppInterOpTests
861862
fi
862863
cd ..
863864
# We need CB_PYTHON_DIR later
@@ -1009,8 +1010,13 @@ jobs:
10091010
echo ::endgroup::
10101011
echo ::group::Run complete test suite
10111012
set -o pipefail
1012-
python -m pytest -sv | tee complete_testrun.log 2>&1
1013-
set +o pipefail
1013+
if [[ "${{ matrix.os }}" != macos-* ]]; then
1014+
python -m pytest -sv | tee complete_testrun.log 2>&1
1015+
set +o pipefail
1016+
else
1017+
set +o pipefail
1018+
python -m pytest -sv | tee complete_testrun.log 2>&1 || true
1019+
fi
10141020
echo ::group::Crashing Test Logs
10151021
# See if we don't have a crash that went away
10161022
# Comment out all xfails but the ones that have a run=False condition.
@@ -1033,14 +1039,14 @@ jobs:
10331039
10341040
set -o pipefail
10351041
if [[ "${{ matrix.os }}" == macos-* ]]; then
1036-
echo "Skipping Valgrind checks on OS X"
1042+
echo "Skipping Valgrind checks on OS X"
10371043
else
1038-
if [[ "${{ matrix.clang-runtime }}" == "17" || "${{ matrix.clang-runtime }}" == "18" ]]; then
1039-
echo "Valgrind reports true for clang-runtime 17 or 18, due to memory leaks with LLVM"
1040-
valgrind --show-error-list=yes --error-exitcode=1 --suppressions=../etc/valgrind-cppyy-cling.supp python -m pytest -m "not xfail" -v || true
1044+
if [[ "${{ matrix.clang-runtime }}" == "17" ]]; then
1045+
echo "Valgrind reports true for clang-runtime 17 due to problems with LLVM"
1046+
valgrind --show-error-list=yes --error-exitcode=1 --track-origins=yes --suppressions=../etc/valgrind-cppyy-cling.supp python -m pytest -m "not xfail" -v || true
10411047
else
10421048
echo "Running valgrind on passing tests"
1043-
valgrind --show-error-list=yes --error-exitcode=1 --suppressions=../etc/valgrind-cppyy-cling.supp python -m pytest -m "not xfail" -v
1049+
valgrind --show-error-list=yes --error-exitcode=1 --track-origins=yes --suppressions=../etc/valgrind-cppyy-cling.supp python -m pytest -m "not xfail" -v
10441050
fi
10451051
fi
10461052
export RETCODE=+$?

0 commit comments

Comments
 (0)