git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH] t1002: stop using sum(1)
@ 2017-08-14 20:16 René Scharfe
  2017-08-14 20:35 ` Junio C Hamano
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: René Scharfe @ 2017-08-14 20:16 UTC (permalink / raw)
  To: Git List; +Cc: Johannes Sixt, Benoit Lecocq, Junio C Hamano

sum(1) is a command for calculating checksums of the contents of files.
It was part of early editions of Unix ("Research Unix", 1972/1973, [1]).
cksum(1) appeared in 4.4BSD (1993) as a replacement [2], and became part
of POSIX.1-2008 [3].  OpenBSD 5.6 (2014) removed sum(1).

We only use sum(1) in t1002 to check for changes in three files.  On
MinGW we use md5sum(1) instead.  We could switch to the standard command
cksum(1) for all platforms; MinGW comes with GNU coreutils now, which
provides sum(1), cksum(1) and md5sum(1).  Use our standard method for
checking for file changes instead: test_cmp.

It's more convenient because it shows differences nicely, it's faster on
MinGW because we have a special implementation there based only on
shell-internal commands, it's simpler as it allows us to avoid stripping
out unnecessary entries from the checksum file using grep(1), and it's
more consistent with the rest of the test suite.

We already compare changed files with their expected new contents using
diff(1), so we don't need to check with "test_must_fail test_cmp" if
they differ from their original state.  A later patch could convert the
direct diff(1) calls to test_cmp as well.

With all sum(1) calls gone, remove the MinGW-specific implementation
from test-lib.sh as well.

[1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man1/sum.1
[2] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/share/man/cat1/cksum.0
[3] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cksum.html
---
 t/t1002-read-tree-m-u-2way.sh | 67 ++++++++++++++++++++++---------------------
 t/test-lib.sh                 |  3 --
 2 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/t/t1002-read-tree-m-u-2way.sh b/t/t1002-read-tree-m-u-2way.sh
index e3bf821694..7ca2e65d10 100755
--- a/t/t1002-read-tree-m-u-2way.sh
+++ b/t/t1002-read-tree-m-u-2way.sh
@@ -51,7 +51,9 @@ test_expect_success \
      treeM=$(git write-tree) &&
      echo treeM $treeM &&
      git ls-tree $treeM &&
-     sum bozbar frotz nitfol >M.sum &&
+     cp bozbar bozbar.M &&
+     cp frotz frotz.M &&
+     cp nitfol nitfol.M &&
      git diff-tree $treeH $treeM'
 
 test_expect_success \
@@ -61,8 +63,9 @@ test_expect_success \
      read_tree_u_must_succeed -m -u $treeH $treeM &&
      git ls-files --stage >1-3.out &&
      cmp M.out 1-3.out &&
-     sum bozbar frotz nitfol >actual3.sum &&
-     cmp M.sum actual3.sum &&
+     test_cmp bozbar.M bozbar &&
+     test_cmp frotz.M frotz &&
+     test_cmp nitfol.M nitfol &&
      check_cache_at bozbar clean &&
      check_cache_at frotz clean &&
      check_cache_at nitfol clean'
@@ -79,8 +82,9 @@ test_expect_success \
      test_might_fail git diff -U0 --no-index M.out 4.out >4diff.out &&
      compare_change 4diff.out expected &&
      check_cache_at yomin clean &&
-     sum bozbar frotz nitfol >actual4.sum &&
-     cmp M.sum actual4.sum &&
+     test_cmp bozbar.M bozbar &&
+     test_cmp frotz.M frotz &&
+     test_cmp nitfol.M nitfol &&
      echo yomin >yomin1 &&
      diff yomin yomin1 &&
      rm -f yomin1'
@@ -98,8 +102,9 @@ test_expect_success \
      test_might_fail git diff -U0 --no-index M.out 5.out >5diff.out &&
      compare_change 5diff.out expected &&
      check_cache_at yomin dirty &&
-     sum bozbar frotz nitfol >actual5.sum &&
-     cmp M.sum actual5.sum &&
+     test_cmp bozbar.M bozbar &&
+     test_cmp frotz.M frotz &&
+     test_cmp nitfol.M nitfol &&
      : dirty index should have prevented -u from checking it out. &&
      echo yomin yomin >yomin1 &&
      diff yomin yomin1 &&
@@ -115,8 +120,9 @@ test_expect_success \
      git ls-files --stage >6.out &&
      test_cmp M.out 6.out &&
      check_cache_at frotz clean &&
-     sum bozbar frotz nitfol >actual3.sum &&
-     cmp M.sum actual3.sum &&
+     test_cmp bozbar.M bozbar &&
+     test_cmp frotz.M frotz &&
+     test_cmp nitfol.M nitfol &&
      echo frotz >frotz1 &&
      diff frotz frotz1 &&
      rm -f frotz1'
@@ -132,8 +138,8 @@ test_expect_success \
      git ls-files --stage >7.out &&
      test_cmp M.out 7.out &&
      check_cache_at frotz dirty &&
-     sum bozbar frotz nitfol >actual7.sum &&
-     if cmp M.sum actual7.sum; then false; else :; fi &&
+     test_cmp bozbar.M bozbar &&
+     test_cmp nitfol.M nitfol &&
      : dirty index should have prevented -u from checking it out. &&
      echo frotz frotz >frotz1 &&
      diff frotz frotz1 &&
@@ -165,8 +171,10 @@ test_expect_success \
      read_tree_u_must_succeed -m -u $treeH $treeM &&
      git ls-files --stage >10.out &&
      cmp M.out 10.out &&
-     sum bozbar frotz nitfol >actual10.sum &&
-     cmp M.sum actual10.sum'
+     test_cmp bozbar.M bozbar &&
+     test_cmp frotz.M frotz &&
+     test_cmp nitfol.M nitfol
+'
 
 test_expect_success \
     '11 - dirty path removed.' \
@@ -209,11 +217,8 @@ test_expect_success \
      git ls-files --stage >14.out &&
      test_must_fail git diff -U0 --no-index M.out 14.out >14diff.out &&
      compare_change 14diff.out expected &&
-     sum bozbar frotz >actual14.sum &&
-     grep -v nitfol M.sum > expected14.sum &&
-     cmp expected14.sum actual14.sum &&
-     sum bozbar frotz nitfol >actual14a.sum &&
-     if cmp M.sum actual14a.sum; then false; else :; fi &&
+     test_cmp bozbar.M bozbar &&
+     test_cmp frotz.M frotz &&
      check_cache_at nitfol clean &&
      echo nitfol nitfol >nitfol1 &&
      diff nitfol nitfol1 &&
@@ -231,11 +236,8 @@ test_expect_success \
      test_must_fail git diff -U0 --no-index M.out 15.out >15diff.out &&
      compare_change 15diff.out expected &&
      check_cache_at nitfol dirty &&
-     sum bozbar frotz >actual15.sum &&
-     grep -v nitfol M.sum > expected15.sum &&
-     cmp expected15.sum actual15.sum &&
-     sum bozbar frotz nitfol >actual15a.sum &&
-     if cmp M.sum actual15a.sum; then false; else :; fi &&
+     test_cmp bozbar.M bozbar &&
+     test_cmp frotz.M frotz &&
      echo nitfol nitfol nitfol >nitfol1 &&
      diff nitfol nitfol1 &&
      rm -f nitfol1'
@@ -267,8 +269,10 @@ test_expect_success \
      git ls-files --stage >18.out &&
      test_cmp M.out 18.out &&
      check_cache_at bozbar clean &&
-     sum bozbar frotz nitfol >actual18.sum &&
-     cmp M.sum actual18.sum'
+     test_cmp bozbar.M bozbar &&
+     test_cmp frotz.M frotz &&
+     test_cmp nitfol.M nitfol
+'
 
 test_expect_success \
     '19 - local change already having a good result, further modified.' \
@@ -281,11 +285,8 @@ test_expect_success \
      git ls-files --stage >19.out &&
      test_cmp M.out 19.out &&
      check_cache_at bozbar dirty &&
-     sum frotz nitfol >actual19.sum &&
-     grep -v bozbar  M.sum > expected19.sum &&
-     cmp expected19.sum actual19.sum &&
-     sum bozbar frotz nitfol >actual19a.sum &&
-     if cmp M.sum actual19a.sum; then false; else :; fi &&
+     test_cmp frotz.M frotz &&
+     test_cmp nitfol.M nitfol &&
      echo gnusto gnusto >bozbar1 &&
      diff bozbar bozbar1 &&
      rm -f bozbar1'
@@ -300,8 +301,10 @@ test_expect_success \
      git ls-files --stage >20.out &&
      test_cmp M.out 20.out &&
      check_cache_at bozbar clean &&
-     sum bozbar frotz nitfol >actual20.sum &&
-     cmp M.sum actual20.sum'
+     test_cmp bozbar.M bozbar &&
+     test_cmp frotz.M frotz &&
+     test_cmp nitfol.M nitfol
+'
 
 test_expect_success \
     '21 - no local change, dirty cache.' \
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 1b6e53f78a..51f52dcd4e 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -991,9 +991,6 @@ case $uname_s in
 	find () {
 		/usr/bin/find "$@"
 	}
-	sum () {
-		md5sum "$@"
-	}
 	# git sees Windows-style pwd
 	pwd () {
 		builtin pwd -W
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] t1002: stop using sum(1)
  2017-08-14 20:16 [PATCH] t1002: stop using sum(1) René Scharfe
@ 2017-08-14 20:35 ` Junio C Hamano
  2017-08-15  0:46 ` Jonathan Nieder
  2017-08-15 14:37 ` René Scharfe
  2 siblings, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2017-08-14 20:35 UTC (permalink / raw)
  To: René Scharfe; +Cc: Git List, Johannes Sixt, Benoit Lecocq

