Re: [PATCH] t3032 - make compatible with systems using \r\n as a line ending

3 messages, 3 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] t3032 - make compatible with systems using \r\n as a line ending

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:58:11

Mark Levedahl [off-list ref] writes:
Subtests 6, 7, and 9 rely test that merge-recursive correctly
ignores whitespace when so directed. These tests create and test for
lines ending in \r\n, but as this is a valid line separator on Windows,
convert such lines in the output to avoid confusion by line-oriented
grep.

Signed-off-by: Mark Levedahl <redacted>
---
Sorry, forgot to copy Jonathan...
Sounds sensible.  Thanks.
quoted hunk
 t/t3032-merge-recursive-options.sh | 22 +++++++++++++---------
 t/test-lib-functions.sh            |  4 ++++
 2 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/t/t3032-merge-recursive-options.sh b/t/t3032-merge-recursive-options.sh
index 2b17311..41ba184 100755
--- a/t/t3032-merge-recursive-options.sh
+++ b/t/t3032-merge-recursive-options.sh
@@ -125,13 +125,14 @@ test_expect_success '-Xignore-space-change makes cherry-pick succeed' '
 '
 
 test_expect_success '--ignore-space-change: our w/s-only change wins' '
-	q_to_cr <<-\EOF >expected &&
+	cat <<-\EOF >expected &&
 	    justice and holiness and is the nurse of his age and theQ
 	EOF
 
 	git read-tree --reset -u HEAD &&
 	git merge-recursive --ignore-space-change HEAD^ -- HEAD remote &&
-	grep "justice and holiness" text.txt >actual &&
+	cr_to_q <text.txt > text.txt+ &&
+	grep "justice and holiness" text.txt+ >actual &&
 	test_cmp expected actual
 '
 
@@ -150,14 +151,15 @@ test_expect_success '--ignore-space-change: does not ignore new spaces' '
 	cat <<-\EOF >expected1 &&
 	Well said, Cephalus, I replied; but as con cerning justice, what is
 	EOF
-	q_to_cr <<-\EOF >expected2 &&
+	cat <<-\EOF >expected2 &&
 	un intentionally; and when he departs to the world below he is not inQ
 	EOF
 
 	git read-tree --reset -u HEAD &&
 	git merge-recursive --ignore-space-change HEAD^ -- HEAD remote &&
-	grep "Well said" text.txt >actual1 &&
-	grep "when he departs" text.txt >actual2 &&
+	cr_to_q <text.txt >text.txt+
+	grep "Well said" text.txt+ >actual1 &&
+	grep "when he departs" text.txt+ >actual2 &&
 	test_cmp expected1 actual1 &&
 	test_cmp expected2 actual2
 '
@@ -174,18 +176,19 @@ test_expect_success '--ignore-all-space drops their new spaces' '
 '
 
 test_expect_success '--ignore-all-space keeps our new spaces' '
-	q_to_cr <<-\EOF >expected &&
+	cat <<-\EOF >expected &&
 	un intentionally; and when he departs to the world below he is not inQ
 	EOF
 
 	git read-tree --reset -u HEAD &&
 	git merge-recursive --ignore-all-space HEAD^ -- HEAD remote &&
-	grep "when he departs" text.txt >actual &&
+	cr_to_q <text.txt >text.txt+ &&
+	grep "when he departs" text.txt+ >actual &&
 	test_cmp expected actual
 '
 
 test_expect_success '--ignore-space-at-eol' '
-	q_to_cr <<-\EOF >expected &&
+	cat <<-\EOF >expected &&
 	<<<<<<< HEAD
 	is not in his right mind; ought I to give them back to him?  No oneQ
 	=======
@@ -196,7 +199,8 @@ test_expect_success '--ignore-space-at-eol' '
 	git read-tree --reset -u HEAD &&
 	test_must_fail git merge-recursive --ignore-space-at-eol \
 						 HEAD^ -- HEAD remote &&
