git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GSoC PATCH] t1420-lost-found.sh: use test_path_is_file for error logging
@ 2026-01-04 16:15 Andrew Chitester
  2026-01-05  3:24 ` Junio C Hamano
  2026-01-06 13:26 ` [GSoC PATCH v2 1/1] t1420: modernize the lost-found test Andrew Chitester
  0 siblings, 2 replies; 4+ messages in thread
From: Andrew Chitester @ 2026-01-04 16:15 UTC (permalink / raw)
  To: git; +Cc: Andrew Chitester

This test will fail silently without giving any error message. Use
test_path_is_file in place of test -f to ensure this test errors with a
message.

Signed-off-by: Andrew Chitester <andchi@fastmail.com>
---
 t/t1420-lost-found.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/t1420-lost-found.sh b/t/t1420-lost-found.sh
index 2fb2f44f02..5fbb1d10ed 100755
--- a/t/t1420-lost-found.sh
+++ b/t/t1420-lost-found.sh
@@ -29,8 +29,8 @@ test_expect_success 'lost and found something' '
 	git reset --hard HEAD^ &&
 	git fsck --lost-found &&
 	test 2 = $(ls .git/lost-found/*/* | wc -l) &&
-	test -f .git/lost-found/commit/$(cat lost-commit) &&
-	test -f .git/lost-found/other/$(cat lost-other)
+	test_path_is_file .git/lost-found/commit/$(cat lost-commit) &&
+	test_path_is_file .git/lost-found/other/$(cat lost-other)
 '
 
 test_done
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [GSoC PATCH] t1420-lost-found.sh: use test_path_is_file for error logging
  2026-01-04 16:15 [GSoC PATCH] t1420-lost-found.sh: use test_path_is_file for error logging Andrew Chitester
@ 2026-01-05  3:24 ` Junio C Hamano
  2026-01-08  1:30   ` Andrew Chitester
  2026-01-06 13:26 ` [GSoC PATCH v2 1/1] t1420: modernize the lost-found test Andrew Chitester
  1 sibling, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2026-01-05  3:24 UTC (permalink / raw)
  To: Andrew Chitester; +Cc: git

Andrew Chitester <andchi@fastmail.com> writes:

> This test will fail silently without giving any error message. Use
> test_path_is_file in place of test -f to ensure this test errors with a
> message.
>
> Signed-off-by: Andrew Chitester <andchi@fastmail.com>
> ---
>  t/t1420-lost-found.sh | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/t/t1420-lost-found.sh b/t/t1420-lost-found.sh
> index 2fb2f44f02..5fbb1d10ed 100755
> --- a/t/t1420-lost-found.sh
> +++ b/t/t1420-lost-found.sh
> @@ -29,8 +29,8 @@ test_expect_success 'lost and found something' '
>  	git reset --hard HEAD^ &&
>  	git fsck --lost-found &&
>  	test 2 = $(ls .git/lost-found/*/* | wc -l) &&
> -	test -f .git/lost-found/commit/$(cat lost-commit) &&
> -	test -f .git/lost-found/other/$(cat lost-other)
> +	test_path_is_file .git/lost-found/commit/$(cat lost-commit) &&
> +	test_path_is_file .git/lost-found/other/$(cat lost-other)
>  '

Looks correct, but given that what these tests want to ensure is
that underneath .git/lost-found there are only these two expected
files, I have to wonder if the output of "ls" here is expected to be
very stable.  I.e. if we rewrote the whole thing to something like
...

	ls .git/lost-found/*/* >actual &&
	cat >expect <<-EOF &&
	.git/lost-found/commit/$(cat lost-commit)
	.git/lost-found/other/$(cat lost-other)
	EOF
	test_cmp expect actual

... would it be a more direct way to say that and is easier to
understand to our readers.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [GSoC PATCH v2 1/1] t1420: modernize the lost-found test
  2026-01-04 16:15 [GSoC PATCH] t1420-lost-found.sh: use test_path_is_file for error logging Andrew Chitester
  2026-01-05  3:24 ` Junio C Hamano
@ 2026-01-06 13:26 ` Andrew Chitester
  1 sibling, 0 replies; 4+ messages in thread
From: Andrew Chitester @ 2026-01-06 13:26 UTC (permalink / raw)
  To: andchi; +Cc: git

This test indirectly checks that the lost-found folder has 2 files in it
and then checks that the expected two files exist. Make this more
deliberate by removing the old test -f and compare the actual ls of the
lost-found directory with the expected files.

Signed-off-by: Andrew Chitester <andchi@fastmail.com>
---
 t/t1420-lost-found.sh | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/t/t1420-lost-found.sh b/t/t1420-lost-found.sh
index 2fb2f44f02..926c6d63e3 100755
--- a/t/t1420-lost-found.sh
+++ b/t/t1420-lost-found.sh
@@ -28,9 +28,12 @@ test_expect_success 'lost and found something' '
 	test_tick &&
 	git reset --hard HEAD^ &&
 	git fsck --lost-found &&
-	test 2 = $(ls .git/lost-found/*/* | wc -l) &&
-	test -f .git/lost-found/commit/$(cat lost-commit) &&
-	test -f .git/lost-found/other/$(cat lost-other)
+	ls .git/lost-found/*/* >actual &&
+	cat >expect <<-EOF &&
+	.git/lost-found/commit/$(cat lost-commit)
+	.git/lost-found/other/$(cat lost-other)
+	EOF
+	test_cmp expect actual
 '
 
 test_done
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [GSoC PATCH] t1420-lost-found.sh: use test_path_is_file for error logging
  2026-01-05  3:24 ` Junio C Hamano
@ 2026-01-08  1:30   ` Andrew Chitester
  0 siblings, 0 replies; 4+ messages in thread
From: Andrew Chitester @ 2026-01-08  1:30 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> Looks correct, but given that what these tests want to ensure is
> that underneath .git/lost-found there are only these two expected
> files, I have to wonder if the output of "ls" here is expected to be
> very stable.  I.e. if we rewrote the whole thing to something like
> ...
>
> 	ls .git/lost-found/*/* >actual &&
> 	cat >expect <<-EOF &&
> 	.git/lost-found/commit/$(cat lost-commit)
> 	.git/lost-found/other/$(cat lost-other)
> 	EOF
> 	test_cmp expect actual
>
> ... would it be a more direct way to say that and is easier to
> understand to our readers.

Thanks for the feedback. This is an elegant solution that I did not
consider. Looking through the other tests, I am seeing this similar
pattern of comparing an expected result with the actual result. It is
much more deliberate and readable this way. I sent a v2, as a reply to
my original message, but I think I forgot to Cc you in that message. I'm
still figuring out the email workflow.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-01-08  1:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-04 16:15 [GSoC PATCH] t1420-lost-found.sh: use test_path_is_file for error logging Andrew Chitester
2026-01-05  3:24 ` Junio C Hamano
2026-01-08  1:30   ` Andrew Chitester
2026-01-06 13:26 ` [GSoC PATCH v2 1/1] t1420: modernize the lost-found test Andrew Chitester

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).