git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/3] t: detect and signal failure within loop

From
Johannes Sixt <j6t@kdbg.org>
Date
Aug 23, 2022, 06:30 UTC
Message-ID
<103fa5ac-d67c-82a7-11b2-0ffee7570349@kdbg.org>
In-Reply-To
<xmqqfshoataq.fsf@gitster.g>
Am 22.08.22 um 22:59 schrieb Junio C Hamano:
Show 34 quoted lines
> t5329: notice a failure within a loop
> 
> We try to write "|| return 1" at the end of a sequence of &&-chained
> command in a loop of our tests, so that a failure of any step during
> the earlier iteration of the loop can properly be caught.
> 
> There is one loop in this test script that is used to compute the
> expected result, that will be later compared with an actual output
> produced by the "test-tool pack-mtimes" command.  This particular
> loop, however, is placed on the upstream side of a pipe, whose
> non-zero exit code does not get noticed.
> 
> Emit a line that will never be produced by the "test-tool pack-mtimes"
> to cause the later comparison to fail.  As we use test_cmp to compare
> this "expected output" file with the "actual output", the "error
> message" we are emitting into the expected output stream will stand
> out and shown to the tester.
> 
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  t/t5329-pack-objects-cruft.sh | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git c/t/t5329-pack-objects-cruft.sh w/t/t5329-pack-objects-cruft.sh
> index 6049e2c1d7..43d752acc7 100755
> --- c/t/t5329-pack-objects-cruft.sh
> +++ w/t/t5329-pack-objects-cruft.sh
> @@ -29,7 +29,8 @@ basic_cruft_pack_tests () {
>  				while read oid
>  				do
>  					path="$objdir/$(test_oid_to_path "$oid")" &&
> -					printf "%s %d\n" "$oid" "$(test-tool chmtime --get "$path")"
> +					printf "%s %d\n" "$oid" "$(test-tool chmtime --get "$path")" ||
> +					echo "object list generation failed for $obj"
This looks like the right thing to do. But write $oid, not $obj.
Show 5 quoted lines
>  				done |
>  				sort -k1
>  			) >expect &&
> 
> 
-- Hannes
Previous: Junio C HamanoNext: Elijah Newren
Message 8 of 10 in “tests: fix broken &&-chains & abort loops on error”
  1. 0/3 tests: fix broken &&-chains & abort loops on errorEric Sunshine via GitGitGadget, Aug 22, 2022
  2. 1/3 t2407: fix broken &&-chains in compound statementEric Sunshine via GitGitGadget, Aug 22, 2022
  3. 2/3 t1092: fix buggy sparse "blame" testEric Sunshine via GitGitGadget, Aug 22, 2022
  4. Derrick StoleeAug 22, 2022
  5. 3/3 t: detect and signal failure within loopEric Sunshine via GitGitGadget, Aug 22, 2022
  6. Junio C HamanoAug 22, 2022
  7. Junio C HamanoAug 22, 2022
  8. Johannes SixtAug 23, 2022
  9. Elijah NewrenAug 23, 2022
  10. Eric SunshineAug 28, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.