-	conflict_hunks text.txt >actual &&
+	cr_to_q <text.txt >text.txt+ &&
+	conflict_hunks text.txt+ >actual &&
 	test_cmp expected actual
 '
 
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index a7e9aac..aa8e38f 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -87,6 +87,10 @@ q_to_cr () {
 	tr Q '\015'
 }
 
+cr_to_q () {
+	tr '\015' Q
+}
+
 q_to_tab () {
 	tr Q '\011'
 }

[PATCH] test-lib.sh - define and use GREP_STRIPS_CR

From: Mark Levedahl <hidden>
Date: 2016-06-15 22:58:12

Define a common macro for grep needing -U to allow tests to not need
to inquire of specific platforms needing this option. Change
t3032 and t5560 to use this rather than testing explicitly for mingw.
This fixes these two tests on Cygwin.

Signed-off-by: Mark Levedahl <redacted>
---
This replaces my earlier patch against t3032 (8896b287 on pu)

 t/t3032-merge-recursive-options.sh | 2 +-
 t/t5560-http-backend-noserver.sh   | 2 +-
 t/test-lib.sh                      | 2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/t/t3032-merge-recursive-options.sh b/t/t3032-merge-recursive-options.sh
index 2b17311..5fd7bbb 100755
--- a/t/t3032-merge-recursive-options.sh
+++ b/t/t3032-merge-recursive-options.sh
@@ -14,7 +14,7 @@ test_description='merge-recursive options
 . ./test-lib.sh
 
 test_have_prereq SED_STRIPS_CR && SED_OPTIONS=-b
-test_have_prereq MINGW && export GREP_OPTIONS=-U
+test_have_prereq GREP_STRIPS_CR && export GREP_OPTIONS=-U
 
 test_expect_success 'setup' '
 	conflict_hunks () {
diff --git a/t/t5560-http-backend-noserver.sh b/t/t5560-http-backend-noserver.sh
index ef98d95..9be9ae3 100755
--- a/t/t5560-http-backend-noserver.sh
+++ b/t/t5560-http-backend-noserver.sh
@@ -5,7 +5,7 @@ test_description='test git-http-backend-noserver'
 
 HTTPD_DOCUMENT_ROOT_PATH="$TRASH_DIRECTORY"
 
-test_have_prereq MINGW && export GREP_OPTIONS=-U
+test_have_prereq GREP_STRIPS_CR && export GREP_OPTIONS=-U
 
 run_backend() {
 	echo "$2" |
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 2d63307..1abea40 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -824,6 +824,7 @@ case $(uname -s) in
 	test_set_prereq MINGW
 	test_set_prereq NOT_CYGWIN
 	test_set_prereq SED_STRIPS_CR
+	test_set_prereq GREP_STRIPS_CR
 	;;
 *CYGWIN*)
 	test_set_prereq POSIXPERM
@@ -831,6 +832,7 @@ case $(uname -s) in
 	test_set_prereq NOT_MINGW
 	test_set_prereq CYGWIN
 	test_set_prereq SED_STRIPS_CR
+	test_set_prereq GREP_STRIPS_CR
 	;;
 *)
 	test_set_prereq POSIXPERM
-- 
1.8.3.2.0.13

Re: [PATCH] test-lib.sh - define and use GREP_STRIPS_CR

From: Ramsay Jones <hidden>
Date: 2016-06-15 22:58:13

Mark Levedahl wrote:
Define a common macro for grep needing -U to allow tests to not need
to inquire of specific platforms needing this option. Change
t3032 and t5560 to use this rather than testing explicitly for mingw.
This fixes these two tests on Cygwin.

Signed-off-by: Mark Levedahl <redacted>
---
This replaces my earlier patch against t3032 (8896b287 on pu)
Yep, this looks good and (as expected) it works on cygwin 1.5 too. :-D

Thanks.

ATB,
Ramsay Jones
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help