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

[PATCH 1/3] t0000: set TEST_OUTPUT_DIRECTORY for sub-tests

From
Jeff King <peff@peff.net>
Date
Dec 28, 2013, 09:29 UTC
Message-ID
<20131228092915.GA21109@sigill.intra.peff.net>
In-Reply-To
<20131228092731.GA26337@sigill.intra.peff.net>

Once upon a time, the test-lib library would create trash directories in the current working directory, unless we were explicitly told to put it elsewhere via --root. As a result, t0000 created the sub-test trash directories inside its own trash directory.

However, we noticed that this did not cover all cases, since we would need to respect $TEST_OUTPUT_DIRECTORY even if --root is not given (or is relative). Commit 38b074d fixed this to consistently use the full path.

As a result, t0000's sub-tests are now created in git's original test output directory rather than in our trash directory. Furthermore, since some of the sub-tests simulate failures, the trash directories do not get cleaned up, and the cruft is left in the t/ directory.

We could fix this by passing a new "--root=$TRASH_DIRECTORY" option to the sub-test. However, we do not want the sub-tests to write anything at all to git's directory (e.g., they should not be writing to t/test-results, either, although this is already handled by separate code). So the best solution is to simply reset $TEST_OUTPUT_DIRECTORY entirely in the sub-test, which covers this case, as well as any future ones.

Signed-off-by: Jeff King <peff@peff.net>
---
 t/t0000-basic.sh | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index 10be52b..bc4e3e2 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh
@@ -71,6 +71,8 @@ run_sub_test_lib_test () {
 		cat >>"$name.sh" &&
 		chmod +x "$name.sh" &&
 		export TEST_DIRECTORY &&
+		TEST_OUTPUT_DIRECTORY=$(pwd) &&
+		export TEST_OUTPUT_DIRECTORY &&
 		./"$name.sh" "$@" >out 2>err
 	)
 }
-- 
1.8.5.1.399.g900e7cd
Previous: Jeff KingNext: Jonathan Nieder
Message 2 of 18 in “t0000 cleanups”
  1. 0/3 t0000 cleanupsJeff King, Dec 28, 2013
  2. 1/3 t0000: set TEST_OUTPUT_DIRECTORY for sub-testsJeff King, Dec 28, 2013
  3. Jonathan NiederDec 28, 2013
  4. Jonathan NiederDec 28, 2013
  5. Jeff KingDec 29, 2013
  6. 2/3 t0000: simplify HARNESS_ACTIVE hackJeff King, Dec 28, 2013
  7. Jonathan NiederDec 28, 2013
  8. 3/3 t0000: drop "known breakage" testJeff King, Dec 28, 2013
  9. Jonathan NiederDec 28, 2013
  10. Jeff KingDec 29, 2013
  11. Jonathan NiederDec 28, 2013
  12. Junio C HamanoDec 30, 2013
  13. Jonathan NiederDec 30, 2013
  14. Junio C HamanoDec 30, 2013
  15. Jeff KingDec 31, 2013
  16. Jonathan NiederJan 2, 2014
  17. Junio C HamanoJan 2, 2014
  18. Jeff KingJan 3, 2014

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.