Re: [PATCH v2 1/2] modernize t7300

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

Re: [PATCH v2 1/2] modernize t7300

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:07:24

James [off-list ref] writes:
From: James Rouzier <redacted>

---
Missing sign-off.
quoted hunk
 t/t7300-clean.sh | 382 +++++++++++++++++++++++++++----------------------------
 1 file changed, 190 insertions(+), 192 deletions(-)
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index 86ceb38..d555bb6 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -28,15 +28,15 @@ test_expect_success 'git clean with skip-worktree .gitignore' '
 	mkdir -p build docs &&
 	touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
 	git clean &&
-	test -f Makefile &&
-	test -f README &&
-	test -f src/part1.c &&
-	test -f src/part2.c &&
-	test ! -f a.out &&
-	test ! -f src/part3.c &&
-	test -f docs/manual.txt &&
-	test -f obj.o &&
-	test -f build/lib.so &&
+	test_path_is_file Makefile &&
+	test_path_is_file README &&
+	test_path_is_file src/part1.c &&
+	test_path_is_file src/part2.c &&
OK.
+	test_path_is_missing a.out &&
+	test_path_is_missing src/part3.c &&
This is better than the original, which may have said "OK" upon
seeing a directory called "a.out".
quoted hunk
+	test_path_is_file docs/manual.txt &&
+	test_path_is_file obj.o &&
+	test_path_is_file build/lib.so &&
OK.
quoted hunk
 	git update-index --no-skip-worktree .gitignore &&
 	git checkout .gitignore
 '
@@ -46,15 +46,15 @@ test_expect_success 'git clean' '
 	mkdir -p build docs &&
 	touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
 	git clean &&
-	test -f Makefile &&
-	test -f README &&
-	test -f src/part1.c &&
-	test -f src/part2.c &&
-	test ! -f a.out &&
-	test ! -f src/part3.c &&
-	test -f docs/manual.txt &&
-	test -f obj.o &&
-	test -f build/lib.so
+	test_path_is_file Makefile &&
+	test_path_is_file README &&
+	test_path_is_file src/part1.c &&
+	test_path_is_file src/part2.c &&
+	test_path_is_missing a.out &&
+	test_path_is_missing src/part3.c &&
+	test_path_is_file docs/manual.txt &&
+	test_path_is_file obj.o &&
+	test_path_is_file build/lib.so
The verbosity of this conversion makes me wonder if we want to have
"test_paths_are_files" and "test_paths_are_missing".  For that
matter, this test does not really care about the distinction between
files and directories (e.g. some tests said "test ! -d docs" and
would have passed if there were a 'docs' regular file, but what we
really care about is the path 'docs' is _gone_), so what we want may
be test_paths_exist and test_paths_are_missing.  With that, the
above hunk would become

	test_paths_exist Makefile README src/part1.c src/part2.c \
		obj.o build/lib.so &&
        test_paths_are_missing a.out src/part3.c

I dunno.
quoted hunk
 test_expect_success 'git clean -e' '
 	rm -fr repo &&
 	mkdir repo &&
-	(
-		cd repo &&
-		git init &&
-		touch known 1 2 3 &&
-		git add known &&
-		git clean -f -e 1 -e 2 &&
-		test -e 1 &&
-		test -e 2 &&
-		! (test -e 3) &&
-		test -e known
-	)
+	cd repo &&
+	git init &&
+	touch known 1 2 3 &&
+	git add known &&
+	git clean -f -e 1 -e 2 &&
+	test_path_is_file 1 &&
+	test_path_is_file 2 &&
+	test_path_is_missing 3 &&
+	test_path_is_file known
 '
I think this is wrong.  The next test piece will be run inside
"repo" directory with this patch applied.  Don't lose the subshell
here.

Re: [PATCH v2 1/2] modernize t7300

From: Eric Sunshine <hidden>
Date: 2016-06-15 23:07:24

On Mon, Dec 7, 2015 at 4:40 PM, Junio C Hamano [off-list ref] wrote:
James [off-list ref] writes:
quoted
@@ -46,15 +46,15 @@ test_expect_success 'git clean' '
      mkdir -p build docs &&
      touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
      git clean &&
-     test -f Makefile &&
-     test -f README &&
-     test -f src/part1.c &&
-     test -f src/part2.c &&
-     test ! -f a.out &&
-     test ! -f src/part3.c &&
-     test -f docs/manual.txt &&
-     test -f obj.o &&
-     test -f build/lib.so
+     test_path_is_file Makefile &&
+     test_path_is_file README &&
+     test_path_is_file src/part1.c &&
+     test_path_is_file src/part2.c &&
+     test_path_is_missing a.out &&
+     test_path_is_missing src/part3.c &&
+     test_path_is_file docs/manual.txt &&
+     test_path_is_file obj.o &&
+     test_path_is_file build/lib.so
The verbosity of this conversion makes me wonder if we want to have
"test_paths_are_files" and "test_paths_are_missing".  For that
matter, this test does not really care about the distinction between
files and directories (e.g. some tests said "test ! -d docs" and
would have passed if there were a 'docs' regular file, but what we
really care about is the path 'docs' is _gone_), so what we want may
be test_paths_exist and test_paths_are_missing.  With that, the
above hunk would become

        test_paths_exist Makefile README src/part1.c src/part2.c \
                obj.o build/lib.so &&
        test_paths_are_missing a.out src/part3.c

I dunno.
Alternately, update test_path_foo() functions to accept multiple
pathnames, or is that too ugly?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help