Skip to contentSkip to conversation

t9300: use cmp instead of test_cmp to compare binary files

PATCH In review Johannes Sixt 3 participants 4 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 t9300: use cmp instead of test_cmp to compare binary files

test_cmp is intended to produce diff output for human consumption. The input in one instance in t9300-fast-import.sh are binary files, however. Use cmp to compare the files.

This was noticed because on Windows we have a special implementation of test_cmp in pure bash code (to ignore differences due to intermittent CR in actual output), and bash runs into an infinite loop due to the binary nature of the input.

---
 t/t9300-fast-import.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
t/t9300-fast-import.sh +1 -1
index 99f5161..4b13170 100755
@@ -2687,7 +2687,7 @@ test_expect_success 'R: verify created pack' '
 test_expect_success \
 	'R: verify written objects' \
 	'git --git-dir=R/.git cat-file blob big-file:big1 >actual &&
-	 test_cmp expect actual &&
+	 cmp expect actual &&
 	 a=$(git --git-dir=R/.git rev-parse big-file:big1) &&
 	 b=$(git --git-dir=R/.git rev-parse big-file:big2) &&
 	 test $a = $b'
Signature · 1 line
2.0.0.12.gbcf935e
#1 lore raw
Quoted 3 lines · Johannes Sixt

test_cmp is intended to produce diff output for human consumption. The input in one instance in t9300-fast-import.sh are binary files, however. Use cmp to compare the files.

Thanks.

Quoted 24 lines

This was noticed because on Windows we have a special implementation of test_cmp in pure bash code (to ignore differences due to intermittent CR in actual output), and bash runs into an infinite loop due to the binary nature of the input.

---
 t/t9300-fast-import.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
t/t9300-fast-import.sh +1 -1
index 99f5161..4b13170 100755
@@ -2687,7 +2687,7 @@ test_expect_success 'R: verify created pack' '
 test_expect_success \
 	'R: verify written objects' \
 	'git --git-dir=R/.git cat-file blob big-file:big1 >actual &&
-	 test_cmp expect actual &&
+	 cmp expect actual &&
 	 a=$(git --git-dir=R/.git rev-parse big-file:big1) &&
 	 b=$(git --git-dir=R/.git rev-parse big-file:big2) &&
 	 test $a = $b'
#2 lore raw

Am 12.09.2014 um 19:58 schrieb Junio C Hamano:

Quoted 19 lines
Quoted 3 lines · Johannes Sixt

test_cmp is intended to produce diff output for human consumption. The input in one instance in t9300-fast-import.sh are binary files, however. Use cmp to compare the files.

Thanks.

Quoted 11 lines

This was noticed because on Windows we have a special implementation of test_cmp in pure bash code (to ignore differences due to intermittent CR in actual output), and bash runs into an infinite loop due to the binary nature of the input.

---
 t/t9300-fast-import.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 13 lines

t/t9300-fast-import.sh test_expect_success 'R: verify created pack' ' · line 2693

Quoted 13 lines
t/t9300-fast-import.sh +1 -1
index 99f5161..4b13170 100755
@@ -2687,7 +2687,7 @@ test_expect_success 'R: verify created pack' '
 test_expect_success \
 	'R: verify written objects' \
 	'git --git-dir=R/.git cat-file blob big-file:big1 >actual &&
-	 test_cmp expect actual &&
+	 cmp expect actual &&
 	 a=$(git --git-dir=R/.git rev-parse big-file:big1) &&
 	 b=$(git --git-dir=R/.git rev-parse big-file:big2) &&
 	 test $a = $b'

May I suggest to use test_cmp_bin instead of plain cmp? test_cmp_bin was introduced in
b93e6e36 (t5000, t5003: do not use test_cmp to compare binary files, 2014-06-04) and by default is plain cmp.

#3 lore raw

PATCH v2 1/1 t9300: use test_cmp_bin instead of test_cmp to compare binary files

test_cmp is intended to produce diff output for human consumption. The input in one instance in t9300-fast-import.sh are binary files, however. Use test_cmp_bin to compare the files.

This was noticed because on Windows we have a special implementation of test_cmp in pure bash code (to ignore differences due to intermittent CR in actual output), and bash runs into an infinite loop due to the binary nature of the input.

---
Am 12.09.2014 um 20:14 schrieb Thomas Braun:

Quoted 1 line

May I suggest to use test_cmp_bin instead of plain cmp?

Of course! I did remember that there was talk about it, but missed that we actually implemented it. Sorry.

 t/t9300-fast-import.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
t/t9300-fast-import.sh +1 -1
index 99f5161..72845f6 100755
@@ -2687,7 +2687,7 @@ test_expect_success 'R: verify created pack' '
 test_expect_success \
 	'R: verify written objects' \
 	'git --git-dir=R/.git cat-file blob big-file:big1 >actual &&
-	 test_cmp expect actual &&
+	 test_cmp_bin expect actual &&
 	 a=$(git --git-dir=R/.git rev-parse big-file:big1) &&
 	 b=$(git --git-dir=R/.git rev-parse big-file:big2) &&
 	 test $a = $b'
Signature · 1 line
2.0.0.12.gbcf935e