Drop valgrind from CI and instead enable ASan

The recently added ioctl use is reported as a false-positive by valgrind.
I tried moving it to different compilers/versions two times and only
hit further issues that were valgrind's fault.

Also includes a tiny fix.
This commit is contained in:
sfan5 2024-01-20 18:18:00 +01:00
parent 4259ac96ea
commit c9e10e1dd9
2 changed files with 6 additions and 5 deletions

@ -86,7 +86,7 @@ jobs:
- name: Install deps - name: Install deps
run: | run: |
source ./util/ci/common.sh source ./util/ci/common.sh
install_linux_deps clang-7 valgrind install_linux_deps clang-7 llvm
- name: Build - name: Build
run: | run: |
@ -94,15 +94,12 @@ jobs:
env: env:
CC: clang-7 CC: clang-7
CXX: clang++-7 CXX: clang++-7
CMAKE_FLAGS: '-DCMAKE_C_FLAGS="-fsanitize=address" -DCMAKE_CXX_FLAGS="-fsanitize=address"'
- name: Unittest - name: Unittest
run: | run: |
./bin/minetest --run-unittests ./bin/minetest --run-unittests
- name: Valgrind
run: |
valgrind --leak-check=full --leak-check-heuristics=all --undef-value-errors=no --error-exitcode=9 ./bin/minetest --run-unittests
# Current clang version # Current clang version
clang_14: clang_14:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04

@ -108,6 +108,8 @@ void TestDataStructures::testMap1()
break; break;
} }
UASSERT(once); UASSERT(once);
map.clear(); // ASan complains about stack-use-after-scope otherwise
} }
void TestDataStructures::testMap2() void TestDataStructures::testMap2()
@ -121,6 +123,8 @@ void TestDataStructures::testMap2()
UASSERT(t0.deleted); UASSERT(t0.deleted);
UASSERT(!t1.copied); UASSERT(!t1.copied);
UASSERT(!t1.deleted); UASSERT(!t1.deleted);
map.clear();
} }
void TestDataStructures::testMap3() void TestDataStructures::testMap3()