Commit a1f10e244273e68be85625705a36104852a2ff05
1 parent
62bb78f0
README-maintainer: Move pikepdf test notes to a separate section
Showing
1 changed file
with
59 additions
and
49 deletions
README-maintainer
| @@ -373,55 +373,6 @@ RELEASE PREPARATION | @@ -373,55 +373,6 @@ RELEASE PREPARATION | ||
| 373 | * /tmp/check-abi/new contains new sizes and library | 373 | * /tmp/check-abi/new contains new sizes and library |
| 374 | * run check_abi manually to compare | 374 | * run check_abi manually to compare |
| 375 | 375 | ||
| 376 | -* Run pikepdf's test suite. Do this in a separate shell. | ||
| 377 | - | ||
| 378 | -cd ...qpdf-source-tree... | ||
| 379 | -export QPDF_SOURCE_TREE=$PWD | ||
| 380 | -export QPDF_BUILD_LIBDIR=$QPDF_SOURCE_TREE/build/libqpdf | ||
| 381 | -export LD_LIBRARY_PATH=$QPDF_BUILD_LIBDIR | ||
| 382 | -cd /tmp/z | ||
| 383 | -git clone git@github.com:pikepdf/pikepdf | ||
| 384 | -virtualenv v | ||
| 385 | -source v/bin/activate | ||
| 386 | -cd pikepdf | ||
| 387 | -pip3 install --upgrade pip | ||
| 388 | -pip3 install '.[test]' | ||
| 389 | -rehash | ||
| 390 | -pip3 install . | ||
| 391 | -pytest -n auto | ||
| 392 | - | ||
| 393 | -If there are failures, use git bisect to figure out where the failure | ||
| 394 | -was introduced. For example, set up a work area like this: | ||
| 395 | - | ||
| 396 | -cd /tmp/z | ||
| 397 | -git clone file://$HOME/source/qpdf/qpdf/.git qpdf | ||
| 398 | -git clone git@github.com:pikepdf/pikepdf | ||
| 399 | -export QPDF_SOURCE_TREE=/tmp/z/qpdf | ||
| 400 | -export QPDF_BUILD_LIBDIR=$QPDF_SOURCE_TREE/build/libqpdf | ||
| 401 | -export LD_LIBRARY_PATH=$QPDF_BUILD_LIBDIR | ||
| 402 | -cd qpdf | ||
| 403 | -mkdir build | ||
| 404 | -cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | ||
| 405 | - -DMAINTAINER_MODE=1 -DBUILD_STATIC_LIBS=0 \ | ||
| 406 | - -DCMAKE_BUILD_TYPE=RelWithDebInfo | ||
| 407 | -cat <<'EOF' | ||
| 408 | -#!/bin/bash | ||
| 409 | -cd /tmp/z/pikepdf | ||
| 410 | -cmake --build /tmp/z/qpdf/build -j16 --target libqpdf -- -k | ||
| 411 | -git clean -dfx | ||
| 412 | -rm -rf ../v | ||
| 413 | -virtualenv ../v | ||
| 414 | -source ../v/bin/activate | ||
| 415 | -pip3 install --upgrade pip | ||
| 416 | -pip3 install '.[test]' | ||
| 417 | -pip3 install . | ||
| 418 | -pytest -n auto | ||
| 419 | -EOF | ||
| 420 | -chmod +x /tmp/check | ||
| 421 | - | ||
| 422 | -Then in /tmp/z/qpdf, run git bisect. Use /tmp/check at each stage to | ||
| 423 | -test whether it's a good or bad commit. | ||
| 424 | - | ||
| 425 | * Run package tests: | 376 | * Run package tests: |
| 426 | 377 | ||
| 427 | (Note: can't use DESTDIR because pkg-config won't know about it.) | 378 | (Note: can't use DESTDIR because pkg-config won't know about it.) |
| @@ -534,6 +485,65 @@ rsync -vrlcO ./ jay_berkenbilt,qpdf@frs.sourceforge.net:/home/frs/project/q/qp/q | @@ -534,6 +485,65 @@ rsync -vrlcO ./ jay_berkenbilt,qpdf@frs.sourceforge.net:/home/frs/project/q/qp/q | ||
| 534 | * Email the qpdf-announce list. | 485 | * Email the qpdf-announce list. |
| 535 | 486 | ||
| 536 | 487 | ||
| 488 | +RUNNING pikepdf's TEST SUITE | ||
| 489 | + | ||
| 490 | +We run pikepdf's test suite from CI. These instructions show how to do | ||
| 491 | +it manually. | ||
| 492 | + | ||
| 493 | +Do this in a separate shell. | ||
| 494 | + | ||
| 495 | +cd ...qpdf-source-tree... | ||
| 496 | +export QPDF_SOURCE_TREE=$PWD | ||
| 497 | +export QPDF_BUILD_LIBDIR=$QPDF_SOURCE_TREE/build/libqpdf | ||
| 498 | +export LD_LIBRARY_PATH=$QPDF_BUILD_LIBDIR | ||
| 499 | +rm -rf /tmp/z | ||
| 500 | +mkdir /tmp/z | ||
| 501 | +cd /tmp/z | ||
| 502 | +git clone git@github.com:pikepdf/pikepdf | ||
| 503 | +python3 -m venv v | ||
| 504 | +source v/bin/activate | ||
| 505 | +cd pikepdf | ||
| 506 | +python3 -m pip install --upgrade pip | ||
| 507 | +python3 -m pip install '.[test]' | ||
| 508 | +rehash | ||
| 509 | +python3 -m pip install . | ||
| 510 | +pytest -n auto | ||
| 511 | + | ||
| 512 | +If there are failures, use git bisect to figure out where the failure | ||
| 513 | +was introduced. For example, set up a work area like this: | ||
| 514 | + | ||
| 515 | +rm -rf /tmp/z | ||
| 516 | +mkdir /tmp/z | ||
| 517 | +cd /tmp/z | ||
| 518 | +git clone file://$HOME/source/qpdf/qpdf/.git qpdf | ||
| 519 | +git clone git@github.com:pikepdf/pikepdf | ||
| 520 | +export QPDF_SOURCE_TREE=/tmp/z/qpdf | ||
| 521 | +export QPDF_BUILD_LIBDIR=$QPDF_SOURCE_TREE/build/libqpdf | ||
| 522 | +export LD_LIBRARY_PATH=$QPDF_BUILD_LIBDIR | ||
| 523 | +cd qpdf | ||
| 524 | +mkdir build | ||
| 525 | +cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | ||
| 526 | + -DMAINTAINER_MODE=1 -DBUILD_STATIC_LIBS=0 \ | ||
| 527 | + -DCMAKE_BUILD_TYPE=RelWithDebInfo | ||
| 528 | +cat <<'EOF' | ||
| 529 | +#!/bin/bash | ||
| 530 | +cd /tmp/z/pikepdf | ||
| 531 | +cmake --build /tmp/z/qpdf/build -j16 --target libqpdf -- -k | ||
| 532 | +git clean -dfx | ||
| 533 | +rm -rf ../v | ||
| 534 | +python3 -m venv ../v | ||
| 535 | +source ../v/bin/activate | ||
| 536 | +python3 -m pip install --upgrade pip | ||
| 537 | +python3 -m pip install '.[test]' | ||
| 538 | +python3 -m pip install . | ||
| 539 | +pytest -n auto | ||
| 540 | +EOF | ||
| 541 | +chmod +x /tmp/check | ||
| 542 | + | ||
| 543 | +Then in /tmp/z/qpdf, run git bisect. Use /tmp/check at each stage to | ||
| 544 | +test whether it's a good or bad commit. | ||
| 545 | + | ||
| 546 | + | ||
| 537 | OTHER NOTES | 547 | OTHER NOTES |
| 538 | 548 | ||
| 539 | For local iteration on the AppImage generation, it works to just | 549 | For local iteration on the AppImage generation, it works to just |