hook tests: turn exit code assertions into a loop

Amend a test added in 96e7225b31 (hook: add 'run' subcommand,
2021-12-22) to use a for-loop instead of a copy/pasting the same test
for the four exit codes we test.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Ævar Arnfjörð Bjarmason 2022-03-17 11:13:07 +01:00 committed by Junio C Hamano
parent 7da7f63cf9
commit 62e2486b61
1 changed files with 9 additions and 24 deletions

View File

@ -53,31 +53,16 @@ test_expect_success 'git hook run: stdout and stderr both write to our stderr' '
test_must_be_empty stdout.actual
'

test_expect_success 'git hook run: exit codes are passed along' '
write_script .git/hooks/test-hook <<-EOF &&
exit 1
EOF
for code in 1 2 128 129
do
test_expect_success "git hook run: exit code $code is passed along" '
test_hook test-hook <<-EOF &&
exit $code
EOF

test_expect_code 1 git hook run test-hook &&

write_script .git/hooks/test-hook <<-EOF &&
exit 2
EOF

test_expect_code 2 git hook run test-hook &&

write_script .git/hooks/test-hook <<-EOF &&
exit 128
EOF

test_expect_code 128 git hook run test-hook &&

write_script .git/hooks/test-hook <<-EOF &&
exit 129
EOF

test_expect_code 129 git hook run test-hook
'
test_expect_code $code git hook run test-hook
'
done

test_expect_success 'git hook run arg u ments without -- is not allowed' '
test_expect_code 129 git hook run test-hook arg u ments