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

[PATCH] t0017: clarify dubious test set-up

From
Junio C Hamano <gitster@pobox.com>
Date
May 15, 2024, 19:32 UTC
Message-ID
<xmqqcypmx44l.fsf@gitster.g>

1ff750b1 (tests: make GIT_TEST_GETTEXT_POISON a boolean, 2019-06-21) added this test, in which "test-tool -C" is fed a name of a directory that does not exist, and expects that it dies because of a failure to read the configuration file(s), because the configuration setting is screwed up to contain mutual inclusion loop, before it notices that the directory to chdir into does not exist and dies.

It is of dubious value to etch the current order of events, i.e., the configuration needs to be read that early (for initializing trace2 subsystem) before we even notice the lack of the directory and have a chance to fail, into stone. Indeed, if you completely compile out trace2 subsystem so that it does not even attempt to read the configuration that early, we would die with a different error message (i.e. "unable to chdir to 'cycle'") and this test will fail.

At least give a bogus argument to "test-tool -C" a name that is clearly bogus to make sure we can more easily see what is going on with plenty of comments.

We may want to remove this test altogether, instead, though.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 t/t0017-env-helper.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/t/t0017-env-helper.sh b/t/t0017-env-helper.sh
index fc14ba091c..f3a16859cc 100755
--- a/t/t0017-env-helper.sh
+++ b/t/t0017-env-helper.sh
@@ -91,9 +91,16 @@ test_expect_success 'test-tool env-helper reads config thanks to trace2' '
 		git config -l 2>err &&
 	grep "exceeded maximum include depth" err &&
 
+	# This validates that the assumption that we attempt to
+	# read the configuration and fail very early in the start-up
+	# sequence (due to trace2 subsystem), even before we notice
+	# that the directory named with "test-tool -C" does not exist
+	# and die.  It is a dubious thing to test, though.
 	test_must_fail \
 		env HOME="$(pwd)/home" GIT_TEST_ENV_HELPER=true \
-		test-tool -C cycle env-helper --type=bool --default=0 --exit-code GIT_TEST_ENV_HELPER 2>err &&
+		test-tool -C no-such-directory \
+		env-helper --type=bool --default=0 \
+		--exit-code GIT_TEST_ENV_HELPER 2>err &&
 	grep "exceeded maximum include depth" err
 '
 
-- 
2.45.1-190-g19fe900cfc
Message 1 of 1 in “t0017: clarify dubious test set-up”
  1. t0017: clarify dubious test set-upJunio C Hamano, May 15, 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.