Code

tests: make sure input to sed is newline terminated
authorJonathan Nieder <jrnieder@gmail.com>
Tue, 29 Mar 2011 03:08:20 +0000 (22:08 -0500)
committerJonathan Nieder <jrnieder@gmail.com>
Tue, 29 Mar 2011 07:14:23 +0000 (02:14 -0500)
POSIX only requires sed to work on text files and because it does
not end with a newline, this commit's content is not a text file.
Add a newline to fix it.  Without this change, OS X sed helpfully
adds a newline to actual.message, causing t9010.13 to fail.

Reported-by: Torsten Bögershausen <tboegi@web.de>
Tested-by: Brian Gernhardt <benji@silverinsanity.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
t/t9010-svn-fe.sh

index 478c860647b78518820cd244042584131c485914..6f6175a8f7d9b0c6e6334f89ff21b74f067d6532 100755 (executable)
@@ -407,7 +407,7 @@ test_expect_success 'NUL in log message, file content, and property name' '
        OBJID
        :000000 100644 OBJID OBJID A    greeting
        EOF
-       printf "\n%s" "something with an ASCII NUL (Q)" >expect.message &&
+       printf "\n%s\n" "something with an ASCII NUL (Q)" >expect.message &&
        printf "%s\n" "helQo" >expect.hello1 &&
        printf "%s\n" "link hello" >expect.hello2 &&
        {
@@ -465,7 +465,11 @@ test_expect_success 'NUL in log message, file content, and property name' '
                git diff-tree --root --stdin |
                sed "s/$_x40/OBJID/g"
        } >actual &&
-       git cat-file commit HEAD | nul_to_q | sed -ne "/^\$/,\$ p" >actual.message &&
+       {
+               git cat-file commit HEAD | nul_to_q &&
+               echo
+       } |
+       sed -ne "/^\$/,\$ p" >actual.message &&
        git cat-file blob HEAD^:greeting | nul_to_q >actual.hello1 &&
        git cat-file blob HEAD:greeting | nul_to_q >actual.hello2 &&
        test_cmp expect actual &&