t6300: make `%(raw:size) --shell` test more robust
This test populates its `expect` file solely by appending content but fails to ensure that the file starts out empty. The test succeeds only because no earlier test populated a file of the exact same name, however this is an accident waiting to happen. Make the test more robust by ensuring that it contains exactly the intended content. While at it, simplify the implementation via a straightforward `sed` application and by avoiding dropping out of the single-quote context within the test body (thus eliminating a hard-to-digest combination of apostrophes and backslashes). Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Reviewed-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Eric Sunshine committed
Dec 9, 2021 at 00:11 UTC
efe47c83b266b3ca12d646f5a8f1c6a71f0d6e44
1 file changed
+1
-4
t/t6300-for-each-ref.sh
+1
-4
@@ -955,10 +955,7 @@ test_expect_success '%(raw) with --shell and --sort=raw must fail' '
955
'
956
957
test_expect_success '%(raw:size) with --shell' '
958
- git for-each-ref --format="%(raw:size)" | while read line
959
- do
960
- echo "'\''$line'\''" >>expect
961
- done &&
958
+ git for-each-ref --format="%(raw:size)" | sed "s/^/$SQ/;s/$/$SQ/" >expect &&
959
git for-each-ref --format="%(raw:size)" --shell >actual &&
960
test_cmp expect actual
961
'