Re: [PATCH v0 2/3] t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 21, 2009, 14:22 UTC
- Message-ID
- <7vr5yibknm.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1242899229-27603-2-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
> +test_expect_success 'rebase on dirty worktree' ' > + echo dirty >> A && > + ! git rebase master'
It is a good defensive way to use "test_must_fail" instead of "!" when testing git itself; test_must_fail does not allow the program to terminate with non-zero value by segfaulting, while "!" does.
> +test_expect_success 'rebase on dirty cache' ' > + git add A &&
Two-spaces?
Show 5 quoted lines
> + ! git rebase master' > + > test_expect_success 'rebase against master' ' > + git reset HEAD && > + git checkout -f &&
Hmm, why not "reset --hard HEAD". Not asking to change (yet), but just asking if there is a reason.
Show 8 quoted lines
> git rebase master' > > +test_expect_success 'rebase against master twice' ' > + git rebase master 2>&1|grep "Current branch my-topic-branch is up to date\\." > +' > + > +test_expect_success 'rebase against master twice with --force' ' > + git rebase --force-rebase master 2>&1|grep "Current branch my-topic-branch is up to date, rebase forced"
Do not to use any pipe while testing, i.e.
git rebase >out 2>err &&
grep "what you expect in 'out'" out &&
grep "what you expect in 'err'" errso that you can catch exit status from the command you placed in the upstream of the pipe.