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

[PATCH] t6006: fix prereq handling with `test_format ()`

From
Patrick Steinhardt <ps@pks.im>
Date
Oct 28, 2024, 05:14 UTC
Message-ID
<ccb2d7cf817a181fab8fb083bdc9f1fed4671749.1730092261.git.ps@pks.im>
In-Reply-To
<zod73s7j77gjj2f62clg3utxlxnclbyhjjz3yc74x7zyh35fzy@blwhzqefxyrs>

In df383b5842 (t/test-lib: wire up NO_ICONV prerequisite, 2024-10-16) we have introduced a new NO_ICONV prerequisite that makes us skip tests in case Git is not compiled with support for iconv. This change subtly broke t6006: while the test suite still passes, some of its tests won't execute because they run into an error.

    ./t6006-rev-list-format.sh: line 92: test_expect_%e: command not found

The broken tests use `test_format ()`, and the mentioned commit simply prepended the new prerequisite to its arguments. But that does not work, as the function is not aware of prereqs at all and will now treat all of its arguments incorrectly.

Fix this by making the function aware of prereqs by accepting an optional fourth argument. Adapt the callsites accordingly.

Reported-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---

Oops, good catch. @Taylor, let's maybe queue this fix on top of ps/platform-compat-fixes, which currently sits in next.

Thanks!
Patrick
 t/t6006-rev-list-format.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/t/t6006-rev-list-format.sh b/t/t6006-rev-list-format.sh
index 2a01a62a2f..b0ec2fe865 100755
--- a/t/t6006-rev-list-format.sh
+++ b/t/t6006-rev-list-format.sh
@@ -75,7 +75,7 @@ test_expect_success 'setup' '
 	git config --unset i18n.commitEncoding
 '
 
