Skip to content

Commit

Permalink
t3510 (cherry-pick-sequencer): use exit status
Browse files Browse the repository at this point in the history
All the tests asserting failure use 'test_must_fail', which simply
checks for a non-zero exit status, potentially hiding underlying bugs.
So, replace instances of 'test_must_fail' with 'test_expect_code' to
check the exit status explicitly, where appropriate.

Reviewed-by: Jonathan Nieder <[email protected]>
Signed-off-by: Ramkumar Ramachandra <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
artagnon authored and gitster committed Dec 15, 2011
1 parent 9e13136 commit c6b7c7f
Showing 1 changed file with 29 additions and 29 deletions.
58 changes: 29 additions & 29 deletions t/t3510-cherry-pick-sequence.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ test_expect_success setup '

test_expect_success 'cherry-pick persists data on failure' '
pristine_detach initial &&
test_must_fail git cherry-pick -s base..anotherpick &&
test_expect_code 1 git cherry-pick -s base..anotherpick &&
test_path_is_dir .git/sequencer &&
test_path_is_file .git/sequencer/head &&
test_path_is_file .git/sequencer/todo &&
Expand All @@ -67,7 +67,7 @@ test_expect_success 'cherry-pick mid-cherry-pick-sequence' '

test_expect_success 'cherry-pick persists opts correctly' '
pristine_detach initial &&
test_must_fail git cherry-pick -s -m 1 --strategy=recursive -X patience -X ours base..anotherpick &&
test_expect_code 128 git cherry-pick -s -m 1 --strategy=recursive -X patience -X ours base..anotherpick &&
test_path_is_dir .git/sequencer &&
test_path_is_file .git/sequencer/head &&
test_path_is_file .git/sequencer/todo &&
Expand Down Expand Up @@ -107,7 +107,7 @@ test_expect_success '--abort requires cherry-pick in progress' '

test_expect_success '--quit cleans up sequencer state' '
pristine_detach initial &&
test_must_fail git cherry-pick base..picked &&
test_expect_code 1 git cherry-pick base..picked &&
git cherry-pick --quit &&
test_path_is_missing .git/sequencer
'
Expand All @@ -121,7 +121,7 @@ test_expect_success '--quit keeps HEAD and conflicted index intact' '
:000000 100644 OBJID OBJID A foo
:000000 100644 OBJID OBJID A unrelated
EOF
test_must_fail git cherry-pick base..picked &&
test_expect_code 1 git cherry-pick base..picked &&
git cherry-pick --quit &&
test_path_is_missing .git/sequencer &&
test_must_fail git update-index --refresh &&
Expand All @@ -135,7 +135,7 @@ test_expect_success '--quit keeps HEAD and conflicted index intact' '

test_expect_success '--abort to cancel multiple cherry-pick' '
pristine_detach initial &&
test_must_fail git cherry-pick base..anotherpick &&
test_expect_code 1 git cherry-pick base..anotherpick &&
git cherry-pick --abort &&
test_path_is_missing .git/sequencer &&
test_cmp_rev initial HEAD &&
Expand All @@ -145,7 +145,7 @@ test_expect_success '--abort to cancel multiple cherry-pick' '

test_expect_success '--abort to cancel single cherry-pick' '
pristine_detach initial &&
test_must_fail git cherry-pick picked &&
test_expect_code 1 git cherry-pick picked &&
git cherry-pick --abort &&
test_path_is_missing .git/sequencer &&
test_cmp_rev initial HEAD &&
Expand All @@ -155,7 +155,7 @@ test_expect_success '--abort to cancel single cherry-pick' '

test_expect_success 'cherry-pick --abort to cancel multiple revert' '
pristine_detach anotherpick &&
test_must_fail git revert base..picked &&
test_expect_code 1 git revert base..picked &&
git cherry-pick --abort &&
test_path_is_missing .git/sequencer &&
test_cmp_rev anotherpick HEAD &&
Expand All @@ -165,15 +165,15 @@ test_expect_success 'cherry-pick --abort to cancel multiple revert' '

test_expect_success 'revert --abort works, too' '
pristine_detach anotherpick &&
test_must_fail git revert base..picked &&
test_expect_code 1 git revert base..picked &&
git revert --abort &&
test_path_is_missing .git/sequencer &&
test_cmp_rev anotherpick HEAD
'

test_expect_success '--abort to cancel single revert' '
pristine_detach anotherpick &&
test_must_fail git revert picked &&
test_expect_code 1 git revert picked &&
git revert --abort &&
test_path_is_missing .git/sequencer &&
test_cmp_rev anotherpick HEAD &&
Expand All @@ -184,7 +184,7 @@ test_expect_success '--abort to cancel single revert' '
test_expect_success '--abort keeps unrelated change, easy case' '
pristine_detach unrelatedpick &&
echo changed >expect &&
test_must_fail git cherry-pick picked..yetanotherpick &&
test_expect_code 1 git cherry-pick picked..yetanotherpick &&
echo changed >unrelated &&
git cherry-pick --abort &&
test_cmp expect unrelated
Expand All @@ -193,7 +193,7 @@ test_expect_success '--abort keeps unrelated change, easy case' '
test_expect_success '--abort refuses to clobber unrelated change, harder case' '
pristine_detach initial &&
echo changed >expect &&
test_must_fail git cherry-pick base..anotherpick &&
test_expect_code 1 git cherry-pick base..anotherpick &&
echo changed >unrelated &&
test_must_fail git cherry-pick --abort &&
test_cmp expect unrelated &&
Expand All @@ -208,7 +208,7 @@ test_expect_success '--abort refuses to clobber unrelated change, harder case' '

