diff options
| -rw-r--r-- | run-command.c | 2 | ||||
| -rwxr-xr-x | t/t5616-partial-clone.sh | 6 | ||||
| -rwxr-xr-x | t/t7900-maintenance.sh | 3 | ||||
| -rw-r--r-- | t/test-lib.sh | 4 |
4 files changed, 11 insertions, 4 deletions
diff --git a/run-command.c b/run-command.c index e3e02475cc..438a290d30 100644 --- a/run-command.c +++ b/run-command.c @@ -1828,7 +1828,7 @@ int prepare_auto_maintenance(int quiet, struct child_process *maint) */ if (repo_config_get_bool(the_repository, "maintenance.autodetach", &auto_detach) && repo_config_get_bool(the_repository, "gc.autodetach", &auto_detach)) - auto_detach = 1; + auto_detach = git_env_bool("GIT_TEST_MAINT_AUTO_DETACH", true); maint->git_cmd = 1; maint->close_object_store = 1; diff --git a/t/t5616-partial-clone.sh b/t/t5616-partial-clone.sh index 1e354e057f..d62760eb92 100755 --- a/t/t5616-partial-clone.sh +++ b/t/t5616-partial-clone.sh @@ -229,7 +229,7 @@ test_expect_success 'fetch --refetch triggers repacking' ' GIT_TRACE2_EVENT="$PWD/trace1.event" \ git -C pc1 fetch --refetch origin && - test_subcommand git maintenance run --auto --no-quiet --detach <trace1.event && + test_subcommand git maintenance run --auto --no-quiet --no-detach <trace1.event && grep \"param\":\"gc.autopacklimit\",\"value\":\"1\" trace1.event && grep \"param\":\"maintenance.incremental-repack.auto\",\"value\":\"-1\" trace1.event && @@ -238,7 +238,7 @@ test_expect_success 'fetch --refetch triggers repacking' ' -c gc.autoPackLimit=0 \ -c maintenance.incremental-repack.auto=1234 \ -C pc1 fetch --refetch origin && - test_subcommand git maintenance run --auto --no-quiet --detach <trace2.event && + test_subcommand git maintenance run --auto --no-quiet --no-detach <trace2.event && grep \"param\":\"gc.autopacklimit\",\"value\":\"0\" trace2.event && grep \"param\":\"maintenance.incremental-repack.auto\",\"value\":\"-1\" trace2.event && @@ -247,7 +247,7 @@ test_expect_success 'fetch --refetch triggers repacking' ' -c gc.autoPackLimit=1234 \ -c maintenance.incremental-repack.auto=0 \ -C pc1 fetch --refetch origin && - test_subcommand git maintenance run --auto --no-quiet --detach <trace3.event && + test_subcommand git maintenance run --auto --no-quiet --no-detach <trace3.event && grep \"param\":\"gc.autopacklimit\",\"value\":\"1\" trace3.event && grep \"param\":\"maintenance.incremental-repack.auto\",\"value\":\"0\" trace3.event ' diff --git a/t/t7900-maintenance.sh b/t/t7900-maintenance.sh index 7cc0ce57f8..fe344f47ee 100755 --- a/t/t7900-maintenance.sh +++ b/t/t7900-maintenance.sh @@ -7,6 +7,9 @@ test_description='git maintenance builtin' GIT_TEST_COMMIT_GRAPH=0 GIT_TEST_MULTI_PACK_INDEX=0 +# Ensure that auto-maintenance detaches as usual. +sane_unset GIT_TEST_MAINT_AUTO_DETACH + test_lazy_prereq XMLLINT ' xmllint --version ' diff --git a/t/test-lib.sh b/t/test-lib.sh index 0fb76f7d11..aa805a01ce 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -1947,6 +1947,10 @@ test_lazy_prereq COMPAT_HASH ' GIT_TEST_MAINT_SCHEDULER="none:exit 1" export GIT_TEST_MAINT_SCHEDULER +# Ensure that tests cannot race with background maintenance by default. +GIT_TEST_MAINT_AUTO_DETACH="false" +export GIT_TEST_MAINT_AUTO_DETACH + # Does this platform support `git fsmonitor--daemon` # test_lazy_prereq FSMONITOR_DAEMON ' |
