threads / patch / 53531

patcht5608: avoid say and use skip_all for consistency

Subject: [PATCH] t5608: avoid say and use skip_all for consistency

## tl;dr

4 messages between May 21, 2020 and May 24, 2020. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Carlo Marcelo Arenas Belón· May 21, 2020, 23:05 UTC · lore

Printing a message directly to stdout could affect TAP processing and is not really needed, as there is a standard way to skip all tests that could be used instead (including a message).

While at it, update the message to better reflect the use of booleans and get rid of the prerequisite.

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
---
 t/t5608-clone-2gb.sh | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)
Show changes to t/t5608-clone-2gb.sh +5 −6
diff --git a/t/t5608-clone-2gb.sh b/t/t5608-clone-2gb.sh
index eee0842888..4c476d2fa1 100755
--- a/t/t5608-clone-2gb.sh
+++ b/t/t5608-clone-2gb.sh
@@ -5,12 +5,11 @@ test_description='Test cloning a repository larger than 2 gigabyte'
 
 if ! test_bool_env GIT_TEST_CLONE_2GB false
 then
-	say 'Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t'
-else
-	test_set_prereq CLONE_2GB
+	skip_all='expensive 2GB clone test; enable with GIT_TEST_CLONE_2GB=true'
+	test_done
 fi
 
-test_expect_success CLONE_2GB 'setup' '
+test_expect_success 'setup' '
 
 	git config pack.compression 0 &&
 	git config pack.depth 0 &&
@@ -38,13 +37,13 @@ test_expect_success CLONE_2GB 'setup' '
 
 '
 
-test_expect_success CLONE_2GB 'clone - bare' '
+test_expect_success 'clone - bare' '
 
 	git clone --bare --no-hardlinks . clone-bare
 
 '
 
-test_expect_success CLONE_2GB 'clone - with worktree, file:// protocol' '
+test_expect_success 'clone - with worktree, file:// protocol' '
 
 	git clone "file://$(pwd)" clone-wt
 
-- 
2.27.0.rc1.181.g8d5cacc8d1
Johannes Schindelin· May 22, 2020, 13:04 UTC · re: Carlo Marcelo Arenas Belón · lore

Re: [PATCH] t5608: avoid say and use skip_all for consistency

Hi Carlo,
> Subject : Re: [PATCH] t5608: avoid say and use skip_all for consistency

It might make quite a bit of sense to add a visual indicator to "say" to make it clear that it is not a verb, but a function name. Otherwise non-native speakers such as myself (and maybe even native speakers) will stumble over the grammar of this sentence when trying to parse it.

These would work better for me:
	t5608: avoid `say` and use `skip_all` for consistency
or
	t5608: avoid say() and use skip_all() for consistency
On Thu, 21 May 2020, Carlo Marcelo Arenas Belón wrote:
Show 6 quoted lines
> Printing a message directly to stdout could affect TAP processing
> and is not really needed, as there is a standard way to skip all
> tests that could be used instead (including a message).
>
> While at it, update the message to better reflect the use of
> booleans and get rid of the prerequisite.

Makes sense. I would have added a sentence to say that _all_ three test cases were guarded by the very same prereq, so `skip_all` is just much faster and idempotent.

Otherwise, the patch looks good to me.

Ciao, Dscho

Show 46 quoted lines
>
> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
>  t/t5608-clone-2gb.sh | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/t/t5608-clone-2gb.sh b/t/t5608-clone-2gb.sh
> index eee0842888..4c476d2fa1 100755
> --- a/t/t5608-clone-2gb.sh
> +++ b/t/t5608-clone-2gb.sh
> @@ -5,12 +5,11 @@ test_description='Test cloning a repository larger than 2 gigabyte'
>
>  if ! test_bool_env GIT_TEST_CLONE_2GB false
>  then
> -	say 'Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t'
> -else
> -	test_set_prereq CLONE_2GB
> +	skip_all='expensive 2GB clone test; enable with GIT_TEST_CLONE_2GB=true'
> +	test_done
>  fi
>
> -test_expect_success CLONE_2GB 'setup' '
> +test_expect_success 'setup' '
>
>  	git config pack.compression 0 &&
>  	git config pack.depth 0 &&
> @@ -38,13 +37,13 @@ test_expect_success CLONE_2GB 'setup' '
>
>  '
>
> -test_expect_success CLONE_2GB 'clone - bare' '
> +test_expect_success 'clone - bare' '
>
>  	git clone --bare --no-hardlinks . clone-bare
>
>  '
>
> -test_expect_success CLONE_2GB 'clone - with worktree, file:// protocol' '
> +test_expect_success 'clone - with worktree, file:// protocol' '
>
>  	git clone "file://$(pwd)" clone-wt
>
> --
> 2.27.0.rc1.181.g8d5cacc8d1
>
>
Junio C Hamano· May 24, 2020, 16:16 UTC · re: Johannes Schindelin · lore