-# usage: test_format [argument...] name format_string [failure] <expected_output
+# usage: test_format [argument...] name format_string [success|failure] [prereq] <expected_output
 test_format () {
 	local args=
 	while true
@@ -89,7 +89,7 @@ test_format () {
 		esac
 	done
 	cat >expect.$1
-	test_expect_${3:-success} "format $1" "
+	test_expect_${3:-success} $4 "format $1" "
 		git rev-list $args --pretty=format:'$2' main >output.$1 &&
 		test_cmp expect.$1 output.$1
 	"
@@ -218,7 +218,7 @@ Thu, 7 Apr 2005 15:13:13 -0700
 1112911993
 EOF
 
-test_format ICONV encoding %e <<EOF
+test_format encoding %e success ICONV <<EOF
 commit $head2
 $test_encoding
 commit $head1
@@ -394,7 +394,7 @@ test_expect_success 'setup complex body' '
 	head3_short=$(git rev-parse --short $head3)
 '
 
-test_format ICONV complex-encoding %e <<EOF
+test_format complex-encoding %e success ICONV <<EOF
 commit $head3
 $test_encoding
 commit $head2
-- 
2.47.0.118.gfd3785337b.dirty
Previous: Josh SteadmonNext: Taylor Blau
Message 49 of 58 in “Platform compatibility fixes”
  1. 00/10 Platform compatibility fixesPatrick Steinhardt, Oct 14, 2024
  2. 01/10 t/test-lib: fix quoting of TEST_RESULTS_SAN_FILEPatrick Steinhardt, Oct 14, 2024
  3. Taylor BlauOct 14, 2024
  4. 02/10 t/test-lib: wire up NO_ICONV prerequisitePatrick Steinhardt, Oct 14, 2024
  5. 03/10 t/lib-gitweb: test against the build version of gitwebPatrick Steinhardt, Oct 14, 2024
  6. Taylor BlauOct 14, 2024
  7. Patrick SteinhardtOct 15, 2024
  8. 04/10 t/lib-gpg: fix setup of GNUPGHOME in MinGWPatrick Steinhardt, Oct 14, 2024
  9. Taylor BlauOct 14, 2024
  10. 05/10 t1401: make invocation of tar(1) work with Win32-provided onePatrick Steinhardt, Oct 14, 2024
  11. Eric SunshineOct 14, 2024
  12. Taylor BlauOct 15, 2024
  13. 06/10 t3404: work around platform-specific behaviour on macOS 10.15Patrick Steinhardt, Oct 14, 2024
  14. 07/10 t5500, t5601: skip tests which exercise paths with '[::1]' on CygwinPatrick Steinhardt, Oct 14, 2024
  15. Taylor BlauOct 14, 2024
  16. 08/10 t7300: work around platform-specific behaviour with long paths on MinGWPatrick Steinhardt, Oct 14, 2024
  17. 09/10 builtin/credential-cache: fix missing parameter for stub functionPatrick Steinhardt, Oct 14, 2024
  18. Taylor BlauOct 14, 2024
  19. 10/10 http: fix build error on FreeBSDPatrick Steinhardt, Oct 14, 2024
  20. Taylor BlauOct 14, 2024
  21. Patrick SteinhardtOct 15, 2024
  22. 00/10 Platform compatibility fixesPatrick Steinhardt, Oct 15, 2024
  23. 01/10 t/test-lib: fix quoting of TEST_RESULTS_SAN_FILEPatrick Steinhardt, Oct 15, 2024
  24. 02/10 t/test-lib: wire up NO_ICONV prerequisitePatrick Steinhardt, Oct 15, 2024
  25. Taylor BlauOct 15, 2024
  26. Patrick SteinhardtOct 16, 2024
  27. Taylor BlauOct 16, 2024
  28. Taylor BlauOct 16, 2024
  29. Patrick SteinhardtOct 17, 2024
  30. 03/10 t/lib-gitweb: test against the build version of gitwebPatrick Steinhardt, Oct 15, 2024
  31. 04/10 t/lib-gpg: fix setup of GNUPGHOME in MinGWPatrick Steinhardt, Oct 15, 2024
  32. James LiuOct 16, 2024
  33. 05/10 t1401: make invocation of tar(1) work with Win32-provided onePatrick Steinhardt, Oct 15, 2024
  34. James LiuOct 16, 2024
  35. 06/10 t3404: work around platform-specific behaviour on macOS 10.15Patrick Steinhardt, Oct 15, 2024
  36. James LiuOct 16, 2024
  37. 07/10 t5500, t5601: skip tests which exercise paths with '[::1]' on CygwinPatrick Steinhardt, Oct 15, 2024
  38. 08/10 t7300: work around platform-specific behaviour with long paths on MinGWPatrick Steinhardt, Oct 15, 2024
  39. James LiuOct 16, 2024
  40. James LiuOct 16, 2024
  41. 09/10 builtin/credential-cache: fix missing parameter for stub functionPatrick Steinhardt, Oct 15, 2024
  42. 10/10 http: fix build error on FreeBSDPatrick Steinhardt, Oct 15, 2024
  43. 00/10 Platform compatibility fixesPatrick Steinhardt, Oct 16, 2024
  44. 01/10 t/test-lib: fix quoting of TEST_RESULTS_SAN_FILEPatrick Steinhardt, Oct 16, 2024
  45. 02/10 t/test-lib: wire up NO_ICONV prerequisitePatrick Steinhardt, Oct 16, 2024
  46. brian m. carlsonOct 17, 2024
  47. Patrick SteinhardtOct 17, 2024
  48. Josh SteadmonOct 25, 2024
  49. t6006: fix prereq handling with `test_format ()`Patrick Steinhardt, Oct 28, 2024
  50. Taylor BlauOct 28, 2024
  51. 03/10 t/lib-gitweb: test against the build version of gitwebPatrick Steinhardt, Oct 16, 2024
  52. 04/10 t/lib-gpg: fix setup of GNUPGHOME in MinGWPatrick Steinhardt, Oct 16, 2024
  53. 05/10 t1401: make invocation of tar(1) work with Win32-provided onePatrick Steinhardt, Oct 16, 2024
  54. 06/10 t3404: work around platform-specific behaviour on macOS 10.15Patrick Steinhardt, Oct 16, 2024
  55. 07/10 t5500, t5601: skip tests which exercise paths with '[::1]' on CygwinPatrick Steinhardt, Oct 16, 2024
  56. 08/10 t7300: work around platform-specific behaviour with long paths on MinGWPatrick Steinhardt, Oct 16, 2024
  57. 09/10 builtin/credential-cache: fix missing parameter for stub functionPatrick Steinhardt, Oct 16, 2024
  58. 10/10 http: fix build error on FreeBSDPatrick Steinhardt, Oct 16, 2024

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.