diff options
author | Sam James <sam@gentoo.org> | 2024-04-10 11:43:10 +0100 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2024-04-11 00:15:35 +0300 |
commit | 6c095a98fbec70b790253a663173ecdb669108c4 (patch) | |
tree | a552263a75af792981feb387210ba0238a39ee4f /.github/workflows | |
parent | liblzma: CRC: Simplify table omission macros (diff) | |
download | xz-6c095a98fbec70b790253a663173ecdb669108c4.tar.xz |
ci: test Valgrind
Using `--trace-children=yes` has a trade-off here, as it makes
`test_scripts.sh` pretty slow when calling various non-xz utilities.
But I also feel like it's not useless to have Valgrind used there and it's
not easy to exclude Valgrind just for that one test...
I did consider using AX_VALGRIND_CHECK [0][1] but I couldn't get it working
immediately with some conditionally-built tests and I wondered if it was
worth spending time on at least while we're debating xz's future build
system situation.
[0] https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html
[1] https://tecnocode.co.uk/2014/12/23/automatically-valgrinding-code-with-ax_valgrind_check/
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/ci.yml | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cbf3b7d9..9aa4f9aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: if: ${{ matrix.os == 'ubuntu-latest' && matrix.build_system == 'autotools' }} run: | sudo apt-get update - sudo apt-get install -y autoconf automake build-essential po4a autopoint gcc-multilib doxygen musl-tools + sudo apt-get install -y autoconf automake build-essential po4a autopoint gcc-multilib doxygen musl-tools valgrind # Install Autotools on Mac - name: Install Dependencies @@ -89,6 +89,15 @@ jobs: ./build-aux/ci_build.sh -b autotools -p test -f "-fsanitize=address,undefined" -d sandbox cd ../xz_build && make distclean + - name: Build with Valgrind + if: ${{ matrix.os == 'ubuntu-latest' && matrix.build_system == 'autotools' }} + run: ./build-aux/ci_build.sh -b autotools -p build -d sandbox + - name: Test with Valgrind + if: ${{ matrix.os == 'ubuntu-latest' && matrix.build_system == 'autotools' }} + run: | + ./build-aux/ci_build.sh -b autotools -p test -d sandbox -w "valgrind --quiet --trace-children=yes --exit-on-first-error=yes --error-exitcode=1" + cd ../xz_build && make distclean + - name: Build with musl libc if: ${{ matrix.os == 'ubuntu-latest'}} run: ./build-aux/ci_build.sh -b ${{ matrix.build_system }} -p build -m "/usr/bin/musl-gcc" |