The TAP format does not allow arbitrary output outside of a specific test case. If a test suite wants to print any such diagnostic output, then this output has to be prefixed with "#" to mark it accordingly. A bunch of our tests generate output outside of `test_expect_*` testcases anyway without such a mark, which breaks strict TAP parsers. Upon further inspection, all of the output generated by such tests is rather uninteresting. Refactor them so that we don't break the TAP format. Signed-off-by: Patrick Steinhardt <ps@xxxxxx> --- t/t0050-filesystem.sh | 5 ----- t/t1007-hash-object.sh | 2 +- t/t3600-rm.sh | 5 ----- t/t4000-diff-format.sh | 2 +- t/t4041-diff-submodule-option.sh | 4 ++-- t/t4060-diff-submodule-option-diff-format.sh | 2 +- t/t7401-submodule-summary.sh | 4 ++-- t/t9500-gitweb-standalone-no-errors.sh | 14 +++++++------- t/t9822-git-p4-path-encoding.sh | 13 +++++++++---- t/t9835-git-p4-metadata-encoding-python2.sh | 4 ++-- t/t9836-git-p4-metadata-encoding-python3.sh | 4 ++-- t/t9903-bash-prompt.sh | 4 ---- 12 files changed, 27 insertions(+), 36 deletions(-) diff --git a/t/t0050-filesystem.sh b/t/t0050-filesystem.sh index 5c9dc90d0b0..5f544d0f210 100755 --- a/t/t0050-filesystem.sh +++ b/t/t0050-filesystem.sh @@ -12,7 +12,6 @@ aumlcdiar=$(printf '\141\314\210') if test_have_prereq CASE_INSENSITIVE_FS then - say "will test on a case insensitive filesystem" test_case=test_expect_failure else test_case=test_expect_success @@ -20,15 +19,11 @@ fi if test_have_prereq UTF8_NFD_TO_NFC then - say "will test on a unicode corrupting filesystem" test_unicode=test_expect_failure else test_unicode=test_expect_success fi -test_have_prereq SYMLINKS || - say "will test on a filesystem lacking symbolic links" - if test_have_prereq CASE_INSENSITIVE_FS then test_expect_success "detection of case insensitive filesystem during repo init" ' diff --git a/t/t1007-hash-object.sh b/t/t1007-hash-object.sh index b3cf53ff8c9..210cce56ec6 100755 --- a/t/t1007-hash-object.sh +++ b/t/t1007-hash-object.sh @@ -30,7 +30,7 @@ setup_repo() { test_repo=test push_repo() { - test_create_repo $test_repo + test_create_repo $test_repo >/dev/null cd $test_repo setup_repo diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh index 98259e2adaa..1f16e6b5228 100755 --- a/t/t3600-rm.sh +++ b/t/t3600-rm.sh @@ -17,11 +17,6 @@ test_expect_success 'Initialize test directory' ' git commit -m "add normal files" ' -if test_have_prereq !FUNNYNAMES -then - say 'Your filesystem does not allow tabs in filenames.' -fi - test_expect_success FUNNYNAMES 'add files with funny names' ' touch -- "tab embedded" "newline${LF}embedded" && git add -- "tab embedded" "newline${LF}embedded" && diff --git a/t/t4000-diff-format.sh b/t/t4000-diff-format.sh index a51f881b1c9..32b14e3a714 100755 --- a/t/t4000-diff-format.sh +++ b/t/t4000-diff-format.sh @@ -36,7 +36,7 @@ test_expect_success 'git diff-files -p after editing work tree.' ' # that's as far as it comes if [ "$(git config --get core.filemode)" = false ] then - say 'filemode disabled on the filesystem' + skip_all='filemode disabled on the filesystem' test_done fi diff --git a/t/t4041-diff-submodule-option.sh b/t/t4041-diff-submodule-option.sh index 28f9d83d4c1..31f359ddf1e 100755 --- a/t/t4041-diff-submodule-option.sh +++ b/t/t4041-diff-submodule-option.sh @@ -48,7 +48,7 @@ commit_file () { git commit "$@" -m "Commit $*" >/dev/null } -test_create_repo sm1 && +test_create_repo sm1 >/dev/null && add_file . foo >/dev/null head1=$(add_file sm1 foo1 foo2) @@ -236,7 +236,7 @@ test_expect_success 'typechanged submodule(submodule->blob)' ' ' rm -f sm1 && -test_create_repo sm1 && +test_create_repo sm1 >/dev/null && head6=$(add_file sm1 foo6 foo7) fullhead6=$(cd sm1; git rev-parse --verify HEAD) test_expect_success 'nonexistent commit' ' diff --git a/t/t4060-diff-submodule-option-diff-format.sh b/t/t4060-diff-submodule-option-diff-format.sh index 76b83101d3b..17ef40c0c9f 100755 --- a/t/t4060-diff-submodule-option-diff-format.sh +++ b/t/t4060-diff-submodule-option-diff-format.sh @@ -364,7 +364,7 @@ test_expect_success 'typechanged submodule(submodule->blob)' ' ' rm -f sm1 && -test_create_repo sm1 && +test_create_repo sm1 >/dev/null && head6=$(add_file sm1 foo6 foo7) test_expect_success 'nonexistent commit' ' git diff-index -p --submodule=diff HEAD >actual && diff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh index 9c3cc4cf404..80bbb1b7b5b 100755 --- a/t/t7401-submodule-summary.sh +++ b/t/t7401-submodule-summary.sh @@ -38,7 +38,7 @@ commit_file () { git commit "$@" -m "Commit $*" >/dev/null } -test_create_repo sm1 && +test_create_repo sm1 >/dev/null && add_file . foo >/dev/null head1=$(add_file sm1 foo1 foo2) @@ -215,7 +215,7 @@ test_expect_success 'typechanged submodule(submodule->blob)' " " rm -f sm1 && -test_create_repo sm1 && +test_create_repo sm1 >/dev/null && head6=$(add_file sm1 foo6 foo7) test_expect_success 'nonexistent commit' " git submodule summary >actual && diff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb-standalone-no-errors.sh index 7679780fb87..84196a10896 100755 --- a/t/t9500-gitweb-standalone-no-errors.sh +++ b/t/t9500-gitweb-standalone-no-errors.sh @@ -701,13 +701,13 @@ test_expect_success \ # syntax highlighting -highlight_version=$(highlight --version </dev/null 2>/dev/null) -if [ $? -eq 127 ]; then - say "Skipping syntax highlighting tests: 'highlight' not found" -elif test -z "$highlight_version"; then - say "Skipping syntax highlighting tests: incorrect 'highlight' found" -else - test_set_prereq HIGHLIGHT +test_lazy_prereq HIGHLIGHT ' + highlight_version=$(highlight --version </dev/null 2>/dev/null) && + test -n "$highlight_version" +' + +if test_have_prereq HIGHLIGHT +then cat >>gitweb_config.perl <<-\EOF our $highlight_bin = "highlight"; $feature{'highlight'}{'override'} = 1; diff --git a/t/t9822-git-p4-path-encoding.sh b/t/t9822-git-p4-path-encoding.sh index 572d395498e..ddb2052ea7b 100755 --- a/t/t9822-git-p4-path-encoding.sh +++ b/t/t9822-git-p4-path-encoding.sh @@ -7,12 +7,17 @@ test_description='Clone repositories with non ASCII paths' UTF8_ESCAPED="a-\303\244_o-\303\266_u-\303\274.txt" ISO8859_ESCAPED="a-\344_o-\366_u-\374.txt" -ISO8859="$(printf "$ISO8859_ESCAPED")" && -echo content123 >"$ISO8859" && -rm "$ISO8859" || { +test_lazy_prereq FS_ACCEPTS_ISO_8859_1 ' + ISO8859="$(printf "$ISO8859_ESCAPED")" && + echo content123 >"$ISO8859" 2>/dev/null && + rm "$ISO8859" +' + +if ! test_have_prereq FS_ACCEPTS_ISO_8859_1 +then skip_all="fs does not accept ISO-8859-1 filenames" test_done -} +fi test_expect_success 'start p4d' ' start_p4d diff --git a/t/t9835-git-p4-metadata-encoding-python2.sh b/t/t9835-git-p4-metadata-encoding-python2.sh index 6116f806f63..83eca4fa658 100755 --- a/t/t9835-git-p4-metadata-encoding-python2.sh +++ b/t/t9835-git-p4-metadata-encoding-python2.sh @@ -15,7 +15,7 @@ failing, and produces maximally sane output in git.' # These tests are specific to Python 2. Write a custom script that executes # git-p4 directly with the Python 2 interpreter to ensure that we use that # version even if Git was compiled with Python 3. -python_target_binary=$(which python2) +python_target_binary=$(which python2 2>/dev/null) if test -n "$python_target_binary" then mkdir temp_python @@ -28,7 +28,7 @@ then fi git p4-python2 >err -if ! grep 'valid commands' err +if ! grep -q 'valid commands' err then skip_all="skipping python2 git p4 tests; python2 not available" test_done diff --git a/t/t9836-git-p4-metadata-encoding-python3.sh b/t/t9836-git-p4-metadata-encoding-python3.sh index 5e5217a66b4..da25edeb546 100755 --- a/t/t9836-git-p4-metadata-encoding-python3.sh +++ b/t/t9836-git-p4-metadata-encoding-python3.sh @@ -15,7 +15,7 @@ failing, and produces maximally sane output in git.' # These tests are specific to Python 3. Write a custom script that executes # git-p4 directly with the Python 3 interpreter to ensure that we use that # version even if Git was compiled with Python 2. -python_target_binary=$(which python3) +python_target_binary=$(which python3 2>/dev/null) if test -n "$python_target_binary" then mkdir temp_python @@ -28,7 +28,7 @@ then fi git p4-python3 >err -if ! grep 'valid commands' err +if ! grep -q 'valid commands' err then skip_all="skipping python3 git p4 tests; python3 not available" test_done diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh index d667dda654e..637a6f13a6d 100755 --- a/t/t9903-bash-prompt.sh +++ b/t/t9903-bash-prompt.sh @@ -66,10 +66,6 @@ test_expect_success 'prompt - unborn branch' ' test_cmp expected "$actual" ' -if test_have_prereq !FUNNYNAMES; then - say 'Your filesystem does not allow newlines in filenames.' -fi - test_expect_success FUNNYNAMES 'prompt - with newline in path' ' repo_with_newline="repo with -- 2.49.0.1266.g31b7d2e469.dirty