Commit c6f44e1da5 (t9813: avoid using pipes, 2017-01-04) recommends to avoid using pipes, since the exit code of upstream in the pipe is ignored. Hence, redirect the output to a file and parse that file. Commit de26f02db1 (t9001, t9116: avoid pipes, 2020-02-14) noted that this also allows easy debugging in case the test fails, since the file will be left on disk and can be manually inspected. Signed-off-by: Shanthanu <shanthanu.s.rai9@xxxxxxxxx> --- t/t9116-git-svn-log.sh | 53 +++++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 14 deletions(-) diff --git a/t/t9116-git-svn-log.sh b/t/t9116-git-svn-log.sh index 0a9f1ef366..56d68e4aed 100755 --- a/t/t9116-git-svn-log.sh +++ b/t/t9116-git-svn-log.sh @@ -61,12 +61,16 @@ printf 'r1 \nr2 \nr4 \n' > expected-range-r1-r2-r4 test_expect_success 'test ascending revision range' " git reset --hard origin/trunk && - git svn log -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2-r4 - + git svn log -r 1:4 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r1-r2-r4 actual " test_expect_success 'test ascending revision range with --show-commit' " git reset --hard origin/trunk && - git svn log --show-commit -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2-r4 - + git svn log --show-commit -r 1:4 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r1-r2-r4 actual " test_expect_success 'test ascending revision range with --show-commit (sha1)' " @@ -74,7 +78,8 @@ test_expect_success 'test ascending revision range with --show-commit (sha1)' " git svn find-rev r2 >>expected-range-r1-r2-r4-sha1 && git svn find-rev r4 >>expected-range-r1-r2-r4-sha1 && git reset --hard origin/trunk && - git svn log --show-commit -r 1:4 | grep '^r[0-9]' | cut -d'|' -f2 >out && + git svn log --show-commit -r 1:4 >out1 && + grep '^r[0-9]' out1 | cut -d'|' -f2 >out && git rev-parse \$(cat out) >actual && test_cmp expected-range-r1-r2-r4-sha1 actual " @@ -83,67 +88,87 @@ printf 'r4 \nr2 \nr1 \n' > expected-range-r4-r2-r1 test_expect_success 'test descending revision range' " git reset --hard origin/trunk && - git svn log -r 4:1 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4-r2-r1 - + git svn log -r 4:1 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r4-r2-r1 actual " printf 'r1 \nr2 \n' > expected-range-r1-r2 test_expect_success 'test ascending revision range with unreachable revision' " git reset --hard origin/trunk && - git svn log -r 1:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2 - + git svn log -r 1:3 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r1-r2 actual " printf 'r2 \nr1 \n' > expected-range-r2-r1 test_expect_success 'test descending revision range with unreachable revision' " git reset --hard origin/trunk && - git svn log -r 3:1 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2-r1 - + git svn log -r 3:1 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r2-r1 actual " printf 'r2 \n' > expected-range-r2 test_expect_success 'test ascending revision range with unreachable upper boundary revision and 1 commit' " git reset --hard origin/trunk && - git svn log -r 2:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2 - + git svn log -r 2:3 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r2 actual " test_expect_success 'test descending revision range with unreachable upper boundary revision and 1 commit' " git reset --hard origin/trunk && - git svn log -r 3:2 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2 - + git svn log -r 3:2 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r2 actual " printf 'r4 \n' > expected-range-r4 test_expect_success 'test ascending revision range with unreachable lower boundary revision and 1 commit' " git reset --hard origin/trunk && - git svn log -r 3:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - + git svn log -r 3:4 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r4 actual " test_expect_success 'test descending revision range with unreachable lower boundary revision and 1 commit' " git reset --hard origin/trunk && - git svn log -r 4:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - + git svn log -r 4:3 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r4 actual " printf -- '------------------------------------------------------------------------\n' > expected-separator test_expect_success 'test ascending revision range with unreachable boundary revisions and no commits' " git reset --hard origin/trunk && - git svn log -r 5:6 | test_cmp expected-separator - + git svn log -r 5:6 >actual && + test_cmp expected-separator actual " test_expect_success 'test descending revision range with unreachable boundary revisions and no commits' " git reset --hard origin/trunk && - git svn log -r 6:5 | test_cmp expected-separator - + git svn log -r 6:5 >actual && + test_cmp expected-separator actual " test_expect_success 'test ascending revision range with unreachable boundary revisions and 1 commit' " git reset --hard origin/trunk && - git svn log -r 3:5 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - + git svn log -r 3:5 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r4 actual " test_expect_success 'test descending revision range with unreachable boundary revisions and 1 commit' " git reset --hard origin/trunk && - git svn log -r 5:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - + git svn log -r 5:3 >out && + grep '^r[0-9]' out | cut -d'|' -f1 >actual && + test_cmp expected-range-r4 actual " test_done -- 2.26.0.rc2.28.g7fcb965970