Re: [PATCH v2 1/2] modernize t7300
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 7, 2015, 21:40 UTC
- Message-ID
- <xmqq610alyy5.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <1449413906-23256-1-git-send-email-rouzier@gmail.com>
James <rouzier@gmail.com> writes:
> From: James Rouzier <rouzier@gmail.com> > > ---
Missing sign-off.
Show 24 quoted lines
> 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".
> + test_path_is_file docs/manual.txt && > + test_path_is_file obj.o && > + test_path_is_file build/lib.so &&
OK.
Show 25 quoted lines
> 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.cI dunno.
Show 24 quoted lines
> 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.