stefano.lattarini@xxxxxxxxx wrote on Sun, 16 Oct 2011 11:54 +0200: > OK, I have to partially correct myself here ... > > On Sunday 16 October 2011, Stefano Lattarini wrote: > > > > This won't work with older versions of the Almquist shell (without > > prepending `testid' and `git_p4_test_start' with a `$', that is): > > > > $ ash-0.5.2 -c 'a=4; b=2; echo $(( 1 + (a - b) ))' > > ash-0.5.2: arith: syntax error: " 1 + (a - b) " > > > OTOH, this behaviour seems in contrast with the POSIX standard, which > says that: > > ``If the shell variable x contains a value that forms a valid integer > constant, then the arithmetic expansions "$((x))" and "$(($x))" shall > return the same value.'' > > Reference: > <http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_04> > > So, since the git testsuite explicitly requires a POSIX shell, there is > probably nothing to fix here. > > Sorry for the noise, > Stefano No, this is a good catch. The use of $x inside arithmetic expansions is indeed called out in the CodingGuidlines. Thanks for the careful read. I'm going to resend the series, since it's not in next yet. Here's the patch for this bit, fyi. -- Pete -------------------8<------------------- >From 53d5ad0761cda36da97bf1498ab1dc1a80a52772 Mon Sep 17 00:00:00 2001 From: Pete Wyckoff <pw@xxxxxxxx> Date: Sun, 16 Oct 2011 09:59:05 -0400 Subject: [PATCH] git-p4 tests: use explicit $ for variables in $(( .. )) Signed-off-by: Pete Wyckoff <pw@xxxxxxxx> --- t/lib-git-p4.sh | 2 +- t/t9800-git-p4.sh | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh index 412adec..a870f9a 100644 --- a/t/lib-git-p4.sh +++ b/t/lib-git-p4.sh @@ -22,7 +22,7 @@ GITP4="$GIT_BUILD_DIR/contrib/fast-import/git-p4" # same tests and has chosen the same ports. testid=${this_test#t} git_p4_test_start=9800 -P4DPORT=$((10669 + (testid - git_p4_test_start))) +P4DPORT=$((10669 + ($testid - $git_p4_test_start))) export P4PORT=localhost:$P4DPORT export P4CLIENT=client diff --git a/t/t9800-git-p4.sh b/t/t9800-git-p4.sh index 296aee9..8fbed66 100755 --- a/t/t9800-git-p4.sh +++ b/t/t9800-git-p4.sh @@ -293,7 +293,7 @@ test_expect_success 'detect renames' ' git diff-tree -r -M HEAD && level=$(git diff-tree -r -M HEAD | sed 1d | cut -f1 | cut -d" " -f5 | sed "s/R0*//") && test -n "$level" && test "$level" -gt 0 && test "$level" -lt 98 && - git config git-p4.detectRenames $((level + 2)) && + git config git-p4.detectRenames $(($level + 2)) && "$GITP4" submit && p4 filelog //depot/file6 && p4 filelog //depot/file6 | test_must_fail grep -q "branch from" && @@ -305,7 +305,7 @@ test_expect_success 'detect renames' ' git diff-tree -r -M HEAD && level=$(git diff-tree -r -M HEAD | sed 1d | cut -f1 | cut -d" " -f5 | sed "s/R0*//") && test -n "$level" && test "$level" -gt 2 && test "$level" -lt 100 && - git config git-p4.detectRenames $((level - 2)) && + git config git-p4.detectRenames $(($level - 2)) && "$GITP4" submit && p4 filelog //depot/file7 && p4 filelog //depot/file7 | grep -q "branch from //depot/file6" @@ -376,7 +376,7 @@ test_expect_success 'detect copies' ' test -n "$level" && test "$level" -gt 0 && test "$level" -lt 98 && src=$(git diff-tree -r -C --find-copies-harder HEAD | sed 1d | cut -f2) && test "$src" = file10 && - git config git-p4.detectCopies $((level + 2)) && + git config git-p4.detectCopies $(($level + 2)) && "$GITP4" submit && p4 filelog //depot/file12 && p4 filelog //depot/file12 | test_must_fail grep -q "branch from" && @@ -390,7 +390,7 @@ test_expect_success 'detect copies' ' test -n "$level" && test "$level" -gt 2 && test "$level" -lt 100 && src=$(git diff-tree -r -C --find-copies-harder HEAD | sed 1d | cut -f2) && test "$src" = file10 && - git config git-p4.detectCopies $((level - 2)) && + git config git-p4.detectCopies $(($level - 2)) && "$GITP4" submit && p4 filelog //depot/file13 && p4 filelog //depot/file13 | grep -q "branch from //depot/file" -- 1.7.7 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html