All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Petr Onderka <gsvick@gmail.com>
Subject: [RFC/PATCH 2/2] tests: scrub environment of GIT_* variables
Date: Tue, 15 Mar 2011 05:10:45 -0500	[thread overview]
Message-ID: <20110315101045.GD3923@elie> (raw)
In-Reply-To: <20110315100846.GB3923@elie>

Variables from the inherited environment that are meaningful to git
can break tests in undesirable ways.  For example,

	GIT_PAGER=more sh t5400-send-pack.sh -v -i

hangs.  So unset all environment variables in the GIT_ namespace in
test-lib, with a few exceptions:

- GIT_TRACE* are useful for tracking down bugs exhibited by a failing
  test;

- GIT_DEBUG* are GIT_TRACE variables by another name, practically
  speaking.  They should probably be tweaked to follow the
  GIT_TRACE_foo scheme and use trace_printf machinery some time.

- GIT_USE_LOOKUP from v1.5.6-rc0~134^2~1 (sha1-lookup: more memory
  efficient search in sorted list of SHA-1, 2007-12-29) is about
  trying an alternate implementation strategy rather than changing
  semantics and it can be useful to compare performance with and
  without it set.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Thanks again.

 t/test-lib.sh |   23 +++++------------------
 1 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/t/test-lib.sh b/t/test-lib.sh
index 8893406..8aac727 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -43,29 +43,16 @@ TERM=dumb
 export LANG LC_ALL PAGER TERM TZ
 EDITOR=:
 unset VISUAL
-unset GIT_EDITOR
 unset EMAIL
-unset GIT_ALTERNATE_OBJECT_DIRECTORIES
-unset GIT_AUTHOR_DATE
+unset $(perl -e '
+	my @env = keys %ENV;
+	my @vars = grep(/^GIT_/ && !/^GIT_(TRACE|DEBUG|USE_LOOKUP)/, @env);
+	print join("\n", @vars);
+')
 GIT_AUTHOR_EMAIL=author@example.com
 GIT_AUTHOR_NAME='A U Thor'
-unset GIT_COMMITTER_DATE
 GIT_COMMITTER_EMAIL=committer@example.com
 GIT_COMMITTER_NAME='C O Mitter'
-unset GIT_DIFF_OPTS
-unset GIT_DIR
-unset GIT_WORK_TREE
-unset GIT_EXTERNAL_DIFF
-unset GIT_INDEX_FILE
-unset GIT_OBJECT_DIRECTORY
-unset GIT_CEILING_DIRECTORIES
-unset GIT_NOTES_REF
-unset GIT_NOTES_DISPLAY_REF
-unset GIT_NOTES_REWRITE_REF
-unset GIT_NOTES_REWRITE_MODE
-unset GIT_REFLOG_ACTION
-unset GIT_CHERRY_PICK_HELP
-unset GIT_QUIET
 GIT_MERGE_VERBOSITY=5
 export GIT_MERGE_VERBOSITY
 export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME
-- 
1.7.4.1

  parent reply	other threads:[~2011-03-15 10:10 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-15  6:49 [PATCH 0/3] tests: unsetting variables that influence the outcome Jonathan Nieder
2011-03-15  6:56 ` [PATCH 1/3] tests: protect against GIT_ATTR_NOGLOBAL from environment Jonathan Nieder
2011-03-15  6:56 ` [PATCH 2/3] tests: suppress global and system gitattributes Jonathan Nieder
2011-03-15  7:16   ` Jeff King
2011-03-15  9:02     ` [PATCH 1-2/3 v2 0/3] " Jonathan Nieder
2011-03-15  9:04       ` [PATCH 1/3] gitattributes: drop support for GIT_ATTR_NOGLOBAL Jonathan Nieder
2011-03-15  9:04       ` [PATCH 2/3] config: drop support for GIT_CONFIG_NOGLOBAL Jonathan Nieder
2011-03-15  9:05       ` [PATCH 3/3] tests: suppress system gitattributes Jonathan Nieder
2011-03-15  7:04 ` [PATCH 3/3] tests: scrub environment of GIT_* variables Jonathan Nieder
2011-03-15  7:37   ` Jeff King
2011-03-15 10:08     ` [RFC/PATCH 0/2] tests: stop hard-coding the list of GIT_* vars to scrub Jonathan Nieder
2011-03-15 10:09       ` [PATCH 1/2] tests: stop worrying about obsolete environment variables Jonathan Nieder
2011-03-15 10:10       ` Jonathan Nieder [this message]
2011-03-15 17:20         ` [RFC/PATCH 2/2] tests: scrub environment of GIT_* variables Junio C Hamano
2011-03-15 20:01           ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110315101045.GD3923@elie \
    --to=jrnieder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=gsvick@gmail.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.