t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C

These new tests make sure I don't miss any check being performed before
rebase is proceeded (which is well tested by other tests)

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nguyễn Thái Ngọc Duy 2009-05-24 01:31:02 +10:00 committed by Junio C Hamano
parent 5ffd3113d4
commit 7a7eb5173d

View file

@ -41,9 +41,40 @@ test_expect_success \
git tag topic
'
test_expect_success 'rebase on dirty worktree' '
echo dirty >> A &&
test_must_fail git rebase master'
test_expect_success 'rebase on dirty cache' '
git add A &&
test_must_fail git rebase master'
test_expect_success 'rebase against master' '
git reset --hard HEAD &&
git rebase master'
test_expect_success 'rebase against master twice' '
git rebase master 2>err &&
grep "Current branch my-topic-branch is up to date" err
'
test_expect_success 'rebase against master twice with --force' '
git rebase --force-rebase master >out &&
grep "Current branch my-topic-branch is up to date, rebase forced" out
'
test_expect_success 'rebase against master twice from another branch' '
git checkout my-topic-branch^ &&
git rebase master my-topic-branch 2>err &&
grep "Current branch my-topic-branch is up to date" err
'
test_expect_success 'rebase fast-forward to master' '
git checkout my-topic-branch^ &&
git rebase my-topic-branch 2>err &&
grep "Fast-forwarded HEAD to my-topic-branch" err
'
test_expect_success \
'the rebase operation should not have destroyed author information' \
'! (git log | grep "Author:" | grep "<>")'