git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] test-lib: fix non-functioning GIT_TEST_MAINT_SCHEDULER fallback

From
ESEric Sunshine <ericsunshine@charter.net>
Date
Mar 29, 2024, 22:27 UTC
Message-ID
<20240329222703.9343-1-ericsunshine@charter.net>
In-Reply-To
<xmqqmsqhsvwk.fsf@gitster.g>
From: Eric Sunshine <sunshine@sunshineco.com>

When environment variable GIT_TEST_MAINT_SCHEDULER is set, `git maintenance` invokes the command specified as the variable's value rather than invoking the actual underlying platform-specific scheduler management command. By setting GIT_TEST_MAINT_SCHEDULER to some suitable value, test authors can therefore validate behavior of "destructive" `git maintenance` commands without having to worry about clobbering the user's own local scheduler configuration.

In order to protect an absent-minded test author from forgetting to set GIT_TEST_MAINT_SCHEDULER in the local test script (and thus clobbering his or her own scheduler configuration), t/test-lib.sh assigns an "immediately error-out" value to GIT_TEST_MAINT_SCHEDULER by default which should ensure that the problem will be caught and reported before any damage can be done to the configuration of the person running the tests.

Unfortunately, however, t/test-lib.sh neglects to export GIT_TEST_MAINT_SCHEDULER, which renders the default "error-out" assignment worthles. Fix this by exporting the variable as originally intended.

Reported-by: Junio C Hamano <gitster@pobox.com>
Signed-of-by: Eric Sunshine <sunshine@sunshineco.com>
---

This is a replacement for Junio's [1]. That attempt made it easier for a test author to shoot him or herself in the foot. This replacement patch instead fixes the foot-shooting guard.

[1]: https://lore.kernel.org/git/xmqqmsqhsvwk.fsf@gitster.g/
 t/test-lib.sh | 1 +
 1 file changed, 1 insertion(+)
diff --git a/t/test-lib.sh b/t/test-lib.sh
index c8af8dab79..79d3e0e7d9 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1962,6 +1962,7 @@ test_lazy_prereq DEFAULT_REPO_FORMAT '
 # Tests that verify the scheduler integration must set this locally
 # to avoid errors.
 GIT_TEST_MAINT_SCHEDULER="none:exit 1"
+export GIT_TEST_MAINT_SCHEDULER
 
 # Does this platform support `git fsmonitor--daemon`
 #
-- 
2.44.0
Previous: Junio C HamanoNext: Eric Sunshine
Message 4 of 5 in “do not set GIT_TEST_MAINT_SCHEDULER where it does not matter”
  1. do not set GIT_TEST_MAINT_SCHEDULER where it does not matterJunio C Hamano, Mar 29, 2024
  2. Eric SunshineMar 29, 2024
  3. Junio C HamanoMar 29, 2024
  4. test-lib: fix non-functioning GIT_TEST_MAINT_SCHEDULER fallbackEric Sunshine, Mar 29, 2024
  5. Eric SunshineMar 31, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.