René Scharfe <l.s.r@web.de> writes:

> It's more convenient because it shows differences nicely, it's faster on
> MinGW because we have a special implementation there based only on
> shell-internal commands,...

This made me wonder why we are not using that "faster" one
everywhere, but it turns out that it depends on bash-ism "local",
which is perfectly fine when limited to MinGW but not safe to assume
in general.

> ...
> With all sum(1) calls gone, remove the MinGW-specific implementation
> from test-lib.sh as well.
>
> [1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man1/sum.1
> [2] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/share/man/cat1/cksum.0
> [3] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cksum.html
> ---
>  t/t1002-read-tree-m-u-2way.sh | 67 ++++++++++++++++++++++---------------------
>  t/test-lib.sh                 |  3 --
>  2 files changed, 35 insertions(+), 35 deletions(-)

Sounds like a sensible approach to clean things up; I didn't check
with fine toothed comb if the patch does follow that approach
correctly without breaking things, though.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] t1002: stop using sum(1)
  2017-08-14 20:16 [PATCH] t1002: stop using sum(1) René Scharfe
  2017-08-14 20:35 ` Junio C Hamano
@ 2017-08-15  0:46 ` Jonathan Nieder
  2017-08-15  6:27   ` Johannes Sixt
  2017-08-15 14:43   ` René Scharfe
  2017-08-15 14:37 ` René Scharfe
  2 siblings, 2 replies; 6+ messages in thread
From: Jonathan Nieder @ 2017-08-15  0:46 UTC (permalink / raw)
  To: René Scharfe; +Cc: Git List, Johannes Sixt, Benoit Lecocq, Junio C Hamano

Hi,

René Scharfe wrote:

> sum(1) is a command for calculating checksums of the contents of files.
> It was part of early editions of Unix ("Research Unix", 1972/1973, [1]).
> cksum(1) appeared in 4.4BSD (1993) as a replacement [2], and became part
> of POSIX.1-2008 [3].  OpenBSD 5.6 (2014) removed sum(1).
>
> We only use sum(1) in t1002 to check for changes in three files.  On
> MinGW we use md5sum(1) instead.  We could switch to the standard command
> cksum(1) for all platforms; MinGW comes with GNU coreutils now, which
> provides sum(1), cksum(1) and md5sum(1).  Use our standard method for
> checking for file changes instead: test_cmp.
>
> It's more convenient because it shows differences nicely, it's faster on
> MinGW because we have a special implementation there based only on
> shell-internal commands, it's simpler as it allows us to avoid stripping
> out unnecessary entries from the checksum file using grep(1), and it's
> more consistent with the rest of the test suite.
>
> We already compare changed files with their expected new contents using
> diff(1), so we don't need to check with "test_must_fail test_cmp" if
> they differ from their original state.  A later patch could convert the
> direct diff(1) calls to test_cmp as well.
>
> With all sum(1) calls gone, remove the MinGW-specific implementation
> from test-lib.sh as well.
>
> [1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man1/sum.1
> [2] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/share/man/cat1/cksum.0
> [3] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cksum.html
> ---
>  t/t1002-read-tree-m-u-2way.sh | 67 ++++++++++++++++++++++---------------------
>  t/test-lib.sh                 |  3 --
>  2 files changed, 35 insertions(+), 35 deletions(-)

Nicely analyzed.  May we forge your sign-off?

[...]
> --- a/t/t1002-read-tree-m-u-2way.sh
> +++ b/t/t1002-read-tree-m-u-2way.sh
[...]
> @@ -132,8 +138,8 @@ test_expect_success \
>       git ls-files --stage >7.out &&
>       test_cmp M.out 7.out &&
>       check_cache_at frotz dirty &&
> -     sum bozbar frotz nitfol >actual7.sum &&
> -     if cmp M.sum actual7.sum; then false; else :; fi &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp nitfol.M nitfol &&

This one is strange.  What is that '! cmp' trying to check for?
Does the replacement capture the same thing?

E.g., does it need a '! test_cmp frotz.M frotz &&' line?

I haven't looked at the context closely --- another option could be a
note in the commit message about how that '! cmp' line was not testing
anything useful in the first place.

[...]
> @@ -209,11 +217,8 @@ test_expect_success \
>       git ls-files --stage >14.out &&
>       test_must_fail git diff -U0 --no-index M.out 14.out >14diff.out &&
>       compare_change 14diff.out expected &&
> -     sum bozbar frotz >actual14.sum &&
> -     grep -v nitfol M.sum > expected14.sum &&
> -     cmp expected14.sum actual14.sum &&
> -     sum bozbar frotz nitfol >actual14a.sum &&
> -     if cmp M.sum actual14a.sum; then false; else :; fi &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&

Same question here: the preimage seems to be a stricter test than the
postimage.

[...]
> @@ -231,11 +236,8 @@ test_expect_success \
>       test_must_fail git diff -U0 --no-index M.out 15.out >15diff.out &&
>       compare_change 15diff.out expected &&
>       check_cache_at nitfol dirty &&
> -     sum bozbar frotz >actual15.sum &&
> -     grep -v nitfol M.sum > expected15.sum &&
> -     cmp expected15.sum actual15.sum &&
> -     sum bozbar frotz nitfol >actual15a.sum &&
> -     if cmp M.sum actual15a.sum; then false; else :; fi &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&

Likewise.

[...]
> @@ -281,11 +285,8 @@ test_expect_success \
>       git ls-files --stage >19.out &&
>       test_cmp M.out 19.out &&
>       check_cache_at bozbar dirty &&
> -     sum frotz nitfol >actual19.sum &&
> -     grep -v bozbar  M.sum > expected19.sum &&
> -     cmp expected19.sum actual19.sum &&
> -     sum bozbar frotz nitfol >actual19a.sum &&
> -     if cmp M.sum actual19a.sum; then false; else :; fi &&
> +     test_cmp frotz.M frotz &&
> +     test_cmp nitfol.M nitfol &&

Likewise.

The rest looks good.

Thanks,
Jonathan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] t1002: stop using sum(1)
  2017-08-15  0:46 ` Jonathan Nieder
