This goes on top Jeff's "cat-file: handle streaming failures consistently" and implements the test mode I suggested in https://public-inbox.org/git/877ehzksjd.fsf@xxxxxxxxxxxxxxxxxxx/ In the process I didn't find any other bugs than the 2.12..2.19 regression which is already fixed, but as noted in 3/3 I think it's worth it to stress test fsck like this. I'll be adding this to my regular build. Ævar Arnfjörð Bjarmason (3): tests: add a "env-bool" helper to test-tool tests: mark those tests where "git fsck" fails at the end tests: add a special test setup that runs "git fsck" before exiting Makefile | 1 + t/README | 5 ++++ t/helper/test-env-bool.c | 9 +++++++ t/helper/test-tool.c | 1 + t/helper/test-tool.h | 1 + t/t0000-basic.sh | 26 +++++++++++++++++++ t/t1006-cat-file.sh | 5 ++++ t/t1305-config-include.sh | 4 +++ t/t1404-update-ref-errors.sh | 4 +++ t/t1410-reflog.sh | 4 +++ t/t1515-rev-parse-outside-repo.sh | 4 +++ t/t3008-ls-files-lazy-init-name-hash.sh | 4 +++ t/t3103-ls-tree-misc.sh | 6 +++++ t/t3430-rebase-merges.sh | 6 +++++ t/t4046-diff-unmerged.sh | 4 +++ t/t4058-diff-duplicates.sh | 5 ++++ t/t4212-log-corrupt.sh | 6 +++++ t/t5000-tar-tree.sh | 5 ++++ t/t5300-pack-object.sh | 5 ++++ t/t5303-pack-corruption-resilience.sh | 8 ++++++ t/t5307-pack-missing-commit.sh | 7 ++++++ t/t5312-prune-corruption.sh | 4 +++ t/t5504-fetch-receive-strict.sh | 4 +++ t/t5601-clone.sh | 8 ++++++ t/t6007-rev-list-cherry-pick-file.sh | 4 +++ t/t6011-rev-list-with-bad-commit.sh | 7 ++++++ t/t6030-bisect-porcelain.sh | 6 +++++ t/t7007-show.sh | 6 +++++ t/t7106-reset-unborn-branch.sh | 4 +++ t/t7415-submodule-names.sh | 4 +++ t/t7416-submodule-dash-url.sh | 4 +++ t/t7417-submodule-path-url.sh | 4 +++ t/t7509-commit-authorship.sh | 4 +++ t/t8003-blame-corner-cases.sh | 4 +++ t/t9130-git-svn-authors-file.sh | 7 ++++++ t/test-lib-functions.sh | 2 ++ t/test-lib.sh | 33 +++++++++++++++++++++++++ 37 files changed, 225 insertions(+) create mode 100644 t/helper/test-env-bool.c -- 2.19.1.899.g0250525e69