fixed ASAN check and increased coverage on RmM-tree #137
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests (Asan) | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Create Build Directory | |
| run: mkdir build | |
| - name: Configure CMake | |
| working-directory: ./build | |
| run: cmake -DDISABLE_AVX512=ON -DENABLE_ADDRESS_SANITIZER=ON -DPIXIE_BENCHMARKS=OFF .. | |
| - name: Build Project | |
| working-directory: ./build | |
| run: make -j | |
| - name: Run Unittests | |
| working-directory: ./build | |
| run: ./unittests | |
| - name: Run LOUDS Tree Tests | |
| working-directory: ./build | |
| run: ./louds_tree_tests | |
| - name: Run Benchmark Tests | |
| working-directory: ./build | |
| run: ./benchmark_tests | |
| - name: Run RmM Tree Tests | |
| working-directory: ./build | |
| run: ./test_rmm | |
| build-and-test-with-SDE: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Create Build Directory | |
| run: mkdir build | |
| - name: Download and Unpack SDE | |
| working-directory: ./build | |
| run: | | |
| wget https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz | |
| tar xf sde-external-9.58.0-2025-06-16-lin.tar.xz | |
| - name: Configure CMake | |
| working-directory: ./build | |
| run: cmake -DENABLE_ADDRESS_SANITIZER=ON -DMARCH=icelake-client -DHAVE_STD_REGEX=ON .. | |
| - name: Build Project | |
| working-directory: ./build | |
| run: make -j | |
| - name: Run Unittests | |
| working-directory: ./build | |
| # SDE can hang during process teardown (static/ASan destructors) after all | |
| # tests complete successfully. Use `timeout` to prevent the job from blocking | |
| # indefinitely. GTest XML output is used to verify tests passed before | |
| # treating a teardown timeout as success. | |
| run: | | |
| timeout 1800 sde-external-9.58.0-2025-06-16-lin/sde64 -icl -emu-xinuse 0 -- \ | |
| ./unittests --gtest_output=xml:unittests_results.xml | |
| rc=$? | |
| if [ $rc -eq 124 ] && grep -q 'failures="0"' unittests_results.xml 2>/dev/null; then | |
| echo "SDE timed out during process teardown (known SDE/ASan issue) - all tests passed, treating as success" | |
| exit 0 | |
| fi | |
| exit $rc | |
| - name: Run LOUDS Tree Tests | |
| working-directory: ./build | |
| run: | | |
| timeout 1800 sde-external-9.58.0-2025-06-16-lin/sde64 -icl -emu-xinuse 0 -- \ | |
| ./louds_tree_tests --gtest_output=xml:louds_results.xml | |
| rc=$? | |
| if [ $rc -eq 124 ] && grep -q 'failures="0"' louds_results.xml 2>/dev/null; then | |
| echo "SDE timed out during process teardown (known SDE/ASan issue) - all tests passed, treating as success" | |
| exit 0 | |
| fi | |
| exit $rc | |