Commit 38cd94bec852b621c6af11efcbea4e51e403ca54

Authored by Jay Berkenbilt
1 parent 93f176a2

Strengthen pkg-test

* Define POINTERHOLDER_TRANSITION
* Make sure we are getting the intended version of qpdf
README-maintainer
... ... @@ -382,11 +382,16 @@ pytest -n auto
382 382  
383 383 * Run package tests:
384 384  
385   -cmake -S . -B build.tmp -DCMAKE_BUILD_TYPE=RelWithDebInfo
  385 +(Note: can't use DESTDIR because pkg-config won't know about it.)
  386 +
  387 +\rm -rf /tmp/inst build.tmp
  388 +cmake -S . -B build.tmp \
  389 + -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/tmp/inst
386 390 cmake --build build.tmp -j$(nproc)
387   -DESTDIR=/tmp/inst cmake --install build.tmp
388   -env PKG_CONFIG_PATH=/tmp/inst/usr/local/lib/pkgconfig \
389   - CMAKE_PREFIX_PATH=/tmp/inst/usr/local \
  391 +cmake --install build.tmp
  392 +env PKG_CONFIG_PATH=/tmp/inst/lib/pkgconfig \
  393 + LD_LIBRARY_PATH=/tmp/inst/lib \
  394 + CMAKE_PREFIX_PATH=/tmp/inst \
390 395 ./pkg-test/run-all
391 396  
392 397  
... ...
pkg-test/qpdf-version.cc
  1 +#ifndef POINTERHOLDER_TRANSITION
  2 +# define POINTERHOLDER_TRANSITION 4
  3 +#endif
  4 +
1 5 #include <qpdf/QPDF.hh>
2 6 #include <iostream>
3 7  
... ...
pkg-test/test-cli
... ... @@ -11,7 +11,9 @@ if [ ! -d &quot;$TMP&quot; ]; then
11 11 exit 2
12 12 fi
13 13  
14   -qpdf --version
  14 +WANTED_VERSION=$(awk -F'"' '/#define QPDF_VERSION / {print $2}' include/qpdf/DLL.h)
  15 +
  16 +qpdf --version | grep -F $WANTED_VERSION
15 17 qpdf --help
16 18 qpdf --check qpdf/qtest/qpdf/minimal.pdf
17 19 qpdf qpdf/qtest/qpdf/minimal.pdf --encrypt u o 256 -- $TMP/out.pdf
... ...
pkg-test/test-cmake
... ... @@ -11,8 +11,14 @@ if [ ! -d &quot;$TMP&quot; ]; then
11 11 echo 1>&2 "Usage: $0 tmp-dir"
12 12 exit 2
13 13 fi
  14 +
  15 +WANTED_VERSION=$(awk -F'"' '/#define QPDF_VERSION / {print $2}' include/qpdf/DLL.h)
  16 +
14 17 cp pkg-test/qpdf-version.cc pkg-test/CMakeLists.txt $TMP
15 18 cd $TMP
16 19 cmake -S . -B build
17 20 cmake --build build
18   -./build/qpdf-version
  21 +if [ "$(./build/qpdf-version)" != "$WANTED_VERSION" ]; then
  22 + echo 1>&2 "Failed to get correct qpdf version from cmake test"
  23 + exit 2
  24 +fi
... ...
pkg-test/test-pkg-config
... ... @@ -13,11 +13,18 @@ if [ ! -d &quot;$TMP&quot; ]; then
13 13 exit 2
14 14 fi
15 15  
  16 +WANTED_VERSION=$(awk -F'"' '/#define QPDF_VERSION / {print $2}' include/qpdf/DLL.h)
  17 +
16 18 cp pkg-test/qpdf-version.cc $TMP
17 19 cd $TMP
18   -pkg-config libqpdf --modversion
  20 +if [ "$(pkg-config libqpdf --modversion)" != "$WANTED_VERSION" ]; then
  21 + echo 1>&2 "Failed to get correct qpdf version from pkg-config --modversion"
  22 +fi
19 23 pkg-config libqpdf --libs --static
20 24 g++ qpdf-version.cc -o qpdf-version \
21 25 $(pkg-config libqpdf --cflags) \
22 26 $(pkg-config libqpdf --libs)
23   -./qpdf-version
  27 +if [ "$(./qpdf-version)" != "$WANTED_VERSION" ]; then
  28 + echo 1>&2 "Failed to get correct qpdf version from pkg-config test"
  29 + exit 2
  30 +fi
... ...