Re: [PATCH] t5608: avoid say and use skip_all for consistency

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 31 quoted lines
> Hi Carlo,
>
>> Subject : Re: [PATCH] t5608: avoid say and use skip_all for consistency
>
> It might make quite a bit of sense to add a visual indicator to "say" to
> make it clear that it is not a verb, but a function name. Otherwise
> non-native speakers such as myself (and maybe even native speakers) will
> stumble over the grammar of this sentence when trying to parse it.
>
> These would work better for me:
>
> 	t5608: avoid `say` and use `skip_all` for consistency
>
> or
>
> 	t5608: avoid say() and use skip_all() for consistency
>
> On Thu, 21 May 2020, Carlo Marcelo Arenas Belón wrote:
>
>> Printing a message directly to stdout could affect TAP processing
>> and is not really needed, as there is a standard way to skip all
>> tests that could be used instead (including a message).
>>
>> While at it, update the message to better reflect the use of
>> booleans and get rid of the prerequisite.
>
> Makes sense. I would have added a sentence to say that _all_ three test
> cases were guarded by the very same prereq, so `skip_all` is just much
> faster and idempotent.
>
> Otherwise, the patch looks good to me.

Thanks, both. I see a v2 has already been posted, so hopefully that would be the final version.

Carlo Marcelo Arenas Belón· May 22, 2020, 18:42 UTC · re: Carlo Marcelo Arenas Belón · lore

[PATCH v2] t5608: avoid say() and use "skip_all" instead for consistency

Printing a message directly to stdout could affect TAP processing and is not really needed, as there is a standard way to skip all tests that could be used instead, while printing an equivalent message.

While at it; update the message to better reflect that since a85efb5985 (t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool, 2019-11-22), the enabling variable should be a recognized boolean (ex: true, false, 1, 0) and get rid of the prerequisite that used to guard all the tests, since "skip_all" is just much faster and idempotent.

Helped-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
---
v2:
* improved commit message (per Johannes)
 t/t5608-clone-2gb.sh | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)
Show changes to t/t5608-clone-2gb.sh +5 −6
diff --git a/t/t5608-clone-2gb.sh b/t/t5608-clone-2gb.sh
index eee0842888..4c476d2fa1 100755
--- a/t/t5608-clone-2gb.sh
+++ b/t/t5608-clone-2gb.sh
@@ -5,12 +5,11 @@ test_description='Test cloning a repository larger than 2 gigabyte'
 
 if ! test_bool_env GIT_TEST_CLONE_2GB false
 then
-	say 'Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t'
-else
-	test_set_prereq CLONE_2GB
+	skip_all='expensive 2GB clone test; enable with GIT_TEST_CLONE_2GB=true'
+	test_done
 fi
 
-test_expect_success CLONE_2GB 'setup' '
+test_expect_success 'setup' '
 
 	git config pack.compression 0 &&
 	git config pack.depth 0 &&
@@ -38,13 +37,13 @@ test_expect_success CLONE_2GB 'setup' '
 
 '
 
-test_expect_success CLONE_2GB 'clone - bare' '
+test_expect_success 'clone - bare' '
 
 	git clone --bare --no-hardlinks . clone-bare
 
 '
 
-test_expect_success CLONE_2GB 'clone - with worktree, file:// protocol' '
+test_expect_success 'clone - with worktree, file:// protocol' '
 
 	git clone "file://$(pwd)" clone-wt
 
-- 
2.27.0.rc1.207.gb85828341f

← back to recent threads