t6046/t9833: fix use of "VAR=VAL cmd" with a shell function

Unlike "FOO=bar cmd" one-shot environment variable assignments which exist only for the invocation of 'cmd', those assigned by "FOO=bar shell_func" exist within the running shell and continue to do so until the process exits (or are explicitly unset). It is unlikely that this behavior was intended by the test author. In these particular tests, the "FOO=bar shell_func" invocations are already in subshells, so the assignments don't last too long, don't appear to harm subsequent commands in the same subshells, and don't affect other tests in the same scripts, however, the usage is nevertheless misleading and poor practice, so fix the tests to assign and export the environment variables in the usual fashion. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Eric Sunshine committed Jul 13, 2018 at 01:52 UTC 079b087c8eaf8119c4b159598e7b6965c1ca3fe9
2 files changed +6 -2
t/t6046-merge-skip-unneeded-updates.sh
+3 -1
@@ -366,7 +366,9 @@ test_expect_success '2c-check: Modify b & add c VS rename b->c' '
366
367 git checkout A^0 &&
368
369 - GIT_MERGE_VERBOSITY=3 test_must_fail git merge -s recursive B^0 >out 2>err &&
369 + GIT_MERGE_VERBOSITY=3 &&
370 + export GIT_MERGE_VERBOSITY &&
371 + test_must_fail git merge -s recursive B^0 >out 2>err &&
372
373 test_i18ngrep "CONFLICT (rename/add): Rename b->c" out &&
374 test_i18ngrep ! "Skipped c" out &&
t/t9833-errors.sh
+3 -1
@@ -26,7 +26,9 @@ test_expect_success 'error handling' '
26 ) &&
27 p4 passwd -P newpassword &&
28 (
29 - P4PASSWD=badpassword test_must_fail git p4 clone //depot/foo 2>errmsg &&
29 + P4PASSWD=badpassword &&
30 + export P4PASSWD &&
31 + test_must_fail git p4 clone //depot/foo 2>errmsg &&
32 grep -q "failure accessing depot.*P4PASSWD" errmsg
33 )
34 '