From 5fb9b8b4a685ee2767a2e8a63e11ba26b77a1125 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Wed, 12 Aug 2026 12:11:46 +0200 Subject: [PATCH] t7900: adapt some tests to use a throwaway repository Many of the tests in t7900 operate inside the main trash repository that's set up by default by our test suite. This is overall quite fragile as we're exercising repository maintenance in those tests, and maintenance is of course intricately tied towards the on-disk state of a repository. Consequently, the tests can easily impact one another. Furthermore, in the next commit we'll have to modify the environment in a handful of those tests. As tests don't run in a subshell, doing so would impact all subsequent tests by default, as well. Adapt exactly those tests to use a throwaway repository. This makes the tests more neatly self-contained and allows us to trivially modify the environment in the next commit. Note that we adapt calls to `test_config ()` to use git-config(1) instead. This is because on the one hand we don't need the auto-revert logic of `test_config ()` as we're using a throwaway repository anyway. On the other hand it's not possible to use `test_config ()` as it uses `test_when_finished ()`, which errors out when we run it in a subshell. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- t/t7900-maintenance.sh | 70 ++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 27 deletions(-) diff --git a/t/t7900-maintenance.sh b/t/t7900-maintenance.sh index d7f82e1bec..8b5614cf59 100755 --- a/t/t7900-maintenance.sh +++ b/t/t7900-maintenance.sh @@ -61,41 +61,57 @@ test_expect_success 'run [--auto|--quiet] with gc strategy' ' ' test_expect_success 'maintenance.auto config option' ' - GIT_TRACE2_EVENT="$(pwd)/default" git commit --quiet --allow-empty -m 1 && - test_subcommand git maintenance run --auto --quiet --detach