@ 2017-08-15  6:27   ` Johannes Sixt
  2017-08-15 14:43   ` René Scharfe
  1 sibling, 0 replies; 6+ messages in thread
From: Johannes Sixt @ 2017-08-15  6:27 UTC (permalink / raw)
  To: Jonathan Nieder, René Scharfe
  Cc: Git List, Benoit Lecocq, Junio C Hamano

Am 15.08.2017 um 02:46 schrieb Jonathan Nieder:
> Hi,
> 
> René Scharfe wrote:
> 
>> sum(1) is a command for calculating checksums of the contents of files.
>> It was part of early editions of Unix ("Research Unix", 1972/1973, [1]).
>> cksum(1) appeared in 4.4BSD (1993) as a replacement [2], and became part
>> of POSIX.1-2008 [3].  OpenBSD 5.6 (2014) removed sum(1).
>>
>> We only use sum(1) in t1002 to check for changes in three files.  On
>> MinGW we use md5sum(1) instead.  We could switch to the standard command
>> cksum(1) for all platforms; MinGW comes with GNU coreutils now, which
>> provides sum(1), cksum(1) and md5sum(1).  Use our standard method for
>> checking for file changes instead: test_cmp.
>>
>> It's more convenient because it shows differences nicely, it's faster on
>> MinGW because we have a special implementation there based only on
>> shell-internal commands, it's simpler as it allows us to avoid stripping
>> out unnecessary entries from the checksum file using grep(1), and it's
>> more consistent with the rest of the test suite.
>>
>> We already compare changed files with their expected new contents using
>> diff(1), so we don't need to check with "test_must_fail test_cmp" if
>> they differ from their original state.  A later patch could convert the
>> direct diff(1) calls to test_cmp as well.
>>
>> With all sum(1) calls gone, remove the MinGW-specific implementation
>> from test-lib.sh as well.
>>
>> [1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man1/sum.1
>> [2] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/share/man/cat1/cksum.0
>> [3] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cksum.html
>> ---
>>   t/t1002-read-tree-m-u-2way.sh | 67 ++++++++++++++++++++++---------------------
>>   t/test-lib.sh                 |  3 --
>>   2 files changed, 35 insertions(+), 35 deletions(-)
> 
> Nicely analyzed.  May we forge your sign-off?
> 
> [...]
>> --- a/t/t1002-read-tree-m-u-2way.sh
>> +++ b/t/t1002-read-tree-m-u-2way.sh
> [...]
>> @@ -132,8 +138,8 @@ test_expect_success \
>>        git ls-files --stage >7.out &&
>>        test_cmp M.out 7.out &&
>>        check_cache_at frotz dirty &&
>> -     sum bozbar frotz nitfol >actual7.sum &&
>> -     if cmp M.sum actual7.sum; then false; else :; fi &&
>> +     test_cmp bozbar.M bozbar &&
>> +     test_cmp nitfol.M nitfol &&
> 
> This one is strange.  What is that '! cmp' trying to check for?
> Does the replacement capture the same thing?
> 
> E.g., does it need a '! test_cmp frotz.M frotz &&' line?

In the context that you stripped a 'diff frotz frotz1' occurs, i.e., a 
check for the expected content of the file whose content changes. 
Together with the new test_cmp lines, the new text is a stricter check 
than we have in the old text.

The patch looks good.

Reviewed-by: Johannes Sixt <j6t@kdbg.org>

-- Hannes

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] t1002: stop using sum(1)
  2017-08-14 20:16 [PATCH] t1002: stop using sum(1) René Scharfe
  2017-08-14 20:35 ` Junio C Hamano
  2017-08-15  0:46 ` Jonathan Nieder
