Skip to content
Browse files

t3005: do not assume a particular order of stdout and stderr of git-l…

…s-files

There is no guarantee that stderr is flushed before stdout when both
channels are redirected to a file. Check the channels using independent
files.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information...
1 parent 0f64bfa commit 385ceec1cb46f8a476fa11ffc853dedba512fd52 @j6t j6t committed with gitster
Showing with 12 additions and 10 deletions.
  1. +12 −10 t/t3005-ls-files-relative.sh
View
22 t/t3005-ls-files-relative.sh
@@ -45,11 +45,12 @@ test_expect_success 'ls-files -c' '
for f in ../y*
do
echo "error: pathspec $sq$f$sq did not match any file(s) known to git."
- done >expect &&
- echo "Did you forget to ${sq}git add${sq}?" >>expect &&
- ls ../x* >>expect &&
- test_must_fail git ls-files -c --error-unmatch ../[xy]* >actual 2>&1 &&
- test_cmp expect actual
+ done >expect.err &&
+ echo "Did you forget to ${sq}git add${sq}?" >>expect.err &&
+ ls ../x* >expect.out &&
+ test_must_fail git ls-files -c --error-unmatch ../[xy]* >actual.out 2>actual.err &&
+ test_cmp expect.out actual.out &&
+ test_cmp expect.err actual.err
)
'
@@ -59,11 +60,12 @@ test_expect_success 'ls-files -o' '
for f in ../x*
do
echo "error: pathspec $sq$f$sq did not match any file(s) known to git."
- done >expect &&
- echo "Did you forget to ${sq}git add${sq}?" >>expect &&
- ls ../y* >>expect &&
- test_must_fail git ls-files -o --error-unmatch ../[xy]* >actual 2>&1 &&
- test_cmp expect actual
+ done >expect.err &&
+ echo "Did you forget to ${sq}git add${sq}?" >>expect.err &&
+ ls ../y* >expect.out &&
+ test_must_fail git ls-files -o --error-unmatch ../[xy]* >actual.out 2>actual.err &&
+ test_cmp expect.out actual.out &&
+ test_cmp expect.err actual.err
)
'

0 comments on commit 385ceec

Please sign in to comment.
Something went wrong with that request. Please try again.