diff options
author | SZEDER Gábor <szeder.dev@gmail.com> | 2019-03-13 12:24:19 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-03-14 03:34:40 (GMT) |
commit | 74ec8cf6747a60885e15d4c36e6b47bc37764748 (patch) | |
tree | bac4fa7aff51671fde780b101f6e7c1cb046c1ff /t/t9811-git-p4-label-import.sh | |
parent | 3fae7ad96d89e670a75b1335824c8ad3a92c8db0 (diff) | |
download | git-74ec8cf6747a60885e15d4c36e6b47bc37764748.zip git-74ec8cf6747a60885e15d4c36e6b47bc37764748.tar.gz git-74ec8cf6747a60885e15d4c36e6b47bc37764748.tar.bz2 |
t9811-git-p4-label-import: fix pipeline negation
In 't9811-git-p4-label-import.sh' the test 'tag that cannot be
exported' runs
!(p4 labels | grep GIT_TAG_ON_A_BRANCH)
to check that the given string is not printed by 'p4 labels'. This is
problematic, because according to POSIX [1]:
"If the pipeline begins with the reserved word ! and command1 is a
subshell command, the application shall ensure that the ( operator
at the beginning of command1 is separated from the ! by one or more
<blank> characters. The behavior of the reserved word ! immediately
followed by the ( operator is unspecified."
While most common shells still interpret this '!' as "negate the exit
code of the last command in the pipeline", 'mksh/lksh' don't and
interpret it as a negative file name pattern instead. As a result
they attempt to run a command made up of the pathnames in the current
directory (it contains a single directory called 'main'), which, of
course, fails the test.
We could fix it simply by adding a space between the '!' and '(', but
instead let's fix it by removing the unnecessary subshell.
[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_02
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9811-git-p4-label-import.sh')
-rwxr-xr-x | t/t9811-git-p4-label-import.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/t/t9811-git-p4-label-import.sh b/t/t9811-git-p4-label-import.sh index b70e81c..c1446f2 100755 --- a/t/t9811-git-p4-label-import.sh +++ b/t/t9811-git-p4-label-import.sh @@ -191,7 +191,7 @@ test_expect_success 'tag that cannot be exported' ' ( cd "$cli" && p4 sync ... && - !(p4 labels | grep GIT_TAG_ON_A_BRANCH) + ! p4 labels | grep GIT_TAG_ON_A_BRANCH ) ' |