diff options
author | David Tran <unsignedzero@gmail.com> | 2014-03-18 22:54:05 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-03-19 23:55:57 +0400 |
commit | 512477b175288a429aaf4071dc9fe94f17f0e4ee (patch) | |
tree | 972f6fa1820571ca7bd2e257f020dd1e1caacb7e /t/t5305-include-tag.sh | |
parent | 5f95c9f850b19b368c43ae399cc831b17a26a5ac (diff) |
tests: use "env" to run commands with temporary env-var settings
Ordinarily, we would say "VAR=VAL command" to execute a tested
command with environment variable(s) set only for that command.
This however does not work if 'command' is a shell function (most
notably 'test_must_fail'); the result of the assignment is retained
and affects later commands.
To avoid this, we used to assign and export environment variables
and run such a test in a subshell, like so:
(
VAR=VAL && export VAR &&
test_must_fail git command to be tested
)
But with "env" utility, we should be able to say:
test_must_fail env VAR=VAL git command to be tested
which is much shorter and easier to read.
Signed-off-by: David Tran <unsignedzero@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5305-include-tag.sh')
-rwxr-xr-x | t/t5305-include-tag.sh | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/t/t5305-include-tag.sh b/t/t5305-include-tag.sh index b061864a87..21517c70cd 100755 --- a/t/t5305-include-tag.sh +++ b/t/t5305-include-tag.sh @@ -45,9 +45,7 @@ test_expect_success 'unpack objects' ' test_expect_success 'check unpacked result (have commit, no tag)' ' git rev-list --objects $commit >list.expect && ( - GIT_DIR=clone.git && - export GIT_DIR && - test_must_fail git cat-file -e $tag && + test_must_fail env GIT_DIR=clone.git git cat-file -e $tag && git rev-list --objects $commit ) >list.actual && test_cmp list.expect list.actual |