aboutsummaryrefslogtreecommitdiff
path: root/t/t5602-clone-remote-exec.sh
diff options
context:
space:
mode:
authorDavid Tran <unsignedzero@gmail.com>2014-03-18 18:54:05 +0000
committerJunio C Hamano <gitster@pobox.com>2014-03-19 12:55:57 -0700
commit512477b175288a429aaf4071dc9fe94f17f0e4ee (patch)
tree972f6fa1820571ca7bd2e257f020dd1e1caacb7e /t/t5602-clone-remote-exec.sh
parent5f95c9f850b19b368c43ae399cc831b17a26a5ac (diff)
downloadgit-512477b175288a429aaf4071dc9fe94f17f0e4ee.tar.gz
git-512477b175288a429aaf4071dc9fe94f17f0e4ee.tar.xz
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/t5602-clone-remote-exec.sh')
-rwxr-xr-xt/t5602-clone-remote-exec.sh13
1 files changed, 3 insertions, 10 deletions
diff --git a/t/t5602-clone-remote-exec.sh b/t/t5602-clone-remote-exec.sh
index 3f353d99e..cbcceab9d 100755
--- a/t/t5602-clone-remote-exec.sh
+++ b/t/t5602-clone-remote-exec.sh
@@ -12,21 +12,14 @@ test_expect_success setup '
'
test_expect_success 'clone calls git upload-pack unqualified with no -u option' '
- (
- GIT_SSH=./not_ssh &&
- export GIT_SSH &&
- test_must_fail git clone localhost:/path/to/repo junk
- ) &&
+ test_must_fail env GIT_SSH=./not_ssh git clone localhost:/path/to/repo junk &&
echo "localhost git-upload-pack '\''/path/to/repo'\''" >expected &&
test_cmp expected not_ssh_output
'
test_expect_success 'clone calls specified git upload-pack with -u option' '
- (
- GIT_SSH=./not_ssh &&
- export GIT_SSH &&
- test_must_fail git clone -u ./something/bin/git-upload-pack localhost:/path/to/repo junk
- ) &&
+ test_must_fail env GIT_SSH=./not_ssh \
+ git clone -u ./something/bin/git-upload-pack localhost:/path/to/repo junk &&
echo "localhost ./something/bin/git-upload-pack '\''/path/to/repo'\''" >expected &&
test_cmp expected not_ssh_output
'