{"thread":{"id":"60956","subject":"[GSOC][RFC PATCH 0/1] microproject: use test_path_is_* functions in test scripts","startedAt":"2024-02-19T17:22:20Z","lastAt":"2024-03-11T16:32:41Z","messageCount":14,"participants":["Vincenzo Mezzela","Eric Sunshine","Christian Couder","Patrick Steinhardt","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":1},"messages":[{"id":"488917","messageId":"20240219172214.7644-1-vincenzo.mezzela@gmail.com","threadId":"60956","inReplyTo":null,"subject":"[GSOC][RFC PATCH 0/1] microproject: use test_path_is_* functions in test scripts","fromName":"Vincenzo Mezzela","fromEmail":"vincenzo.mezzela@gmail.com","sentAt":"2024-02-19T17:22:13Z","receivedAt":"2024-02-19T17:22:20Z","isPatch":true,"sender":{"key":"vincenzo.mezzela@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58368395?v=4"},"body":"This patch is submitted as a microproject for the application to the GSOC.\nUpon previous dicussion[1], this patch replace the test shell commands\nwith the helper functions as follows:\n\n- 'test -f'   --> 'test_path_is_file'\n- 'test ! -f' --> 'test_path_is_missing'\n\nIn the context of this file, 'test ! -f' is meant to check if the file\nhas been correctly cleaned, thus its usage has been replaced with\n'test_path_is_missing' instead of '! test_path_is_file'.\n\nSubmitting as RFC to ask whether there is room for further improvements:\n\nWould you like to see something like \n\n'''\ntest_path_is_missing file1 &&\ntest_path_is_file file2 &&\ntest_path_is_missing file3 &&\ntest_path_is_file file5\n'''\n\nchanged into \n\n'''\ntest_path_is_file file2 &&\ntest_path_is_file file5 &&\ntest_path_is_missing file3 &&\ntest_path_is_missing file1 \n'''\n\nwhere all the test_path_is_file are grouped before and followed by all\nthe test_path_is_missing (or the other way around) to enhance\nreadability of the code?\n\nThanks,\nVincenzo\n\n[1] https://lore.kernel.org/git/xmqqy1bo5k5h.fsf@gitster.g/\n\nVincenzo Mezzela (1):\n  t: t7301-clean-interactive: Use test_path_is_(missing|file)\n\n t/t7301-clean-interactive.sh | 490 +++++++++++++++++------------------\n 1 file changed, 245 insertions(+), 245 deletions(-)\n\n-- \n2.34.1\n\n"},{"id":"488918","messageId":"20240219172214.7644-2-vincenzo.mezzela@gmail.com","threadId":"60956","inReplyTo":"20240219172214.7644-1-vincenzo.mezzela@gmail.com","subject":"[GSOC][RFC PATCH 1/1] t: t7301-clean-interactive: Use test_path_is_(missing|file)","fromName":"Vincenzo Mezzela","fromEmail":"vincenzo.mezzela@gmail.com","sentAt":"2024-02-19T17:22:14Z","receivedAt":"2024-02-19T17:22:23Z","isPatch":true,"sender":{"key":"vincenzo.mezzela@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58368395?v=4"},"body":"Replace test -(f|e) with the appropriate helper functions provided by\ntest-lib-functions.sh\n\nSigned-off-by: Vincenzo Mezzela <vincenzo.mezzela@gmail.com>\n---\n t/t7301-clean-interactive.sh | 490 +++++++++++++++++------------------\n 1 file changed, 245 insertions(+), 245 deletions(-)\n\ndiff --git a/t/t7301-clean-interactive.sh b/t/t7301-clean-interactive.sh\nindex d82a3210a1..4afe53c66a 100755\n--- a/t/t7301-clean-interactive.sh\n+++ b/t/t7301-clean-interactive.sh\n@@ -25,18 +25,18 @@ test_expect_success 'git clean -i (c: clean hotkey)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo c | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -46,18 +46,18 @@ test_expect_success 'git clean -i (cl: clean prefix)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo cl | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -67,18 +67,18 @@ test_expect_success 'git clean -i (quit)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo quit | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -88,18 +88,18 @@ test_expect_success 'git clean -i (Ctrl+D)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo \"\\04\" | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -110,18 +110,18 @@ test_expect_success 'git clean -id (filter all)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"*\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -132,18 +132,18 @@ test_expect_success 'git clean -id (filter patterns)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"part3.* *.out\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -154,18 +154,18 @@ test_expect_success 'git clean -id (filter patterns 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"* !*.out\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -176,18 +176,18 @@ test_expect_success 'git clean -id (select - all)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"*\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -198,18 +198,18 @@ test_expect_success 'git clean -id (select - none)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -220,18 +220,18 @@ test_expect_success 'git clean -id (select - number)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s 3 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -242,18 +242,18 @@ test_expect_success 'git clean -id (select - number 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"2 3\" 5 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -264,18 +264,18 @@ test_expect_success 'git clean -id (select - number 3)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"3,4 5\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -285,11 +285,11 @@ test_expect_success 'git clean -id (select - filenames)' '\n \ttouch a.out foo.txt bar.txt baz.txt &&\n \ttest_write_lines s \"a.out fo ba bar\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest ! -f a.out &&\n-\ttest ! -f foo.txt &&\n-\ttest ! -f bar.txt &&\n-\ttest -f baz.txt &&\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing foo.txt &&\n+\ttest_path_is_missing bar.txt &&\n+\ttest_path_is_file baz.txt &&\n \trm baz.txt\n \n '\n@@ -301,18 +301,18 @@ test_expect_success 'git clean -id (select - range)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"1,3-4\" 2 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -323,18 +323,18 @@ test_expect_success 'git clean -id (select - range 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"4- 1\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -345,18 +345,18 @@ test_expect_success 'git clean -id (inverse select)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"*\" \"-5- 1 -2\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -367,18 +367,18 @@ test_expect_success 'git clean -id (ask)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines a Y y no yes bad \"\" |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -389,18 +389,18 @@ test_expect_success 'git clean -id (ask - Ctrl+D)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines a Y no yes \"\\04\" |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -412,18 +412,18 @@ test_expect_success 'git clean -id with prefix and path (filter)' '\n \t(cd build/ &&\n \t test_write_lines f docs \"*.h\" \"\" c |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -435,18 +435,18 @@ test_expect_success 'git clean -id with prefix and path (select by name)' '\n \t(cd build/ &&\n \t test_write_lines s ../docs/ ../src/part3.c ../src/part4.c \"\" c |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -458,18 +458,18 @@ test_expect_success 'git clean -id with prefix and path (ask)' '\n \t(cd build/ &&\n \t test_write_lines a Y y no yes bad \"\" |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n-- \n2.34.1\n\n"},{"id":"488921","messageId":"CAPig+cSOsGAizKJdeX9Qb45LqsKOzpEO+1Pxhd2e205ndeHngg@mail.gmail.com","threadId":"60956","inReplyTo":"20240219172214.7644-1-vincenzo.mezzela@gmail.com","subject":"Re: [GSOC][RFC PATCH 0/1] microproject: use test_path_is_* functions in test scripts","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2024-02-19T19:36:42Z","receivedAt":"2024-02-19T19:36:56Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Mon, Feb 19, 2024 at 12:22 PM Vincenzo Mezzela\n<vincenzo.mezzela@gmail.com> wrote:\n> Would you like to see something like\n> '''\n> test_path_is_missing file1 &&\n> test_path_is_file file2 &&\n> test_path_is_missing file3 &&\n> test_path_is_file file5\n> '''\n> changed into\n> '''\n> test_path_is_file file2 &&\n> test_path_is_file file5 &&\n> test_path_is_missing file3 &&\n> test_path_is_missing file1\n> '''\n> where all the test_path_is_file are grouped before and followed by all\n> the test_path_is_missing (or the other way around) to enhance\n> readability of the code?\n\nGenerally speaking, no, reviewers would not want to see such a change\nbecause \"enhanced readability\" is often quite subjective. More\nimportantly, though, reviewers would especially not want this done in\nthe same patch which changes `test -blah` to `test_path_foo` because\nit make it harder for the reviewer to associate and verify each `test\n-blah` to `test_path_foo` replacement in the final result with the\nsource statement in the original file. It's much easier for a reviewer\nto validate old against new when there is an obvious one-to-one\ncorrespondence.\n"},{"id":"489366","messageId":"CAP8UFD3153ZMEeEU3yPdBQZMzJxqgtX5YdxKwWfnVVwZKqHn-Q@mail.gmail.com","threadId":"60956","inReplyTo":"20240219172214.7644-2-vincenzo.mezzela@gmail.com","subject":"Re: [GSOC][RFC PATCH 1/1] t: t7301-clean-interactive: Use test_path_is_(missing|file)","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2024-02-26T10:13:13Z","receivedAt":"2024-02-26T10:13:27Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"About the subject, instead of \"t: t7301-clean-interactive: Use ...\",\nsomething like \"t7301-clean-interactive: use ...\" or \"t7301: use ...\"\nwould be better. First because there is no need for both \"t:\" and\n\"t7301-clean-interactive:\" for the \"area\" part of the subject. Only\none \"area\" part is enough. Second because the first word after the\n\"area\" part should not be capitalized. See:\nhttps://git-scm.com/docs/SubmittingPatches/#summary-section\n\nOn Mon, Feb 19, 2024 at 6:22 PM Vincenzo Mezzela\n<vincenzo.mezzela@gmail.com> wrote:\n>\n> Replace test -(f|e) with the appropriate helper functions provided by\n> test-lib-functions.sh\n\nI think your commit message should explain why it's better to use\ntest_path_is_(missing|file) instead of test -(f|e).\n\nAlso replacing `test ! -f` with `test_path_is_missing` might be wrong\nif it's Ok to have a directory instead of a file (in which case the\nlatter would fail while the former would work). So a few words about\nwhy it's Ok to do it here would be nice.\n\nThanks!\n"},{"id":"489541","messageId":"20240227161734.52830-1-vincenzo.mezzela@gmail.com","threadId":"60956","inReplyTo":"20240219172214.7644-1-vincenzo.mezzela@gmail.com","subject":"[GSOC][PATCH v2 0/1] microproject: use test_path_is_* functions in test scripts","fromName":"Vincenzo Mezzela","fromEmail":"vincenzo.mezzela@gmail.com","sentAt":"2024-02-27T16:17:33Z","receivedAt":"2024-02-27T16:17:40Z","isPatch":true,"sender":{"key":"vincenzo.mezzela@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58368395?v=4"},"body":"Hi,\nFollowing previous discussions[1][2], this patch is submitted as a microproject\nfor the application to the GSOC.\n\nThanks,\nVincenzo\n\nChanges in V2:\n* Fixed commit message[2].\n\n[1] https://lore.kernel.org/git/xmqqy1bo5k5h.fsf@gitster.g/\n[2] https://lore.kernel.org/git/20240219172214.7644-1-vincenzo.mezzela@gmail.com/\n\nVincenzo Mezzela (1):\n  t: t7301-clean-interactive: Use test_path_is_(missing|file)\n\n t/t7301-clean-interactive.sh | 490 +++++++++++++++++------------------\n 1 file changed, 245 insertions(+), 245 deletions(-)\n\n-- \n2.34.1\n\n"},{"id":"489542","messageId":"20240227161734.52830-2-vincenzo.mezzela@gmail.com","threadId":"60956","inReplyTo":"20240227161734.52830-1-vincenzo.mezzela@gmail.com","subject":"[GSOC][PATCH v2 1/1] t7301: use test_path_is_(missing|file)","fromName":"Vincenzo Mezzela","fromEmail":"vincenzo.mezzela@gmail.com","sentAt":"2024-02-27T16:17:34Z","receivedAt":"2024-02-27T16:17:43Z","isPatch":true,"sender":{"key":"vincenzo.mezzela@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58368395?v=4"},"body":"Refactor test -(f|e) to utilize the corresponding helper functions from\ntest-lib-functions.sh. These functions perform indentical operations\nwhile enhancing debugging capabilities in case of test failures.\n  \nIn the context of this file, 'test ! -f' is meant to check if the file\nhas been correctly cleaned, thus its usage is replaced with\n'test_path_is_missing' instead of '! test_path_is_file'.\n \n\nSigned-off-by: Vincenzo Mezzela <vincenzo.mezzela@gmail.com>\n---\n t/t7301-clean-interactive.sh | 490 +++++++++++++++++------------------\n 1 file changed, 245 insertions(+), 245 deletions()\n\ndiff --git a/t/t7301-clean-interactive.sh b/t/t7301-clean-interactive.sh\nindex d82a3210a1..4afe53c66a 100755\n--- a/t/t7301-clean-interactive.sh\n+++ b/t/t7301-clean-interactive.sh\n@@ -25,18 +25,18 @@ test_expect_success 'git clean -i (c: clean hotkey)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo c | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -46,18 +46,18 @@ test_expect_success 'git clean -i (cl: clean prefix)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo cl | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -67,18 +67,18 @@ test_expect_success 'git clean -i (quit)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo quit | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -88,18 +88,18 @@ test_expect_success 'git clean -i (Ctrl+D)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo \"\\04\" | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -110,18 +110,18 @@ test_expect_success 'git clean -id (filter all)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"*\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -132,18 +132,18 @@ test_expect_success 'git clean -id (filter patterns)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"part3.* *.out\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -154,18 +154,18 @@ test_expect_success 'git clean -id (filter patterns 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"* !*.out\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -176,18 +176,18 @@ test_expect_success 'git clean -id (select - all)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"*\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -198,18 +198,18 @@ test_expect_success 'git clean -id (select - none)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -220,18 +220,18 @@ test_expect_success 'git clean -id (select - number)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s 3 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -242,18 +242,18 @@ test_expect_success 'git clean -id (select - number 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"2 3\" 5 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -264,18 +264,18 @@ test_expect_success 'git clean -id (select - number 3)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"3,4 5\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -285,11 +285,11 @@ test_expect_success 'git clean -id (select - filenames)' '\n \ttouch a.out foo.txt bar.txt baz.txt &&\n \ttest_write_lines s \"a.out fo ba bar\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest ! -f a.out &&\n-\ttest ! -f foo.txt &&\n-\ttest ! -f bar.txt &&\n-\ttest -f baz.txt &&\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing foo.txt &&\n+\ttest_path_is_missing bar.txt &&\n+\ttest_path_is_file baz.txt &&\n \trm baz.txt\n \n '\n@@ -301,18 +301,18 @@ test_expect_success 'git clean -id (select - range)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"1,3-4\" 2 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -323,18 +323,18 @@ test_expect_success 'git clean -id (select - range 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"4- 1\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -345,18 +345,18 @@ test_expect_success 'git clean -id (inverse select)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"*\" \"-5- 1 -2\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -367,18 +367,18 @@ test_expect_success 'git clean -id (ask)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines a Y y no yes bad \"\" |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -389,18 +389,18 @@ test_expect_success 'git clean -id (ask - Ctrl+D)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines a Y no yes \"\\04\" |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -412,18 +412,18 @@ test_expect_success 'git clean -id with prefix and path (filter)' '\n \t(cd build/ &&\n \t test_write_lines f docs \"*.h\" \"\" c |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -435,18 +435,18 @@ test_expect_success 'git clean -id with prefix and path (select by name)' '\n \t(cd build/ &&\n \t test_write_lines s ../docs/ ../src/part3.c ../src/part4.c \"\" c |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -458,18 +458,18 @@ test_expect_success 'git clean -id with prefix and path (ask)' '\n \t(cd build/ &&\n \t test_write_lines a Y y no yes bad \"\" |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n-- \n2.34.1\n\n"},{"id":"489853","messageId":"ZeWVB5uKLONfp6cO@tanuki","threadId":"60956","inReplyTo":"20240227161734.52830-2-vincenzo.mezzela@gmail.com","subject":"Re: [GSOC][PATCH v2 1/1] t7301: use test_path_is_(missing|file)","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2024-03-04T09:31:51Z","receivedAt":"2024-03-04T09:31:56Z","isPatch":true,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Tue, Feb 27, 2024 at 05:17:34PM +0100, Vincenzo Mezzela wrote:\n> Refactor test -(f|e) to utilize the corresponding helper functions from\n\nNit: you didn't convert any instances of `test -e`, so I'd simplify the\nmessage to just say `test -f` here.\n\n> test-lib-functions.sh. These functions perform indentical operations\n> while enhancing debugging capabilities in case of test failures.\n>   \n> In the context of this file, 'test ! -f' is meant to check if the file\n> has been correctly cleaned, thus its usage is replaced with\n> 'test_path_is_missing' instead of '! test_path_is_file'.\n>  \n> \n\nAnother nit: There should only be a single empty line between body and\ntrailer lines.\n\nOther than that this patch looks good to me, thanks!\n\nPatrick\n\n> Signed-off-by: Vincenzo Mezzela <vincenzo.mezzela@gmail.com>\n> ---\n>  t/t7301-clean-interactive.sh | 490 +++++++++++++++++------------------\n>  1 file changed, 245 insertions(+), 245 deletions()\n> \n> diff --git a/t/t7301-clean-interactive.sh b/t/t7301-clean-interactive.sh\n> index d82a3210a1..4afe53c66a 100755\n> --- a/t/t7301-clean-interactive.sh\n> +++ b/t/t7301-clean-interactive.sh\n> @@ -25,18 +25,18 @@ test_expect_success 'git clean -i (c: clean hotkey)' '\n>  \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \techo c | git clean -i &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest ! -f src/part3.h &&\n> -\ttest ! -f src/part4.c &&\n> -\ttest ! -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_missing src/part3.h &&\n> +\ttest_path_is_missing src/part4.c &&\n> +\ttest_path_is_missing src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -46,18 +46,18 @@ test_expect_success 'git clean -i (cl: clean prefix)' '\n>  \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \techo cl | git clean -i &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest ! -f src/part3.h &&\n> -\ttest ! -f src/part4.c &&\n> -\ttest ! -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_missing src/part3.h &&\n> +\ttest_path_is_missing src/part4.c &&\n> +\ttest_path_is_missing src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -67,18 +67,18 @@ test_expect_success 'git clean -i (quit)' '\n>  \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \techo quit | git clean -i &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_file a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_file src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -88,18 +88,18 @@ test_expect_success 'git clean -i (Ctrl+D)' '\n>  \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \techo \"\\04\" | git clean -i &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_file a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_file src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -110,18 +110,18 @@ test_expect_success 'git clean -id (filter all)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines f \"*\" \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_file a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_file src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -132,18 +132,18 @@ test_expect_success 'git clean -id (filter patterns)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines f \"part3.* *.out\" \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest -f a.out &&\n> -\ttest ! -f docs/manual.txt &&\n> -\ttest -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest ! -f src/part4.c &&\n> -\ttest ! -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_file a.out &&\n> +\ttest_path_is_missing docs/manual.txt &&\n> +\ttest_path_is_file src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_missing src/part4.c &&\n> +\ttest_path_is_missing src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -154,18 +154,18 @@ test_expect_success 'git clean -id (filter patterns 2)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines f \"* !*.out\" \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_file src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -176,18 +176,18 @@ test_expect_success 'git clean -id (select - all)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines s \"*\" \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest ! -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest ! -f src/part3.h &&\n> -\ttest ! -f src/part4.c &&\n> -\ttest ! -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_missing docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_missing src/part3.h &&\n> +\ttest_path_is_missing src/part4.c &&\n> +\ttest_path_is_missing src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -198,18 +198,18 @@ test_expect_success 'git clean -id (select - none)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines s \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_file a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_file src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -220,18 +220,18 @@ test_expect_success 'git clean -id (select - number)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines s 3 \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_file a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -242,18 +242,18 @@ test_expect_success 'git clean -id (select - number 2)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines s \"2 3\" 5 \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest -f a.out &&\n> -\ttest ! -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest ! -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_file a.out &&\n> +\ttest_path_is_missing docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_missing src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -264,18 +264,18 @@ test_expect_success 'git clean -id (select - number 3)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines s \"3,4 5\" \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest ! -f src/part3.h &&\n> -\ttest ! -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_file a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_missing src/part3.h &&\n> +\ttest_path_is_missing src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -285,11 +285,11 @@ test_expect_success 'git clean -id (select - filenames)' '\n>  \ttouch a.out foo.txt bar.txt baz.txt &&\n>  \ttest_write_lines s \"a.out fo ba bar\" \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest ! -f a.out &&\n> -\ttest ! -f foo.txt &&\n> -\ttest ! -f bar.txt &&\n> -\ttest -f baz.txt &&\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_missing foo.txt &&\n> +\ttest_path_is_missing bar.txt &&\n> +\ttest_path_is_file baz.txt &&\n>  \trm baz.txt\n>  \n>  '\n> @@ -301,18 +301,18 @@ test_expect_success 'git clean -id (select - range)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines s \"1,3-4\" 2 \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest ! -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest ! -f docs/manual.txt &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_missing src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_missing docs/manual.txt &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -323,18 +323,18 @@ test_expect_success 'git clean -id (select - range 2)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines s \"4- 1\" \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest -f src/part3.c &&\n> -\ttest ! -f src/part3.h &&\n> -\ttest ! -f src/part4.c &&\n> -\ttest ! -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_file src/part3.c &&\n> +\ttest_path_is_missing src/part3.h &&\n> +\ttest_path_is_missing src/part4.c &&\n> +\ttest_path_is_missing src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -345,18 +345,18 @@ test_expect_success 'git clean -id (inverse select)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines s \"*\" \"-5- 1 -2\" \"\" c |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest ! -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_missing src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -367,18 +367,18 @@ test_expect_success 'git clean -id (ask)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines a Y y no yes bad \"\" |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest ! -f docs/manual.txt &&\n> -\ttest -f src/part3.c &&\n> -\ttest ! -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_missing docs/manual.txt &&\n> +\ttest_path_is_file src/part3.c &&\n> +\ttest_path_is_missing src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -389,18 +389,18 @@ test_expect_success 'git clean -id (ask - Ctrl+D)' '\n>  \tdocs/manual.txt obj.o build/lib.so &&\n>  \ttest_write_lines a Y no yes \"\\04\" |\n>  \tgit clean -id &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -412,18 +412,18 @@ test_expect_success 'git clean -id with prefix and path (filter)' '\n>  \t(cd build/ &&\n>  \t test_write_lines f docs \"*.h\" \"\" c |\n>  \t git clean -id ..) &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest ! -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_file docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_missing src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -435,18 +435,18 @@ test_expect_success 'git clean -id with prefix and path (select by name)' '\n>  \t(cd build/ &&\n>  \t test_write_lines s ../docs/ ../src/part3.c ../src/part4.c \"\" c |\n>  \t git clean -id ..) &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest -f a.out &&\n> -\ttest ! -f docs/manual.txt &&\n> -\ttest ! -f src/part3.c &&\n> -\ttest -f src/part3.h &&\n> -\ttest ! -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_file a.out &&\n> +\ttest_path_is_missing docs/manual.txt &&\n> +\ttest_path_is_missing src/part3.c &&\n> +\ttest_path_is_file src/part3.h &&\n> +\ttest_path_is_missing src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> @@ -458,18 +458,18 @@ test_expect_success 'git clean -id with prefix and path (ask)' '\n>  \t(cd build/ &&\n>  \t test_write_lines a Y y no yes bad \"\" |\n>  \t git clean -id ..) &&\n> -\ttest -f Makefile &&\n> -\ttest -f README &&\n> -\ttest -f src/part1.c &&\n> -\ttest -f src/part2.c &&\n> -\ttest ! -f a.out &&\n> -\ttest ! -f docs/manual.txt &&\n> -\ttest -f src/part3.c &&\n> -\ttest ! -f src/part3.h &&\n> -\ttest -f src/part4.c &&\n> -\ttest -f src/part4.h &&\n> -\ttest -f obj.o &&\n> -\ttest -f build/lib.so\n> +\ttest_path_is_file Makefile &&\n> +\ttest_path_is_file README &&\n> +\ttest_path_is_file src/part1.c &&\n> +\ttest_path_is_file src/part2.c &&\n> +\ttest_path_is_missing a.out &&\n> +\ttest_path_is_missing docs/manual.txt &&\n> +\ttest_path_is_file src/part3.c &&\n> +\ttest_path_is_missing src/part3.h &&\n> +\ttest_path_is_file src/part4.c &&\n> +\ttest_path_is_file src/part4.h &&\n> +\ttest_path_is_file obj.o &&\n> +\ttest_path_is_file build/lib.so\n>  \n>  '\n>  \n> -- \n> 2.34.1\n> \n> \n"},{"id":"489902","messageId":"20240304171732.64457-1-vincenzo.mezzela@gmail.com","threadId":"60956","inReplyTo":"20240227161734.52830-1-vincenzo.mezzela@gmail.com","subject":"[GSOC][PATCH v3 0/1] microproject: use test_path_is_* functions in test scripts","fromName":"Vincenzo Mezzela","fromEmail":"vincenzo.mezzela@gmail.com","sentAt":"2024-03-04T17:17:31Z","receivedAt":"2024-03-04T17:17:42Z","isPatch":true,"sender":{"key":"vincenzo.mezzela@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58368395?v=4"},"body":"Hi,\nFollowing previous discussions[1][2][3], this patch is submitted as a microproject\nfor the application to the GSOC.\n\nThanks,\nVincenzo\n\nChanges in V2:\n* Fixed commit message[2].\nChanges in V3:\n* Fixed commit message[3].\n\n[1] https://lore.kernel.org/git/xmqqy1bo5k5h.fsf@gitster.g/\n[2] https://lore.kernel.org/git/20240219172214.7644-1-vincenzo.mezzela@gmail.com/\n[1] https://lore.kernel.org/git/ZeWVB5uKLONfp6cO@tanuki/\n\nVincenzo Mezzela (1):\n  t7301: use test_path_is_(missing|file)\n\n t/t7301-clean-interactive.sh | 490 +++++++++++++++++------------------\n 1 file changed, 245 insertions(+), 245 deletions(-)\n\n-- \n2.34.1\n\n"},{"id":"489903","messageId":"20240304171732.64457-2-vincenzo.mezzela@gmail.com","threadId":"60956","inReplyTo":"20240304171732.64457-1-vincenzo.mezzela@gmail.com","subject":"[GSOC][PATCH v3 1/1] t7301: use test_path_is_(missing|file)","fromName":"Vincenzo Mezzela","fromEmail":"vincenzo.mezzela@gmail.com","sentAt":"2024-03-04T17:17:32Z","receivedAt":"2024-03-04T17:17:47Z","isPatch":true,"sender":{"key":"vincenzo.mezzela@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58368395?v=4"},"body":"Refactor test -f to utilize the corresponding helper functions from\ntest-lib-functions.sh. These functions perform identical operations\nwhile enhancing debugging capabilities in case of test failures.\n\nIn the context of this file, 'test ! -f' is meant to check if the file\nhas been correctly cleaned, thus its usage is replaced with\n'test_path_is_missing' instead of '! test_path_is_file'.\n\nSigned-off-by: Vincenzo Mezzela <vincenzo.mezzela@gmail.com>\n---\n t/t7301-clean-interactive.sh | 490 +++++++++++++++++------------------\n 1 file changed, 245 insertions(+), 245 deletions(-)\n\ndiff --git a/t/t7301-clean-interactive.sh b/t/t7301-clean-interactive.sh\nindex d82a3210a1..4afe53c66a 100755\n--- a/t/t7301-clean-interactive.sh\n+++ b/t/t7301-clean-interactive.sh\n@@ -25,18 +25,18 @@ test_expect_success 'git clean -i (c: clean hotkey)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo c | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -46,18 +46,18 @@ test_expect_success 'git clean -i (cl: clean prefix)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo cl | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -67,18 +67,18 @@ test_expect_success 'git clean -i (quit)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo quit | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -88,18 +88,18 @@ test_expect_success 'git clean -i (Ctrl+D)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo \"\\04\" | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -110,18 +110,18 @@ test_expect_success 'git clean -id (filter all)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"*\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -132,18 +132,18 @@ test_expect_success 'git clean -id (filter patterns)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"part3.* *.out\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -154,18 +154,18 @@ test_expect_success 'git clean -id (filter patterns 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"* !*.out\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -176,18 +176,18 @@ test_expect_success 'git clean -id (select - all)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"*\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -198,18 +198,18 @@ test_expect_success 'git clean -id (select - none)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -220,18 +220,18 @@ test_expect_success 'git clean -id (select - number)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s 3 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -242,18 +242,18 @@ test_expect_success 'git clean -id (select - number 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"2 3\" 5 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -264,18 +264,18 @@ test_expect_success 'git clean -id (select - number 3)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"3,4 5\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -285,11 +285,11 @@ test_expect_success 'git clean -id (select - filenames)' '\n \ttouch a.out foo.txt bar.txt baz.txt &&\n \ttest_write_lines s \"a.out fo ba bar\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest ! -f a.out &&\n-\ttest ! -f foo.txt &&\n-\ttest ! -f bar.txt &&\n-\ttest -f baz.txt &&\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing foo.txt &&\n+\ttest_path_is_missing bar.txt &&\n+\ttest_path_is_file baz.txt &&\n \trm baz.txt\n \n '\n@@ -301,18 +301,18 @@ test_expect_success 'git clean -id (select - range)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"1,3-4\" 2 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -323,18 +323,18 @@ test_expect_success 'git clean -id (select - range 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"4- 1\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -345,18 +345,18 @@ test_expect_success 'git clean -id (inverse select)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"*\" \"-5- 1 -2\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -367,18 +367,18 @@ test_expect_success 'git clean -id (ask)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines a Y y no yes bad \"\" |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -389,18 +389,18 @@ test_expect_success 'git clean -id (ask - Ctrl+D)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines a Y no yes \"\\04\" |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -412,18 +412,18 @@ test_expect_success 'git clean -id with prefix and path (filter)' '\n \t(cd build/ &&\n \t test_write_lines f docs \"*.h\" \"\" c |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -435,18 +435,18 @@ test_expect_success 'git clean -id with prefix and path (select by name)' '\n \t(cd build/ &&\n \t test_write_lines s ../docs/ ../src/part3.c ../src/part4.c \"\" c |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -458,18 +458,18 @@ test_expect_success 'git clean -id with prefix and path (ask)' '\n \t(cd build/ &&\n \t test_write_lines a Y y no yes bad \"\" |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n-- \n2.34.1\n\n"},{"id":"489919","messageId":"xmqqcys9oedq.fsf@gitster.g","threadId":"60956","inReplyTo":"20240304171732.64457-2-vincenzo.mezzela@gmail.com","subject":"Re: [GSOC][PATCH v3 1/1] t7301: use test_path_is_(missing|file)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-03-04T21:50:41Z","receivedAt":"2024-03-04T21:50:44Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Vincenzo Mezzela <vincenzo.mezzela@gmail.com> writes:\n\n> Refactor test -f to utilize the corresponding helper functions from\n\nAs Eric pointed out to another GSoC applicant in a different thread,\nthis is not refactoring any code, so saying \"refactor\" is a bit\nmisleading.\n\n    Replace use of \"test -f\" with the \"test_path_is_file\" helper\n    function ...\n\n> test-lib-functions.sh. These functions perform identical operations\n> while enhancing debugging capabilities in case of test failures.\n>\n> In the context of this file, 'test ! -f' is meant to check if the file\n> has been correctly cleaned, thus its usage is replaced with\n> 'test_path_is_missing' instead of '! test_path_is_file'.\n\nIn other words, the original used \"test ! -f\" when it meant to say\n\"test ! -e\", and test_path_is_missing would be a correct replacement?\n\nIf so that makes sense.\n"},{"id":"489931","messageId":"CAPig+cTMiFfwTf0H+X8wecDwcKnOR=TQX54NGNs1oXmKQ4TrUw@mail.gmail.com","threadId":"60956","inReplyTo":"xmqqcys9oedq.fsf@gitster.g","subject":"Re: [GSOC][PATCH v3 1/1] t7301: use test_path_is_(missing|file)","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2024-03-04T23:53:08Z","receivedAt":"2024-03-04T23:53:20Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Mon, Mar 4, 2024 at 4:51 PM Junio C Hamano <gitster@pobox.com> wrote:\n> Vincenzo Mezzela <vincenzo.mezzela@gmail.com> writes:\n> > Refactor test -f to utilize the corresponding helper functions from\n>\n> As Eric pointed out to another GSoC applicant in a different thread,\n> this is not refactoring any code, so saying \"refactor\" is a bit\n> misleading.\n\nThis is probably a reference to [1], though I was definitely thinking\nof [2] when I wrote [1], so we come full-circle.\n\n[1]: https://lore.kernel.org/git/CAPig+cR2-6qONkosu7=qEQSJa_fvYuVQ0to47D5qx904zW08Eg@mail.gmail.com/\n[2]: https://lore.kernel.org/git/xmqqmst2nszq.fsf@gitster.g/\n"},{"id":"490317","messageId":"20240310114311.598681-1-vincenzo.mezzela@gmail.com","threadId":"60956","inReplyTo":"20240304171732.64457-1-vincenzo.mezzela@gmail.com","subject":"[GSOC][PATCH v4 0/1] microproject: use test_path_is_* functions in test scripts","fromName":"Vincenzo Mezzela","fromEmail":"vincenzo.mezzela@gmail.com","sentAt":"2024-03-10T11:43:10Z","receivedAt":"2024-03-10T11:43:16Z","isPatch":true,"sender":{"key":"vincenzo.mezzela@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58368395?v=4"},"body":"Hi,\nFollowing previous discussions[1][2][3][4], this patch is submitted as a microproject\nfor the application to the GSOC.\n\nThanks,\nVincenzo\n\nChanges in V2:\n* Fixed commit message[2].\nChanges in V3:\n* Fixed commit message[3].\nChanges in V4:\n* Fixed commit message[4].\n\n[1] https://lore.kernel.org/git/xmqqy1bo5k5h.fsf@gitster.g/\n[2] https://lore.kernel.org/git/20240219172214.7644-1-vincenzo.mezzela@gmail.com/\n[3] https://lore.kernel.org/git/ZeWVB5uKLONfp6cO@tanuki/\n[4] https://lore.kernel.org/git/xmqqcys9oedq.fsf@gitster.g/\n\nVincenzo Mezzela (1):\n  t7301: use test_path_is_(missing|file)\n\n t/t7301-clean-interactive.sh | 490 +++++++++++++++++------------------\n 1 file changed, 245 insertions(+), 245 deletions(-)\n\n-- \n2.34.1\n\n"},{"id":"490318","messageId":"20240310114311.598681-2-vincenzo.mezzela@gmail.com","threadId":"60956","inReplyTo":"20240310114311.598681-1-vincenzo.mezzela@gmail.com","subject":"[GSOC][PATCH v4 1/1] t7301: use test_path_is_(missing|file)","fromName":"Vincenzo Mezzela","fromEmail":"vincenzo.mezzela@gmail.com","sentAt":"2024-03-10T11:43:11Z","receivedAt":"2024-03-10T11:43:18Z","isPatch":true,"sender":{"key":"vincenzo.mezzela@gmail.com","avatar":"https://avatars.githubusercontent.com/u/58368395?v=4"},"body":"Replace use of 'test -f' with 'test_path_is_file' helper functions from\ntest-lib-functions.sh. These functions perform identical operations\nwhile enhancing debugging capabilities in case of test failures.\n\nIn the context of this file, 'test ! -f' is meant to check if the file\nhas been correctly cleaned, so it should be 'test ! -e'.\nThus its usage is replaced with 'test_path_is_missing' instead of \n'! test_path_is_file'.\n\nSigned-off-by: Vincenzo Mezzela <vincenzo.mezzela@gmail.com>\n---\n t/t7301-clean-interactive.sh | 490 +++++++++++++++++------------------\n 1 file changed, 245 insertions(+), 245 deletions(-)\n\ndiff --git a/t/t7301-clean-interactive.sh b/t/t7301-clean-interactive.sh\nindex d82a3210a1..4afe53c66a 100755\n--- a/t/t7301-clean-interactive.sh\n+++ b/t/t7301-clean-interactive.sh\n@@ -25,18 +25,18 @@ test_expect_success 'git clean -i (c: clean hotkey)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo c | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -46,18 +46,18 @@ test_expect_success 'git clean -i (cl: clean prefix)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo cl | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -67,18 +67,18 @@ test_expect_success 'git clean -i (quit)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo quit | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -88,18 +88,18 @@ test_expect_success 'git clean -i (Ctrl+D)' '\n \ttouch a.out src/part3.c src/part3.h src/part4.c src/part4.h \\\n \tdocs/manual.txt obj.o build/lib.so &&\n \techo \"\\04\" | git clean -i &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -110,18 +110,18 @@ test_expect_success 'git clean -id (filter all)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"*\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -132,18 +132,18 @@ test_expect_success 'git clean -id (filter patterns)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"part3.* *.out\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -154,18 +154,18 @@ test_expect_success 'git clean -id (filter patterns 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines f \"* !*.out\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -176,18 +176,18 @@ test_expect_success 'git clean -id (select - all)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"*\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -198,18 +198,18 @@ test_expect_success 'git clean -id (select - none)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -220,18 +220,18 @@ test_expect_success 'git clean -id (select - number)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s 3 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -242,18 +242,18 @@ test_expect_success 'git clean -id (select - number 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"2 3\" 5 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -264,18 +264,18 @@ test_expect_success 'git clean -id (select - number 3)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"3,4 5\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -285,11 +285,11 @@ test_expect_success 'git clean -id (select - filenames)' '\n \ttouch a.out foo.txt bar.txt baz.txt &&\n \ttest_write_lines s \"a.out fo ba bar\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest ! -f a.out &&\n-\ttest ! -f foo.txt &&\n-\ttest ! -f bar.txt &&\n-\ttest -f baz.txt &&\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing foo.txt &&\n+\ttest_path_is_missing bar.txt &&\n+\ttest_path_is_file baz.txt &&\n \trm baz.txt\n \n '\n@@ -301,18 +301,18 @@ test_expect_success 'git clean -id (select - range)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"1,3-4\" 2 \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -323,18 +323,18 @@ test_expect_success 'git clean -id (select - range 2)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"4- 1\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest ! -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_missing src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -345,18 +345,18 @@ test_expect_success 'git clean -id (inverse select)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines s \"*\" \"-5- 1 -2\" \"\" c |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -367,18 +367,18 @@ test_expect_success 'git clean -id (ask)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines a Y y no yes bad \"\" |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -389,18 +389,18 @@ test_expect_success 'git clean -id (ask - Ctrl+D)' '\n \tdocs/manual.txt obj.o build/lib.so &&\n \ttest_write_lines a Y no yes \"\\04\" |\n \tgit clean -id &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -412,18 +412,18 @@ test_expect_success 'git clean -id with prefix and path (filter)' '\n \t(cd build/ &&\n \t test_write_lines f docs \"*.h\" \"\" c |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_file docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -435,18 +435,18 @@ test_expect_success 'git clean -id with prefix and path (select by name)' '\n \t(cd build/ &&\n \t test_write_lines s ../docs/ ../src/part3.c ../src/part4.c \"\" c |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest ! -f src/part3.c &&\n-\ttest -f src/part3.h &&\n-\ttest ! -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_file a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_missing src/part3.c &&\n+\ttest_path_is_file src/part3.h &&\n+\ttest_path_is_missing src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n@@ -458,18 +458,18 @@ test_expect_success 'git clean -id with prefix and path (ask)' '\n \t(cd build/ &&\n \t test_write_lines a Y y no yes bad \"\" |\n \t git clean -id ..) &&\n-\ttest -f Makefile &&\n-\ttest -f README &&\n-\ttest -f src/part1.c &&\n-\ttest -f src/part2.c &&\n-\ttest ! -f a.out &&\n-\ttest ! -f docs/manual.txt &&\n-\ttest -f src/part3.c &&\n-\ttest ! -f src/part3.h &&\n-\ttest -f src/part4.c &&\n-\ttest -f src/part4.h &&\n-\ttest -f obj.o &&\n-\ttest -f build/lib.so\n+\ttest_path_is_file Makefile &&\n+\ttest_path_is_file README &&\n+\ttest_path_is_file src/part1.c &&\n+\ttest_path_is_file src/part2.c &&\n+\ttest_path_is_missing a.out &&\n+\ttest_path_is_missing docs/manual.txt &&\n+\ttest_path_is_file src/part3.c &&\n+\ttest_path_is_missing src/part3.h &&\n+\ttest_path_is_file src/part4.c &&\n+\ttest_path_is_file src/part4.h &&\n+\ttest_path_is_file obj.o &&\n+\ttest_path_is_file build/lib.so\n \n '\n \n-- \n2.34.1\n\n"},{"id":"490363","messageId":"xmqqr0ggu3tq.fsf@gitster.g","threadId":"60956","inReplyTo":"20240310114311.598681-2-vincenzo.mezzela@gmail.com","subject":"Re: [GSOC][PATCH v4 1/1] t7301: use test_path_is_(missing|file)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-03-11T16:32:33Z","receivedAt":"2024-03-11T16:32:41Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Vincenzo Mezzela <vincenzo.mezzela@gmail.com> writes:\n\n> Replace use of 'test -f' with 'test_path_is_file' helper functions from\n\nBefore \"helper functions\", we'd need another pair, e.g.\n\n    and 'test ! -f' with 'test_path_is_missing'\n\notherwise the plurals in the remainder of the paragraph would not\nmake much sense.\n\n> test-lib-functions.sh. These functions perform identical operations\n> while enhancing debugging capabilities in case of test failures.\n\n\n\n>\n> In the context of this file, 'test ! -f' is meant to check if the file\n> has been correctly cleaned, so it should be 'test ! -e'.\n> Thus its usage is replaced with 'test_path_is_missing' instead of \n> '! test_path_is_file'.\n\nEven if the test meant not to complain when there is something not a\nregular file (e.g. a directory), \"! test_path_is_file\" is not the\nright way to express it, so the way this paragraph is written is\nsomewhat misleading.  Something like\n\n    The original used `test ! -f` but it did not mean that the tests\n    are happy if a directory exists there.  It should have used\n    `test ! -e`, and using test_path_is_missing matches the intent.\n\nperhaps.\n\n"}]}