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

[PATCH v2] tests: fix overeager scrubbing of environment variables

From
Jens Lehmann <jens.lehmann@web.de>
Date
Mar 27, 2011, 22:26 UTC
Message-ID
<4D8FB995.20001@web.de>
In-Reply-To
<20110327213756.GD25927@elie>

In commit 95a1d12e9b9f ("tests: scrub environment of GIT_* variables") all environment variables starting with "GIT_" were unset for the tests using a perl script rather than unsetting them one by one. Only three exceptions were made to make them work as before: "GIT_TRACE*", "GIT_DEBUG*" and "GIT_USE_LOOKUP".

Unfortunately some environment variables used by the test framework itself were not added to the exceptions and thus stopped working when given before the make command instead of after it. Those are:

- GIT_NOTES_TIMING_TESTS
- GIT_PATCHID_TIMING_TESTS
- GIT_PROVE_OPTS
- GIT_REMOTE_SVN_TEST_BIG_FILES
- GIT_SKIP_TESTS
- GIT_TEST*
- GIT_VALGRIND_OPTIONS
I noticed that when skipping a test the way I was used to suddenly failed:
GIT_SKIP_TESTS='t1234' GIT_TEST_OPTS='--root=/dev/shm' make -j10 test

This should work according to t/README, but didn't anymore, so let's fix that by adding them to the exception list.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
---
Am 27.03.2011 23:37, schrieb Jonathan Nieder:
Show 11 quoted lines
> Jens Lehmann wrote:
> 
>> - GIT_SKIP_TESTS
>> - GIT_TEST*
>> - GIT_PROVE_OPTS
>>
>> Let's fix that by adding them to the exception list.
>>
>> Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
> 
> Acked-by: Jonathan Nieder <jrnieder@gmail.com>

Thanks for your review! (I took the liberty to add your Ack to this updated version, please speak up if you are unhappy with anything in this v2!)

Show 6 quoted lines
> It misses a few, though:
> 
>  - GIT_REMOTE_SVN_TEST_BIG_FILES
>  - GIT_NOTES_TIMING_TESTS
>  - GIT_PATCHID_TIMING_TESTS
>  - GIT_VALGRIND_OPTIONS

Right you are, this version includes those too (but - except once for GIT_VALGRIND_OPTIONS - none of them are mentioned in t/README, that's why I managed to miss them ... maybe they should be documented there?).

> If we were starting over I suppose those would all be GIT_TEST* but
> there's something to be said for muscle memory.

Yeah, I thought the same about GIT_SKIP_TESTS when writing the first version of this patch ... ;-)

Show 7 quoted lines
>> I noticed today that skipping a test the way I was used to suddenly failed:
>>
>> GIT_SKIP_TESTS='t1234' GIT_TEST_OPTS='--root=/dev/shm' make -j10 test
>>
>> This should work according to t/README, but didn't anymore.
> 
> I would have just written that in the change description.
Yup, did that!
 t/test-lib.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 7cc9a52..f1f6d94 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -46,7 +46,7 @@ unset VISUAL
 unset EMAIL
 unset $(perl -e '
 	my @env = keys %ENV;
-	my @vars = grep(/^GIT_/ && !/^GIT_(TRACE|DEBUG|USE_LOOKUP)/, @env);
+	my @vars = grep(/^GIT_/ && !/^GIT_(TRACE|DEBUG|USE_LOOKUP|NOTES_TIMING_TESTS|PATCHID_TIMING_TESTS|PROVE_OPTS|REMOTE_SVN_TEST_BIG_FILES|SKIP_TESTS|TEST|VALGRIND_OPTIONS)/, @env);
 	print join("\n", @vars);
 ')
 GIT_AUTHOR_EMAIL=author@example.com
-- 
1.7.4.2.407.gac78c
Previous: Jeff KingNext: Jonathan Nieder
Message 5 of 10 in “tests: fix overeager scrubbing of environment variables”
  1. tests: fix overeager scrubbing of environment variablesJens Lehmann, Mar 27, 2011
  2. Jonathan NiederMar 27, 2011
  3. squash! tests: fix overeager scrubbing of environment variablesJonathan Nieder, Mar 27, 2011
  4. Jeff KingMar 28, 2011
  5. tests: fix overeager scrubbing of environment variablesJens Lehmann, Mar 27, 2011
  6. tests: use the --long-tests facility to toggle some slow testsJonathan Nieder, Mar 27, 2011
  7. Junio C HamanoMar 28, 2011
  8. tests: fix overeager scrubbing of environment variablesJens Lehmann, Mar 28, 2011
  9. Jonathan NiederMar 28, 2011
  10. Junio C HamanoMar 28, 2011

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.