rev-list simplify tests: don't ignore "git" exit code
Change a fragile test pattern introduced in 6534703059
(Topo-sort
before --simplify-merges, 2008-08-03) to check the exit code of both
"git name-rev" and "git log".
This test as a whole would fail under SANITIZE=leak, but we'd pass
several "failing" tests due to hiding these exit codes before we'd
spot git dying with abort(). Now we'll instead spot all of the
failures.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c419562860
commit
a6ecc256c3
@ -12,7 +12,9 @@ note () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unnote () {
|
unnote () {
|
||||||
git name-rev --tags --annotate-stdin | sed -e "s|$OID_REGEX (tags/\([^)]*\)) |\1 |g"
|
test_when_finished "rm -f tmp" &&
|
||||||
|
git name-rev --tags --annotate-stdin >tmp &&
|
||||||
|
sed -e "s|$OID_REGEX (tags/\([^)]*\)) |\1 |g" <tmp
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -111,8 +113,8 @@ check_outcome () {
|
|||||||
shift &&
|
shift &&
|
||||||
param="$*" &&
|
param="$*" &&
|
||||||
test_expect_$outcome "log $param" '
|
test_expect_$outcome "log $param" '
|
||||||
git log --pretty="$FMT" --parents $param |
|
git log --pretty="$FMT" --parents $param >out &&
|
||||||
unnote >actual &&
|
unnote >actual <out &&
|
||||||
sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual &&
|
sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual &&
|
||||||
test_cmp expect check
|
test_cmp expect check
|
||||||
'
|
'
|
||||||
@ -151,8 +153,8 @@ check_result 'L K I H G B' --exclude-first-parent-only --first-parent L ^F
|
|||||||
check_result 'E C B A' --full-history E -- lost
|
check_result 'E C B A' --full-history E -- lost
|
||||||
test_expect_success 'full history simplification without parent' '
|
test_expect_success 'full history simplification without parent' '
|
||||||
printf "%s\n" E C B A >expect &&
|
printf "%s\n" E C B A >expect &&
|
||||||
git log --pretty="$FMT" --full-history E -- lost |
|
git log --pretty="$FMT" --full-history E -- lost >out &&
|
||||||
unnote >actual &&
|
unnote >actual <out &&
|
||||||
sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual &&
|
sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual &&
|
||||||
test_cmp expect check
|
test_cmp expect check
|
||||||
'
|
'
|
||||||
|
Loading…
Reference in New Issue
Block a user