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,11 +382,16 @@ pytest -n auto
382 382
383 * Run package tests: 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 cmake --build build.tmp -j$(nproc) 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 ./pkg-test/run-all 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 #include <qpdf/QPDF.hh> 5 #include <qpdf/QPDF.hh>
2 #include <iostream> 6 #include <iostream>
3 7
pkg-test/test-cli
@@ -11,7 +11,9 @@ if [ ! -d &quot;$TMP&quot; ]; then @@ -11,7 +11,9 @@ if [ ! -d &quot;$TMP&quot; ]; then
11 exit 2 11 exit 2
12 fi 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 qpdf --help 17 qpdf --help
16 qpdf --check qpdf/qtest/qpdf/minimal.pdf 18 qpdf --check qpdf/qtest/qpdf/minimal.pdf
17 qpdf qpdf/qtest/qpdf/minimal.pdf --encrypt u o 256 -- $TMP/out.pdf 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,8 +11,14 @@ if [ ! -d &quot;$TMP&quot; ]; then
11 echo 1>&2 "Usage: $0 tmp-dir" 11 echo 1>&2 "Usage: $0 tmp-dir"
12 exit 2 12 exit 2
13 fi 13 fi
  14 +
  15 +WANTED_VERSION=$(awk -F'"' '/#define QPDF_VERSION / {print $2}' include/qpdf/DLL.h)
  16 +
14 cp pkg-test/qpdf-version.cc pkg-test/CMakeLists.txt $TMP 17 cp pkg-test/qpdf-version.cc pkg-test/CMakeLists.txt $TMP
15 cd $TMP 18 cd $TMP
16 cmake -S . -B build 19 cmake -S . -B build
17 cmake --build build 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,11 +13,18 @@ if [ ! -d &quot;$TMP&quot; ]; then
13 exit 2 13 exit 2
14 fi 14 fi
15 15
  16 +WANTED_VERSION=$(awk -F'"' '/#define QPDF_VERSION / {print $2}' include/qpdf/DLL.h)
  17 +
16 cp pkg-test/qpdf-version.cc $TMP 18 cp pkg-test/qpdf-version.cc $TMP
17 cd $TMP 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 pkg-config libqpdf --libs --static 23 pkg-config libqpdf --libs --static
20 g++ qpdf-version.cc -o qpdf-version \ 24 g++ qpdf-version.cc -o qpdf-version \
21 $(pkg-config libqpdf --cflags) \ 25 $(pkg-config libqpdf --cflags) \
22 $(pkg-config libqpdf --libs) 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