Re: [PATCH v5 3/9] tests: new test for orderfile options
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 24, 2014, 18:45 UTC
- Message-ID
- <xmqqoazqva5s.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <1398331809-11309-3-git-send-email-mst@redhat.com>
"Michael S. Tsirkin" <mst@redhat.com> writes:
Show 13 quoted lines
> 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...
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