PINNED TESTS ============ This directory contains tests whose expected output needs to be "pinned" to a specific commit, typically one that bumps the RPM version number. This output usually can't be generated by other means during test runtime so it has to be tracked in git alongside the sources and updated whenever a change in those triggers a change in the output. A typical example of such a test is one that covers reproducible package builds by clamping file mtimes to SOURCE_DATE_EPOCH and making sure the package digest is always the same. However, since packages carry the version of RPM used to build them in a tag, the digests have to be updated whenever the version is. USAGE ----- The tests are used via the m4 macro RPMTEST_CHECK_PINNED([]) where is the respective filename (without an extension) found in this directory. The macro then sources the script .sh and compares its standard output with the contents of .txt. To pin the *.txt files to the current commit, run "make pinned" from the build directory. This will run all the *.sh tests, capture their output and store it in the corresponding *.txt files in your source directory, then automatically git-stage the changes and print the diff (if any). MANUALLY SANITY-CHECK ALL CHANGES TO THESE VALUES! Ie. when the values change, always ensure you understand WHY before proceeding. And vice versa: when you expect a change (such as rpm version change), ensure it actually happens.