Re: [PATCH v5 3/9] tests: new test for orderfile options
- From
- Michael S. Tsirkin <mst@redhat.com>
- Date
- Apr 24, 2014, 21:39 UTC
- Message-ID
- <20140424213912.GD9129@redhat.com>
- In-Reply-To
- <xmqqoazqva5s.fsf@gitster.dls.corp.google.com>
On Thu, Apr 24, 2014 at 11:45:35AM -0700, Junio C Hamano wrote:
Show 22 quoted lines
> "Michael S. Tsirkin" <mst@redhat.com> writes: > > > The test is very basic and can be extended. > > Couldn't find a good existing place to put it, > > so created a new file. > > > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > > --- > > t/t4056-diff-order.sh | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 63 insertions(+) > > create mode 100755 t/t4056-diff-order.sh > > > > diff --git a/t/t4056-diff-order.sh b/t/t4056-diff-order.sh > > new file mode 100755 > > index 0000000..0404f50 > > Huh? What codebase is this based on? > > I think we had t4056 since b5277730 (t4056: add new tests for "git > diff -O", 2013-12-18). > > Puzzled...
Yes I didn't rebase in a while: 7794a680e63a2a11b73cb1194653662f2769a792 was the tip. I'll rebase, sorry.
Show 66 quoted lines
> > --- /dev/null
> > +++ b/t/t4056-diff-order.sh
> > @@ -0,0 +1,63 @@
> > +#!/bin/sh
> > +
> > +test_description='diff orderfile'
> > +
> > +. ./test-lib.sh
> > +
> > +test_expect_success 'setup' '
> > + as="a a a a a a a a" && # eight a
> > + test_write_lines $as >foo &&
> > + test_write_lines $as >bar &&
> > + git add foo bar &&
> > + git commit -a -m initial &&
> > + test_write_lines $as b >foo &&
> > + test_write_lines $as b >bar &&
> > + git commit -a -m first &&
> > + test_write_lines bar foo >bar-then-foo &&
> > + test_write_lines foo bar >foo-then-bar &&
> > + git diff -Ofoo-then-bar HEAD~1..HEAD >diff-foo-then-bar &&
> > + git diff -Obar-then-foo HEAD~1..HEAD >diff-bar-then-foo
> > +'
> > +
> > +test_diff_well_formed () {
> > + grep ^+b "$1" >added
> > + grep ^-b "$1" >removed
> > + grep ^+++ "$1" >oldfiles
> > + grep ^--- "$1" >newfiles
> > + test_line_count = 2 added &&
> > + test_line_count = 0 removed &&
> > + test_line_count = 2 oldfiles &&
> > + test_line_count = 2 newfiles
> > +}
> > +
> > +test_expect_success 'diff output with -O is well-formed' '
> > + test_diff_well_formed diff-foo-then-bar &&
> > + test_diff_well_formed diff-bar-then-foo
> > +'
> > +
> > +test_expect_success 'flag -O affects diff output' '
> > + ! test_cmp diff-foo-then-bar diff-bar-then-foo
> > +'
> > +
> > +test_expect_success 'orderfile is same as -O' '
> > + test_config diff.orderfile foo-then-bar &&
> > + git diff HEAD~1..HEAD >diff-foo-then-bar-config &&
> > + test_config diff.orderfile bar-then-foo &&
> > + git diff HEAD~1..HEAD >diff-bar-then-foo-config &&
> > + test_cmp diff-foo-then-bar diff-foo-then-bar-config &&
> > + test_cmp diff-bar-then-foo diff-bar-then-foo-config
> > +'
> > +
> > +test_expect_success '-O overrides orderfile' '
> > + test_config diff.orderfile foo-then-bar &&
> > + git diff -Obar-then-foo HEAD~1..HEAD >diff-bar-then-foo-flag &&
> > + test_cmp diff-bar-then-foo diff-bar-then-foo-flag
> > +'
> > +
> > +test_expect_success '/dev/null is same as no orderfile' '
> > + git diff -O/dev/null HEAD~1..HEAD>diff-null-orderfile &&
> > + git diff HEAD~1..HEAD >diff-default &&
> > + test_cmp diff-null-orderfile diff-default
> > +'
> > +
> > +test_done