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.