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

Re: [GSoC PATCH] t9400: prefer test_path_* helper functions

From
Patrick Steinhardt <ps@pks.im>
Date
Mar 10, 2025, 06:50 UTC
Message-ID
<Z86LrOEhH3CJOIey@pks.im>
In-Reply-To
<20250308090358.25429-1-contact@aynp.dev>
On Sat, Mar 08, 2025 at 06:03:58PM +0900, Aryan Pathania wrote:
> use `test_path_*` instead of `test -[efd]` to avoid false complaints and
Nit: We want to have full sentences in commit messages. Those sentences
should start with an upper-case letter and end with punctuation.
> output when running the script with `-v` or `-x`

Hm. I'm not exactly sure what "false complaints" you are talking about here. The benefit of `test_path_*`()` over `test -[efd]` is that they actually print information _why_ they have failed, which may help devs to figure out what's happening. So it's kind of the opposite of what you say in the commit message: we're now printing _more_ output, not less.

Show 15 quoted lines
> Signed-off-by: Aryan Pathania <contact@aynp.dev>
> ---
>  t/t9400-git-cvsserver-server.sh | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
> index e499c7f955..6c7cb1964c 100755
> --- a/t/t9400-git-cvsserver-server.sh
> +++ b/t/t9400-git-cvsserver-server.sh
> @@ -254,7 +254,7 @@ test_expect_success 'gitcvs.enabled = false' \
>       true
>     fi &&
>     grep "GITCVS emulation disabled" cvs.log &&
> -   test ! -d cvswork2'
> +   test_path_is_missing cvswork2'

This isn't quite equivalent: we've been checking that the path is not a directory before, but now we verify that the path doesn't exist. It's a sensible change in this context though as our new assertion is stronger than the old one, but it might make sense to point out in the commit message.

Show 9 quoted lines
> @@ -285,7 +285,7 @@ test_expect_success 'gitcvs.dbname' '
>  	GIT_DIR="$SERVERDIR" git config gitcvs.dbname %Ggitcvs.%a.%m.sqlite &&
>  	GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 main >cvs.log 2>&1 &&
>  	test_cmp cvswork cvswork2 &&
> -	test -f "$SERVERDIR/gitcvs.ext.main.sqlite" &&
> +	test_path_is_file_not_symlink "$SERVERDIR/gitcvs.ext.main.sqlite" &&
>  	cmp "$SERVERDIR/gitcvs.main.sqlite" "$SERVERDIR/gitcvs.ext.main.sqlite"
>  '
>  

We tend to use `test_path_is_file` rather than `test_path_is_file_not_symlink`, but I don't mind it too much.

Patrick
Previous: Aryan PathaniaNext: Aryan Pathania
Message 2 of 8 in “t9400: prefer test_path_* helper functions”
  1. t9400: prefer test_path_* helper functionsAryan Pathania, Mar 8, 2025
  2. Patrick SteinhardtMar 10, 2025
  3. Aryan PathaniaMar 12, 2025
  4. Junio C HamanoMar 12, 2025
  5. Aryan PathaniaMar 14, 2025
  6. Junio C HamanoMar 14, 2025
  7. Use `test_path_*` helper functions instead of `test -[efd]`.Aryan Pathania, Mar 18, 2025
  8. Eric SunshineMar 18, 2025

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.