test_expect_success 'cherry-pick still writes sequencer state when one commit is left' '
pristine_detach initial &&
test_must_fail git cherry-pick base..picked &&
test_expect_code 1 git cherry-pick base..picked &&
test_path_is_dir .git/sequencer &&
echo "resolved" >foo &&
git add foo &&
Expand All @@ -232,7 +232,7 @@ test_expect_success 'cherry-pick still writes sequencer state when one commit is

test_expect_success '--abort after last commit in sequence' '
pristine_detach initial &&
test_must_fail git cherry-pick base..picked &&
test_expect_code 1 git cherry-pick base..picked &&
git cherry-pick --abort &&
test_path_is_missing .git/sequencer &&
test_cmp_rev initial HEAD &&
Expand All @@ -242,22 +242,22 @@ test_expect_success '--abort after last commit in sequence' '

test_expect_success 'cherry-pick does not implicitly stomp an existing operation' '
pristine_detach initial &&
test_must_fail git cherry-pick base..anotherpick &&
test_expect_code 1 git cherry-pick base..anotherpick &&
test-chmtime -v +0 .git/sequencer >expect &&
test_must_fail git cherry-pick unrelatedpick &&
test_expect_code 128 git cherry-pick unrelatedpick &&
test-chmtime -v +0 .git/sequencer >actual &&
test_cmp expect actual
'

test_expect_success '--continue complains when no cherry-pick is in progress' '
pristine_detach initial &&
test_must_fail git cherry-pick --continue
test_expect_code 128 git cherry-pick --continue
'

test_expect_success '--continue complains when there are unresolved conflicts' '
pristine_detach initial &&
test_must_fail git cherry-pick base..anotherpick &&
test_must_fail git cherry-pick --continue
test_expect_code 1 git cherry-pick base..anotherpick &&
test_expect_code 128 git cherry-pick --continue
'

test_expect_success '--continue of single cherry-pick' '
Expand Down Expand Up @@ -321,7 +321,7 @@ test_expect_success '--continue after resolving conflicts' '

test_expect_success '--continue after resolving conflicts and committing' '
pristine_detach initial &&
test_must_fail git cherry-pick base..anotherpick &&
test_expect_code 1 git cherry-pick base..anotherpick &&
echo "c" >foo &&
git add foo &&
git commit &&
Expand Down Expand Up @@ -371,7 +371,7 @@ test_expect_success 'follow advice and skip nil patch' '

test_expect_success '--continue respects opts' '
pristine_detach initial &&
test_must_fail git cherry-pick -x base..anotherpick &&
test_expect_code 1 git cherry-pick -x base..anotherpick &&
echo "c" >foo &&
git add foo &&
git commit &&
Expand Down Expand Up @@ -412,7 +412,7 @@ test_expect_success '--continue respects -x in first commit in multi-pick' '

test_expect_success '--signoff is not automatically propagated to resolved conflict' '
pristine_detach initial &&
test_must_fail git cherry-pick --signoff base..anotherpick &&
test_expect_code 1 git cherry-pick --signoff base..anotherpick &&
echo "c" >foo &&
git add foo &&
git commit &&
Expand Down Expand Up @@ -456,24 +456,24 @@ test_expect_success 'sign-off needs to be reaffirmed after conflict resolution,

test_expect_success 'malformed instruction sheet 1' '
pristine_detach initial &&
test_must_fail git cherry-pick base..anotherpick &&
test_expect_code 1 git cherry-pick base..anotherpick &&
echo "resolved" >foo &&
git add foo &&
git commit &&
sed "s/pick /pick/" .git/sequencer/todo >new_sheet &&
cp new_sheet .git/sequencer/todo &&
test_must_fail git cherry-pick --continue
test_expect_code 128 git cherry-pick --continue
'

test_expect_success 'malformed instruction sheet 2' '
pristine_detach initial &&
test_must_fail git cherry-pick base..anotherpick &&
test_expect_code 1 git cherry-pick base..anotherpick &&
echo "resolved" >foo &&
git add foo &&
git commit &&
sed "s/pick/revert/" .git/sequencer/todo >new_sheet &&
cp new_sheet .git/sequencer/todo &&
test_must_fail git cherry-pick --continue
test_expect_code 128 git cherry-pick --continue
'

test_expect_success 'empty commit set' '
Expand All @@ -483,18 +483,18 @@ test_expect_success 'empty commit set' '

test_expect_success 'malformed instruction sheet 3' '
pristine_detach initial &&
test_must_fail git cherry-pick base..anotherpick &&
test_expect_code 1 git cherry-pick base..anotherpick &&
echo "resolved" >foo &&
git add foo &&
git commit &&
sed "s/pick \([0-9a-f]*\)/pick $_r10/" .git/sequencer/todo >new_sheet &&
cp new_sheet .git/sequencer/todo &&
test_must_fail git cherry-pick --continue
test_expect_code 128 git cherry-pick --continue
'

test_expect_success 'instruction sheet, fat-fingers version' '
pristine_detach initial &&
test_must_fail git cherry-pick base..anotherpick &&
test_expect_code 1 git cherry-pick base..anotherpick &&
echo "c" >foo &&
git add foo &&
git commit &&
Expand All @@ -505,7 +505,7 @@ test_expect_success 'instruction sheet, fat-fingers version' '

test_expect_success 'commit descriptions in insn sheet are optional' '
pristine_detach initial &&
test_must_fail git cherry-pick base..anotherpick &&
test_expect_code 1 git cherry-pick base..anotherpick &&
echo "c" >foo &&
git add foo &&
git commit &&
Expand Down

0 comments on commit c6b7c7f

Please sign in to comment.