diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-03-12 13:59:12 +0100 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-03-19 00:53:18 +0100 |
commit | 585be5a82e3d0d2b6756018c7d53f18f90228488 (patch) | |
tree | 2ac8ec906491e0cf3de9aaf7415c948abf29a8e9 /build-scripts | |
parent | ab467e1f01be0eca64c3ccfc8123b67606906128 (diff) | |
download | qpdf-585be5a82e3d0d2b6756018c7d53f18f90228488.tar.zst |
Convert test-sanitizers to use cmake
Diffstat (limited to 'build-scripts')
-rwxr-xr-x | build-scripts/test-sanitizers | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/build-scripts/test-sanitizers b/build-scripts/test-sanitizers index 38170575..c3c314f9 100755 --- a/build-scripts/test-sanitizers +++ b/build-scripts/test-sanitizers @@ -2,16 +2,21 @@ set -e sudo apt-get update sudo apt-get -y install \ - autoconf build-essential zlib1g-dev libjpeg-dev libgnutls28-dev libssl-dev -./configure \ - CFLAGS="-fsanitize=address -fsanitize=undefined -g" \ - CXXFLAGS="-fsanitize=address -fsanitize=undefined -g" \ - LDFLAGS="-fsanitize=address -fsanitize=undefined" \ - CC=clang CXX="clang++ --std=c++14" \ - --enable-crypto-native --enable-crypto-openssl --enable-crypto-gnutls \ - --enable-werror --disable-shared --enable-show-failed-test-output -make -j$(nproc) -k -for i in $(./qpdf/build/qpdf --show-crypto); do - echo "*** Running tests with crypto provider $i" - env QPDF_CRYPTO_PROVIDER=$i make -k check + build-essential cmake \ + zlib1g-dev libjpeg-dev libgnutls28-dev libssl-dev +env CFLAGS="-fsanitize=address -fsanitize=undefined" \ + CXXFLAGS="-fsanitize=address -fsanitize=undefined" \ + LDFLAGS="-fsanitize=address -fsanitize=undefined" \ + CC=clang CXX=clang++ \ + cmake -S . -B build \ + -DCI_MODE=1 -DBUILD_SHARED_LIBS=0 -DCMAKE_BUILD_TYPE=Debug \ + -DREQUIRE_CRYPTO_OPENSSL=1 -DREQUIRE_CRYPTO_GNUTLS=1 +cmake --build build -j$(nproc) -- -k +cd build +# libtests automatically runs with all crypto providers. +ctest --verbose +# Run just qpdf tests with remaining crypto providers. +for i in $(./qpdf/qpdf --show-crypto | tail -n +2); do + echo "*** Running qpdf tests with crypto provider $i" + env QPDF_CRYPTO_PROVIDER=$i ctest --verbose -R '^qpdf$' done |