Re: [PATCH 3/3] t: detect and signal failure within loop
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 &&
>
>