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

Re: [PATCH 2/3] t7450: test submodule urls

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 9, 2024, 21:38 UTC
Message-ID
<xmqqttnmfarm.fsf@gitster.g>
In-Reply-To
<cf7848edffca27931aad02c0652adf2715320d35.1704822817.git.gitgitgadget@gmail.com>
"Victoria Dye via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 6 quoted lines
> +#define TEST_TOOL_CHECK_URL_USAGE \
> +	"test-tool submodule check-url <url>"
> +static const char *submodule_check_url_usage[] = {
> +	TEST_TOOL_CHECK_URL_USAGE,
> +	NULL
> +};

Granted, the entry that follows this new one already uses the same pattern, but TEST_TOOL_CHECK_URL_USAGE being used only once here and nowhere else, with its name almost as long as the value it expands to, I found it unnecessarily verbose and confusing.

>  #define TEST_TOOL_IS_ACTIVE_USAGE \
>  	"test-tool submodule is-active <name>"
>  static const char *submodule_is_active_usage[] = {
Show 7 quoted lines
> +typedef int (*check_fn_t)(const char *);
> +
>  /*
>   * Exit non-zero if any of the submodule names given on the command line is
>   * invalid. If no names are given, filter stdin to print only valid names
>   * (which is primarily intended for testing).
>   */

OK. As long as each of the input lines are unique, we can use the usual "does the actual output match the expected?" to test many of them at once, and notice if there is an extra one in the output that shouldn't have been emitted, or there is a missing one that should have.

Show 7 quoted lines
> -static int check_name(int argc, const char **argv)
> +static int check_submodule(int argc, const char **argv, check_fn_t check_fn)
>  {
>  	if (argc > 1) {
>  		while (*++argv) {
> -			if (check_submodule_name(*argv) < 0)
> +			if (check_fn(*argv) < 0)
Quite nice way to reuse what we already have, thanks to [1/3].
Previous: Victoria Dye via GitGitGadgetNext: Victoria Dye
Message 4 of 31 in “Strengthen fsck checks for submodule URLs”
  1. 0/3 Strengthen fsck checks for submodule URLsVictoria Dye via GitGitGadget, Jan 9, 2024
  2. 1/3 submodule-config.h: move check_submodule_urlVictoria Dye via GitGitGadget, Jan 9, 2024
  3. 2/3 t7450: test submodule urlsVictoria Dye via GitGitGadget, Jan 9, 2024
  4. Junio C HamanoJan 9, 2024
  5. Victoria DyeJan 11, 2024
  6. Jeff KingJan 10, 2024
  7. Victoria DyeJan 11, 2024
  8. Jeff KingJan 12, 2024
  9. 3/3 submodule-config.c: strengthen URL fsck checkVictoria Dye via GitGitGadget, Jan 9, 2024
  10. Junio C HamanoJan 9, 2024
  11. Patrick SteinhardtJan 10, 2024
  12. Victoria DyeJan 17, 2024
  13. Jeff KingJan 10, 2024
  14. Neil MayhewNov 13, 2024
  15. Neil MayhewNov 13, 2024
  16. Junio C HamanoNov 13, 2024
  17. Jeff KingNov 14, 2024
  18. Neil MayhewNov 14, 2024
  19. Junio C HamanoNov 14, 2024
  20. Neil MayhewNov 14, 2024
  21. Neil MayhewNov 14, 2024
  22. 0/4 Strengthen fsck checks for submodule URLsVictoria Dye via GitGitGadget, Jan 18, 2024
  23. 1/4 submodule-config.h: move check_submodule_urlVictoria Dye via GitGitGadget, Jan 18, 2024
  24. 2/4 test-submodule: remove command line handling for check-nameVictoria Dye via GitGitGadget, Jan 18, 2024
  25. Junio C HamanoJan 18, 2024
  26. 3/4 t7450: test submodule urlsVictoria Dye via GitGitGadget, Jan 18, 2024
  27. Patrick SteinhardtJan 19, 2024
  28. Junio C HamanoJan 19, 2024
  29. 4/4 submodule-config.c: strengthen URL fsck checkVictoria Dye via GitGitGadget, Jan 18, 2024
  30. Junio C HamanoJan 18, 2024
  31. Jeff KingJan 20, 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.