Code

t3700-add: fix dependence on stdout and stderr buffering
authorJohannes Sixt <j6t@kdbg.org>
Thu, 22 Jul 2010 08:13:33 +0000 (10:13 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 26 Jul 2010 06:14:18 +0000 (23:14 -0700)
One test case checked the stdout and stderr of 'git add' by constructing a
single 'expect' file that contained both streams. But when the command
runs, the order of stdout and stderr output is unpredictable because it
depends on how the streams are buffered. At least on Windows, the buffering
is different from what the test case expected. Hence, check the two output
texts separately.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Acked-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3700-add.sh

index d03495dc7a9840ddb362b257187176b613de3056..7d7140db380225bfffd3b64c125e2599b6be77c2 100755 (executable)
@@ -272,17 +272,20 @@ test_expect_success 'git add --dry-run of non-existing file' "
        echo \"fatal: pathspec 'ignored-file' did not match any files\" | test_cmp - actual
 "
 
-cat >expect <<EOF
+cat >expect.err <<\EOF
 The following paths are ignored by one of your .gitignore files:
 ignored-file
 Use -f if you really want to add them.
 fatal: no files added
+EOF
+cat >expect.out <<\EOF
 add 'track-this'
 EOF
 
 test_expect_success 'git add --dry-run --ignore-missing of non-existing file' '
-       test_must_fail git add --dry-run --ignore-missing track-this ignored-file >actual 2>&1 &&
-       test_cmp expect actual
+       test_must_fail git add --dry-run --ignore-missing track-this ignored-file >actual.out 2>actual.err &&
+       test_cmp expect.out actual.out &&
+       test_cmp expect.err actual.err
 '
 
 test_done