From: Pete Wyckoff <pw@padd.com>
To: Stefano Lattarini <stefano.lattarini@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Luke Diamand <luke@diamand.org>, Chris Li <git@chrisli.org>
Subject: Re: [PATCH 1/6] git-p4 tests: refactor and cleanup
Date: Sun, 16 Oct 2011 10:35:33 -0400 [thread overview]
Message-ID: <20111016143533.GA22144@arf.padd.com> (raw)
In-Reply-To: <201110161154.11898.stefano.lattarini@gmail.com>
stefano.lattarini@gmail.com 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@padd.com>
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@padd.com>
---
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
next prev parent reply other threads:[~2011-10-16 14:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-15 15:53 [PATCH v2 0/6] git-p4 tests, filetypes, shell metacharacters Pete Wyckoff
2011-10-15 15:55 ` [PATCH 1/6] git-p4 tests: refactor and cleanup Pete Wyckoff
2011-10-16 9:38 ` Stefano Lattarini
2011-10-16 9:54 ` Stefano Lattarini
2011-10-16 14:35 ` Pete Wyckoff [this message]
2011-10-15 15:56 ` [PATCH 2/6] git-p4: handle utf16 filetype properly Pete Wyckoff
2011-10-16 9:52 ` Stefano Lattarini
2011-10-16 14:38 ` Pete Wyckoff
2011-10-15 15:57 ` [PATCH 3/6] git-p4: recognize all p4 filetypes Pete Wyckoff
2011-10-15 15:59 ` [PATCH 4/6] git-p4: stop ignoring apple filetype Pete Wyckoff
2011-10-15 16:00 ` [PATCH 5/6] git-p4: keyword flattening fixes Pete Wyckoff
2011-10-15 16:02 ` [PATCH 6/6] git-p4: handle files with shell metacharacters Pete Wyckoff
2011-10-15 20:00 ` [PATCH v2 0/6] git-p4 tests, filetypes, " Luke Diamand
-- strict thread matches above, loose matches on Subject: below --
2011-10-16 14:42 [PATCH v3 " Pete Wyckoff
2011-10-16 14:43 ` [PATCH 1/6] git-p4 tests: refactor and cleanup Pete Wyckoff
2011-10-16 22:48 ` Pete Wyckoff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111016143533.GA22144@arf.padd.com \
--to=pw@padd.com \
--cc=git@chrisli.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=luke@diamand.org \
--cc=stefano.lattarini@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.