Commit 201b62fc68398b37decbe0fde24dc94486db244e
1 parent
a3f87202
Support NO_REBUILD=1 for testing without rebuild
Showing
3 changed files
with
14 additions
and
3 deletions
Makefile
| @@ -17,6 +17,11 @@ | @@ -17,6 +17,11 @@ | ||
| 17 | # anywhere. From the top level, the "all", "check", and "clean" | 17 | # anywhere. From the top level, the "all", "check", and "clean" |
| 18 | # targets build, test, or clean everything. | 18 | # targets build, test, or clean everything. |
| 19 | 19 | ||
| 20 | +# To run test suites without rebuilding, pass NO_REBUILD=1 to the | ||
| 21 | +# build. This can be useful for testing binary interface compatibility | ||
| 22 | +# as it enables you to rebuild libraries and rerun tests without | ||
| 23 | +# relinking. | ||
| 24 | + | ||
| 20 | # Although this is not a GNU package and does not use automake, you | 25 | # Although this is not a GNU package and does not use automake, you |
| 21 | # can still run make clean to remove everything that is compiled, make | 26 | # can still run make clean to remove everything that is compiled, make |
| 22 | # distclean to remove everything that is generated by the end user, | 27 | # distclean to remove everything that is generated by the end user, |
| @@ -111,8 +116,12 @@ maintainer-clean: distclean | @@ -111,8 +116,12 @@ maintainer-clean: distclean | ||
| 111 | $(RM) autofiles.zip | 116 | $(RM) autofiles.zip |
| 112 | 117 | ||
| 113 | .PHONY: $(TEST_TARGETS) | 118 | .PHONY: $(TEST_TARGETS) |
| 119 | + | ||
| 120 | +NO_REBUILD ?= | ||
| 121 | +ifneq ($(NO_REBUILD),1) | ||
| 114 | $(foreach B,$(TEST_ITEMS),$(eval \ | 122 | $(foreach B,$(TEST_ITEMS),$(eval \ |
| 115 | check_$(B): $(TARGETS_$(B)))) | 123 | check_$(B): $(TARGETS_$(B)))) |
| 124 | +endif | ||
| 116 | 125 | ||
| 117 | .PHONY: $(foreach B,$(BUILD_ITEMS),build_$(B)) | 126 | .PHONY: $(foreach B,$(BUILD_ITEMS),build_$(B)) |
| 118 | $(foreach B,$(BUILD_ITEMS),$(eval \ | 127 | $(foreach B,$(BUILD_ITEMS),$(eval \ |
README.maintainer
| 1 | Release Reminders | 1 | Release Reminders |
| 2 | ================= | 2 | ================= |
| 3 | 3 | ||
| 4 | + * Test for binary compatility. The easiest way to do this is to check | ||
| 5 | + out the last release, run the test suite, check out the new | ||
| 6 | + release, run make build_libqpdf, check out the old release, and run | ||
| 7 | + make check NO_REBUILD=1. | ||
| 8 | + | ||
| 4 | * When making a release, always remember to run large file tests and | 9 | * When making a release, always remember to run large file tests and |
| 5 | image comparison tests (--enable-test-compare-images | 10 | image comparison tests (--enable-test-compare-images |
| 6 | --with-large-file-test-path=/path). For a major release, consider | 11 | --with-large-file-test-path=/path). For a major release, consider |
TODO
| @@ -55,9 +55,6 @@ General | @@ -55,9 +55,6 @@ General | ||
| 55 | supported for the toolchains that support the install target | 55 | supported for the toolchains that support the install target |
| 56 | (libtool). | 56 | (libtool). |
| 57 | 57 | ||
| 58 | - * Implement automated testing for binary compatibility and add to | ||
| 59 | - release checklist. | ||
| 60 | - | ||
| 61 | * Figure out how to find Visual Studio in Windows registry and see if | 58 | * Figure out how to find Visual Studio in Windows registry and see if |
| 62 | I can get it to work with make so I can simplify creation of | 59 | I can get it to work with make so I can simplify creation of |
| 63 | Windows releases. | 60 | Windows releases. |