From 4947cf9cc377b15006f3e649c59edf9bc813af6f Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Sat, 1 Mar 2008 12:12:13 +0100 Subject: [PATCH] t3407-rebase-abort.sh: Enhance existing tests, and add test for rebase --merge Removing .dotest should actually not be needed, so just test the directory don't exist after --abort, but exists after starting the rebase. Also, execute the same tests with rebase --merge, which uses a different code path. Signed-off-by: Mike Hommey Signed-off-by: Junio C Hamano --- t/t3407-rebase-abort.sh | 130 ++++++++++++++++++++++++++---------------------- 1 file changed, 71 insertions(+), 59 deletions(-) rewrite t/t3407-rebase-abort.sh (67%) diff --git a/t/t3407-rebase-abort.sh b/t/t3407-rebase-abort.sh dissimilarity index 67% index 3417138a80..37944c39a3 100755 --- a/t/t3407-rebase-abort.sh +++ b/t/t3407-rebase-abort.sh @@ -1,59 +1,71 @@ -#!/bin/sh - -test_description='git rebase --abort tests' - -. ./test-lib.sh - -test_expect_success setup ' - echo a > a && - git add a && - git commit -m a && - git branch to-rebase && - - echo b > a && - git commit -a -m b && - echo c > a && - git commit -a -m c && - - git checkout to-rebase && - echo d > a && - git commit -a -m "merge should fail on this" && - echo e > a && - git commit -a -m "merge should fail on this, too" && - git branch pre-rebase -' - -test_expect_success 'rebase --abort' ' - test_must_fail git rebase master && - git rebase --abort && - test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) -' - -test_expect_success 'rebase --abort after --skip' ' - # Clean up the state from the previous one - git reset --hard pre-rebase - rm -rf .dotest - - test_must_fail git rebase master && - test_must_fail git rebase --skip && - test $(git rev-parse HEAD) = $(git rev-parse master) && - git rebase --abort && - test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) -' - -test_expect_success 'rebase --abort after --continue' ' - # Clean up the state from the previous one - git reset --hard pre-rebase - rm -rf .dotest - - test_must_fail git rebase master && - echo c > a && - echo d >> a && - git add a && - test_must_fail git rebase --continue && - test $(git rev-parse HEAD) != $(git rev-parse master) && - git rebase --abort && - test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) -' - -test_done +#!/bin/sh + +test_description='git rebase --abort tests' + +. ./test-lib.sh + +test_expect_success setup ' + echo a > a && + git add a && + git commit -m a && + git branch to-rebase && + + echo b > a && + git commit -a -m b && + echo c > a && + git commit -a -m c && + + git checkout to-rebase && + echo d > a && + git commit -a -m "merge should fail on this" && + echo e > a && + git commit -a -m "merge should fail on this, too" && + git branch pre-rebase +' + +testrebase() { + type=$1 + dotest=$2 + + test_expect_success "rebase$type --abort" ' + # Clean up the state from the previous one + git reset --hard pre-rebase + test_must_fail git rebase'"$type"' master && + test -d '$dotest' && + git rebase --abort && + test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) && + test ! -d '$dotest' + ' + + test_expect_success "rebase$type --abort after --skip" ' + # Clean up the state from the previous one + git reset --hard pre-rebase + test_must_fail git rebase'"$type"' master && + test -d '$dotest' && + test_must_fail git rebase --skip && + test $(git rev-parse HEAD) = $(git rev-parse master) && + git-rebase --abort && + test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) && + test ! -d '$dotest' + ' + + test_expect_success "rebase$type --abort after --continue" ' + # Clean up the state from the previous one + git reset --hard pre-rebase + test_must_fail git rebase'"$type"' master && + test -d '$dotest' && + echo c > a && + echo d >> a && + git add a && + test_must_fail git rebase --continue && + test $(git rev-parse HEAD) != $(git rev-parse master) && + git rebase --abort && + test $(git rev-parse to-rebase) = $(git rev-parse pre-rebase) && + test ! -d '$dotest' + ' +} + +testrebase "" .dotest +testrebase " --merge" .git/.dotest-merge + +test_done -- 2.11.4.GIT