threads / patch / 13044

patchKill bashizm in t/t3200-branch.sh and t/t7201-co.sh.

Subject: [PATCH] Kill bashizm in t/t3200-branch.sh and t/t7201-co.sh.

## tl;dr

3 messages between Apr 10, 2008 and Apr 10, 2008. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

Adam Golebiowski· Apr 10, 2008, 07:25 UTC · lore

On systems with /bin/sh being different than /bin/bash, make test fails due to some bash-specific constructs. This patch makes it possible to run the test-suite systems with on /bin/sh pointing to /bin/ksh.

Signed-off-by: Adam Golebiowski <adamg@pld-linux.org>
---
 t/t3200-branch.sh |    2 +-
 t/t7201-co.sh     |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Show changes to 2 files +2 −2

t/t3200-branch.sh, t/t7201-co.sh

diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index cb5f7a4..e8ff82f 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -200,7 +200,7 @@ test_expect_success \
 
 test_expect_success \
     'branch from non-branch HEAD w/--track causes failure' \
-    '!(git branch --track my10 HEAD^)'
+    '! git branch --track my10 HEAD^'
 
 # Keep this test last, as it changes the current branch
 cat >expect <<EOF
diff --git a/t/t7201-co.sh b/t/t7201-co.sh
index 3111baa..51a9928 100755
--- a/t/t7201-co.sh
+++ b/t/t7201-co.sh
@@ -335,6 +335,6 @@ test_expect_success \
     git checkout -b delete-me master &&
     rm .git/refs/heads/delete-me &&
     test refs/heads/delete-me = "$(git symbolic-ref HEAD)" &&
-    !(git checkout --track -b track)'
+    ! git checkout --track -b track'
 
 test_done
-- 
1.5.4.5


-- 
 http://www.mysza.eu.org/ | Everybody needs someone sure, someone true,
   PLD Linux developer    | Everybody needs some solid rock, I know I do.
Jeff King· Apr 10, 2008, 08:11 UTC · re: Adam Golebiowski · lore

Re: [PATCH] Kill bashizm in t/t3200-branch.sh and t/t7201-co.sh.

On Thu, Apr 10, 2008 at 09:25:00AM +0200, Adam Golebiowski wrote:
> -    '!(git branch --track my10 HEAD^)'
> +    '! git branch --track my10 HEAD^'

These should probably be using the new test_must_fail instead of '!' anyway.

-Peff
Junio C Hamano· Apr 10, 2008, 08:34 UTC · re: Adam Golebiowski · lore

Re: [PATCH] Kill bashizm in t/t3200-branch.sh and t/t7201-co.sh.

Adam Golebiowski <adamg@pld-linux.org> writes:
Show 20 quoted lines
> On systems with /bin/sh being different than /bin/bash, make test fails due
> to some bash-specific constructs. This patch makes it possible to run the
> test-suite systems with on /bin/sh pointing to /bin/ksh.
>
> Signed-off-by: Adam Golebiowski <adamg@pld-linux.org>
> ---
>  t/t3200-branch.sh |    2 +-
>  t/t7201-co.sh     |    2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
> index cb5f7a4..e8ff82f 100755
> --- a/t/t3200-branch.sh
> +++ b/t/t3200-branch.sh
> @@ -200,7 +200,7 @@ test_expect_success \
>  
>  test_expect_success \
>      'branch from non-branch HEAD w/--track causes failure' \
> -    '!(git branch --track my10 HEAD^)'
> +    '! git branch --track my10 HEAD^'

I do not think you need a subshell for this particular test, so your change would not be making anything worse, but I do not see a point.

It is a plain vanilla POSIX shell construct; "! ( compound_list )" is not a bash-ism at all.

http://www.opengroup.org/onlinepubs/000095399/utilities/xcu_chap02.html#tag_02_10
Show 10 quoted lines
> diff --git a/t/t7201-co.sh b/t/t7201-co.sh
> index 3111baa..51a9928 100755
> --- a/t/t7201-co.sh
> +++ b/t/t7201-co.sh
> @@ -335,6 +335,6 @@ test_expect_success \
>      git checkout -b delete-me master &&
>      rm .git/refs/heads/delete-me &&
>      test refs/heads/delete-me = "$(git symbolic-ref HEAD)" &&
> -    !(git checkout --track -b track)'
> +    ! git checkout --track -b track'
Same comments apply.

Having said that, as both of these tests are trying to make sure that the command fails gracefully (iow, say "failure" and refuse, instead of barfing and dumping core), they could probably use test_must_fail, like this:

     git checkout -b delete-me master &&
     rm .git/refs/heads/delete-me &&
     test refs/heads/delete-me = "$(git symbolic-ref HEAD)" &&
-    !(git checkout --track -b track)'
+    test_must_fail git checkout --track -b track'

← back to recent threads