@ 2017-08-15 14:37 ` René Scharfe
  2 siblings, 0 replies; 6+ messages in thread
From: René Scharfe @ 2017-08-15 14:37 UTC (permalink / raw)
  To: Git List; +Cc: Johannes Sixt, Benoit Lecocq, Junio C Hamano

Am 14.08.2017 um 22:16 schrieb René Scharfe:
> sum(1) is a command for calculating checksums of the contents of files.
> It was part of early editions of Unix ("Research Unix", 1972/1973, [1]).
> cksum(1) appeared in 4.4BSD (1993) as a replacement [2], and became part
> of POSIX.1-2008 [3].  OpenBSD 5.6 (2014) removed sum(1).
> 
> We only use sum(1) in t1002 to check for changes in three files.  On
> MinGW we use md5sum(1) instead.  We could switch to the standard command
> cksum(1) for all platforms; MinGW comes with GNU coreutils now, which
> provides sum(1), cksum(1) and md5sum(1).  Use our standard method for
> checking for file changes instead: test_cmp.
> 
> It's more convenient because it shows differences nicely, it's faster on
> MinGW because we have a special implementation there based only on
> shell-internal commands, it's simpler as it allows us to avoid stripping
> out unnecessary entries from the checksum file using grep(1), and it's
> more consistent with the rest of the test suite.
> 
> We already compare changed files with their expected new contents using
> diff(1), so we don't need to check with "test_must_fail test_cmp" if
> they differ from their original state.  A later patch could convert the
> direct diff(1) calls to test_cmp as well.
> 
> With all sum(1) calls gone, remove the MinGW-specific implementation
> from test-lib.sh as well.
> 
> [1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man1/sum.1
> [2] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/share/man/cat1/cksum.0
> [3] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cksum.html

Forgot this (intentional full-quote ahead):

Signed-off-by: Rene Scharfe <l.s.r@web.de>

> ---
>   t/t1002-read-tree-m-u-2way.sh | 67 ++++++++++++++++++++++---------------------
>   t/test-lib.sh                 |  3 --
>   2 files changed, 35 insertions(+), 35 deletions(-)
> 
> diff --git a/t/t1002-read-tree-m-u-2way.sh b/t/t1002-read-tree-m-u-2way.sh
> index e3bf821694..7ca2e65d10 100755
> --- a/t/t1002-read-tree-m-u-2way.sh
> +++ b/t/t1002-read-tree-m-u-2way.sh
> @@ -51,7 +51,9 @@ test_expect_success \
>        treeM=$(git write-tree) &&
>        echo treeM $treeM &&
>        git ls-tree $treeM &&
> -     sum bozbar frotz nitfol >M.sum &&
> +     cp bozbar bozbar.M &&
> +     cp frotz frotz.M &&
> +     cp nitfol nitfol.M &&
>        git diff-tree $treeH $treeM'
>   
>   test_expect_success \
> @@ -61,8 +63,9 @@ test_expect_success \
>        read_tree_u_must_succeed -m -u $treeH $treeM &&
>        git ls-files --stage >1-3.out &&
>        cmp M.out 1-3.out &&
> -     sum bozbar frotz nitfol >actual3.sum &&
> -     cmp M.sum actual3.sum &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&
> +     test_cmp nitfol.M nitfol &&
>        check_cache_at bozbar clean &&
>        check_cache_at frotz clean &&
>        check_cache_at nitfol clean'
> @@ -79,8 +82,9 @@ test_expect_success \
>        test_might_fail git diff -U0 --no-index M.out 4.out >4diff.out &&
>        compare_change 4diff.out expected &&
>        check_cache_at yomin clean &&
> -     sum bozbar frotz nitfol >actual4.sum &&
> -     cmp M.sum actual4.sum &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&
> +     test_cmp nitfol.M nitfol &&
>        echo yomin >yomin1 &&
>        diff yomin yomin1 &&
>        rm -f yomin1'
> @@ -98,8 +102,9 @@ test_expect_success \
>        test_might_fail git diff -U0 --no-index M.out 5.out >5diff.out &&
>        compare_change 5diff.out expected &&
>        check_cache_at yomin dirty &&
> -     sum bozbar frotz nitfol >actual5.sum &&
> -     cmp M.sum actual5.sum &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&
> +     test_cmp nitfol.M nitfol &&
>        : dirty index should have prevented -u from checking it out. &&
>        echo yomin yomin >yomin1 &&
>        diff yomin yomin1 &&
> @@ -115,8 +120,9 @@ test_expect_success \
>        git ls-files --stage >6.out &&
>        test_cmp M.out 6.out &&
>        check_cache_at frotz clean &&
> -     sum bozbar frotz nitfol >actual3.sum &&
> -     cmp M.sum actual3.sum &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&
> +     test_cmp nitfol.M nitfol &&
>        echo frotz >frotz1 &&
>        diff frotz frotz1 &&
>        rm -f frotz1'
> @@ -132,8 +138,8 @@ test_expect_success \
>        git ls-files --stage >7.out &&
>        test_cmp M.out 7.out &&
>        check_cache_at frotz dirty &&
> -     sum bozbar frotz nitfol >actual7.sum &&
> -     if cmp M.sum actual7.sum; then false; else :; fi &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp nitfol.M nitfol &&
>        : dirty index should have prevented -u from checking it out. &&
>        echo frotz frotz >frotz1 &&
>        diff frotz frotz1 &&
> @@ -165,8 +171,10 @@ test_expect_success \
>        read_tree_u_must_succeed -m -u $treeH $treeM &&
>        git ls-files --stage >10.out &&
>        cmp M.out 10.out &&
> -     sum bozbar frotz nitfol >actual10.sum &&
> -     cmp M.sum actual10.sum'
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&
> +     test_cmp nitfol.M nitfol
> +'
>   
>   test_expect_success \
>       '11 - dirty path removed.' \
> @@ -209,11 +217,8 @@ test_expect_success \
>        git ls-files --stage >14.out &&
>        test_must_fail git diff -U0 --no-index M.out 14.out >14diff.out &&
>        compare_change 14diff.out expected &&
> -     sum bozbar frotz >actual14.sum &&
> -     grep -v nitfol M.sum > expected14.sum &&
> -     cmp expected14.sum actual14.sum &&
> -     sum bozbar frotz nitfol >actual14a.sum &&
> -     if cmp M.sum actual14a.sum; then false; else :; fi &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&
>        check_cache_at nitfol clean &&
>        echo nitfol nitfol >nitfol1 &&
>        diff nitfol nitfol1 &&
> @@ -231,11 +236,8 @@ test_expect_success \
>        test_must_fail git diff -U0 --no-index M.out 15.out >15diff.out &&
>        compare_change 15diff.out expected &&
>        check_cache_at nitfol dirty &&
> -     sum bozbar frotz >actual15.sum &&
> -     grep -v nitfol M.sum > expected15.sum &&
> -     cmp expected15.sum actual15.sum &&
> -     sum bozbar frotz nitfol >actual15a.sum &&
> -     if cmp M.sum actual15a.sum; then false; else :; fi &&
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&
>        echo nitfol nitfol nitfol >nitfol1 &&
>        diff nitfol nitfol1 &&
>        rm -f nitfol1'
> @@ -267,8 +269,10 @@ test_expect_success \
>        git ls-files --stage >18.out &&
>        test_cmp M.out 18.out &&
>        check_cache_at bozbar clean &&
> -     sum bozbar frotz nitfol >actual18.sum &&
> -     cmp M.sum actual18.sum'
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&
> +     test_cmp nitfol.M nitfol
> +'
>   
>   test_expect_success \
>       '19 - local change already having a good result, further modified.' \
> @@ -281,11 +285,8 @@ test_expect_success \
>        git ls-files --stage >19.out &&
>        test_cmp M.out 19.out &&
>        check_cache_at bozbar dirty &&
> -     sum frotz nitfol >actual19.sum &&
> -     grep -v bozbar  M.sum > expected19.sum &&
> -     cmp expected19.sum actual19.sum &&
> -     sum bozbar frotz nitfol >actual19a.sum &&
> -     if cmp M.sum actual19a.sum; then false; else :; fi &&
> +     test_cmp frotz.M frotz &&
> +     test_cmp nitfol.M nitfol &&
>        echo gnusto gnusto >bozbar1 &&
>        diff bozbar bozbar1 &&
>        rm -f bozbar1'
> @@ -300,8 +301,10 @@ test_expect_success \
>        git ls-files --stage >20.out &&
>        test_cmp M.out 20.out &&
>        check_cache_at bozbar clean &&
> -     sum bozbar frotz nitfol >actual20.sum &&
> -     cmp M.sum actual20.sum'
> +     test_cmp bozbar.M bozbar &&
> +     test_cmp frotz.M frotz &&
> +     test_cmp nitfol.M nitfol
> +'
>   
>   test_expect_success \
>       '21 - no local change, dirty cache.' \
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index 1b6e53f78a..51f52dcd4e 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
> @@ -991,9 +991,6 @@ case $uname_s in
>   	find () {
>   		/usr/bin/find "$@"
>   	}
> -	sum () {
> -		md5sum "$@"
> -	}
>   	# git sees Windows-style pwd
>   	pwd () {
>   		builtin pwd -W
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] t1002: stop using sum(1)
  2017-08-15  0:46 ` Jonathan Nieder
  2017-08-15  6:27   ` Johannes Sixt
@ 2017-08-15 14:43   ` René Scharfe
  1 sibling, 0 replies; 6+ messages in thread
