diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-11-06 13:11:26 +0900 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-11-06 13:11:26 +0900 |
commit | 51bb4d62a06b0313dd3e4610da8af1bbf9497894 (patch) | |
tree | 2061a59bce34d6eb4f5bad2c2b7ae8523bad9e29 /t | |
parent | Merge branch 'js/submodule-in-excluded' (diff) | |
parent | t0000: check whether the shell supports the "local" keyword (diff) | |
download | tgif-51bb4d62a06b0313dd3e4610da8af1bbf9497894.tar.xz |
Merge branch 'mh/test-local-canary'
We try to see if somebody runs our test suite with a shell that
does not support "local" like bash/dash does.
* mh/test-local-canary:
t0000: check whether the shell supports the "local" keyword
Diffstat (limited to 't')
-rwxr-xr-x | t/t0000-basic.sh | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh index 1aa5093f36..7fd87dd544 100755 --- a/t/t0000-basic.sh +++ b/t/t0000-basic.sh @@ -20,6 +20,31 @@ modification *should* take notice and update the test vectors here. . ./test-lib.sh +try_local_x () { + local x="local" && + echo "$x" +} + +# This test is an experiment to check whether any Git users are using +# Shells that don't support the "local" keyword. "local" is not +# POSIX-standard, but it is very widely supported by POSIX-compliant +# shells, and if it doesn't cause problems for people, we would like +# to be able to use it in Git code. +# +# For now, this is the only test that requires "local". If your shell +# fails this test, you can ignore the failure, but please report the +# problem to the Git mailing list <git@vger.kernel.org>, as it might +# convince us to continue avoiding the use of "local". +test_expect_success 'verify that the running shell supports "local"' ' + x="notlocal" && + echo "local" >expected1 && + try_local_x >actual1 && + test_cmp expected1 actual1 && + echo "notlocal" >expected2 && + echo "$x" >actual2 && + test_cmp expected2 actual2 +' + ################################################################ # git init has been done in an empty repository. # make sure it is empty. |