[PATCH] t8001, t8002: fix blame -L :literal test on NetBSD

2013-08-05 Thread René Scharfe
Sub-test 42 of t8001 and t8002 (blame -L :literal) fails on NetBSD
with the following verbose output:

git annotate  -L:main hello.c
Author F (expected 4, attributed 3) bad
Author G (expected 1, attributed 1) good

This is not caused by different behaviour of git blame or annotate on
that platform, but by different test input, in turn caused by a sed
command that forgets to add a newline on NetBSD.  Here's the diff of the
commit that adds goodbye to hello.c, for Linux:

@@ -1,4 +1,5 @@
 int main(int argc, const char *argv[])
 {
puts(hello);
+   puts(goodbye);
 }

We see that it adds an extra TAB, but that's not a problem.  Here's the
same on NetBSD:

@@ -1,4 +1,4 @@
 int main(int argc, const char *argv[])
 {
puts(hello);
-}
+   puts(goodbye);}

It also adds an extra TAB, but it is missing the newline character
after the semicolon.

The following patch gets rid of the extra TAB at the beginning, but
more importantly adds the missing newline at the end in a (hopefully)
portable way, mentioned in http://sed.sourceforge.net/sedfaq4.html.
The diff becomes this, on both Linux and NetBSD:

@@ -1,4 +1,5 @@
 int main(int argc, const char *argv[])
 {
puts(hello);
+   puts(goodbye);
 }

Signed-off-by: Rene Scharfe l@web.de
---
This regression was introduced by 5a9830cb (t8001/t8002 (blame):
add blame -L :funcname tests).

 t/annotate-tests.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
index 0bfee00..d4e7f47 100644
--- a/t/annotate-tests.sh
+++ b/t/annotate-tests.sh
@@ -245,8 +245,8 @@ test_expect_success 'setup -L :regex' '
git commit -m hello 
 
mv hello.c hello.orig 
-   sed -e /}/i\\
-   Qputs(\goodbye\); hello.orig | tr Q \\t hello.c 
+   sed -e /}/ {x; s/$/Qputs(\goodbye\);/; G;} hello.orig |
+   tr Q \\t hello.c 
GIT_AUTHOR_NAME=G GIT_AUTHOR_EMAIL=g...@test.git \
git commit -a -m goodbye 
 
-- 
1.8.1.5
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] t8001, t8002: fix blame -L :literal test on NetBSD

2013-08-05 Thread Eric Sunshine
On Mon, Aug 5, 2013 at 11:21 AM, René Scharfe l@web.de wrote:
 Sub-test 42 of t8001 and t8002 (blame -L :literal) fails on NetBSD
 with the following verbose output:

 git annotate  -L:main hello.c
 Author F (expected 4, attributed 3) bad
 Author G (expected 1, attributed 1) good

 This is not caused by different behaviour of git blame or annotate on
 that platform, but by different test input, in turn caused by a sed
 command that forgets to add a newline on NetBSD.  Here's the diff of the
 commit that adds goodbye to hello.c, for Linux:

 @@ -1,4 +1,5 @@
  int main(int argc, const char *argv[])
  {
 puts(hello);
 +   puts(goodbye);
  }

 We see that it adds an extra TAB,

Curious. On Mac OS X, there is only a single tab.

 but that's not a problem.  Here's the
 same on NetBSD:

 @@ -1,4 +1,4 @@
  int main(int argc, const char *argv[])
  {
 puts(hello);
 -}
 +   puts(goodbye);}

 It also adds an extra TAB, but it is missing the newline character
 after the semicolon.

 The following patch gets rid of the extra TAB at the beginning, but
 more importantly adds the missing newline at the end in a (hopefully)
 portable way, mentioned in http://sed.sourceforge.net/sedfaq4.html.

Tested on Mac OS X. Works correctly.

 The diff becomes this, on both Linux and NetBSD:

 @@ -1,4 +1,5 @@
  int main(int argc, const char *argv[])
  {
 puts(hello);
 +   puts(goodbye);
  }

 Signed-off-by: Rene Scharfe l@web.de
 ---
 This regression was introduced by 5a9830cb (t8001/t8002 (blame):
 add blame -L :funcname tests).

  t/annotate-tests.sh | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

 diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
 index 0bfee00..d4e7f47 100644
 --- a/t/annotate-tests.sh
 +++ b/t/annotate-tests.sh
 @@ -245,8 +245,8 @@ test_expect_success 'setup -L :regex' '
 git commit -m hello 

 mv hello.c hello.orig 
 -   sed -e /}/i\\
 -   Qputs(\goodbye\); hello.orig | tr Q \\t hello.c 
 +   sed -e /}/ {x; s/$/Qputs(\goodbye\);/; G;} hello.orig |
 +   tr Q \\t hello.c 

Thanks.

Acked-by: Eric Sunshine sunsh...@sunshineco.com

 GIT_AUTHOR_NAME=G GIT_AUTHOR_EMAIL=g...@test.git \
 git commit -a -m goodbye 
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] t8001, t8002: fix blame -L :literal test on NetBSD

2013-08-05 Thread Junio C Hamano
Thanks.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html