From: René Scharfe @ 2017-08-15 14:43 UTC (permalink / raw)
  To: Jonathan Nieder; +Cc: Git List, Johannes Sixt, Benoit Lecocq, Junio C Hamano

Am 15.08.2017 um 02:46 schrieb Jonathan Nieder:
> Hi,
> 
> René Scharfe wrote:

>> We already compare changed files with their expected new contents using
>> diff(1), so we don't need to check with "test_must_fail test_cmp" if
>> they differ from their original state.  A later patch could convert the
>> direct diff(1) calls to test_cmp as well.

Let's call that paragraph "A".

> Nicely analyzed.  May we forge your sign-off?

Oops, yes, thanks for reminding me, handed it in late now.

> 
> [...]
>> --- a/t/t1002-read-tree-m-u-2way.sh
>> +++ b/t/t1002-read-tree-m-u-2way.sh
> [...]
>> @@ -132,8 +138,8 @@ test_expect_success \
>>        git ls-files --stage >7.out &&
>>        test_cmp M.out 7.out &&
>>        check_cache_at frotz dirty &&
>> -     sum bozbar frotz nitfol >actual7.sum &&
>> -     if cmp M.sum actual7.sum; then false; else :; fi &&
>> +     test_cmp bozbar.M bozbar &&
>> +     test_cmp nitfol.M nitfol &&
> 
> This one is strange.  What is that '! cmp' trying to check for?
> Does the replacement capture the same thing?
> 
> E.g., does it need a '! test_cmp frotz.M frotz &&' line?
> 
> I haven't looked at the context closely --- another option could be a
> note in the commit message about how that '! cmp' line was not testing
> anything useful in the first place.

That's what paragraph A refers to.  And as Johannes mentioned: We
already check for equality in the lines following the context you
cited (it's in my original email), so there is no need to check
for inequality as well.  That's true for all the cases you spotted.

René

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-08-15 14:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-14 20:16 [PATCH] t1002: stop using sum(1) René Scharfe
2017-08-14 20:35 ` Junio C Hamano
2017-08-15  0:46 ` Jonathan Nieder
2017-08-15  6:27   ` Johannes Sixt
2017-08-15 14:43   ` René Scharfe
2017-08-15 14:37 ` René Scharfe

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).