All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Đoàn Trần Công Danh" <congdanhqx@gmail.com>
Cc: git@vger.kernel.org, "Eric Sunshine" <sunshine@sunshineco.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Bagas Sanjaya" <bagasdotme@gmail.com>,
	"Phillip Wood" <phillip.wood123@gmail.com>,
	"Felipe Contreras" <felipe.contreras@gmail.com>
Subject: Re: [PATCH v2 3/5] t0041: use test_line_count_cmd to check std{out,err}
Date: Wed, 16 Jun 2021 12:06:14 +0900	[thread overview]
Message-ID: <xmqqlf7ase3d.fsf@gitster.g> (raw)
In-Reply-To: <20210615172038.28917-4-congdanhqx@gmail.com> (=?utf-8?B?IsSQ?= =?utf-8?B?b8OgbiBUcuG6p24gQ8O0bmc=?= Danh"'s message of "Wed, 16 Jun 2021 00:20:36 +0700")

Đoàn Trần Công Danh  <congdanhqx@gmail.com> writes:

>  test_expect_success 'tag --contains <existent_tag>' '
> -	git tag --contains "v1.0" >actual 2>actual.err &&
> -	grep "v1.0" actual &&
> -	test_line_count = 0 actual.err
> +	test_line_count_cmd --err = 0 git tag --contains v1.0 >actual &&
> +	grep "v1.0" actual

Sorry, but I am not impressed if this is a typical/prime example of
how the new helper helps in writing our tests.

Notice that so many tests that you touched only care about 0 lines?

Instead of this new helper, I think it would be a more useful
improvement if we check the emptyness in a more direct way, i.e.

>  test_expect_success 'tag --contains <existent_tag>' '
> 	git tag --contains "v1.0" >actual 2>actual.err &&
> 	grep "v1.0" actual &&
> -	test_line_count = 0 actual.err
> +	test_must_be_empty actual.err

I think this helper may be misnamed and test_file_is_empty would sit
better with test_dir_is_empty and test_file_not_empty that already
exist, though.

By the way, my opinion would be quite different if example like this
one ...

>  test_expect_success 'tag --no-contains <existent_tag>' '
> -	git tag --no-contains "v1.0" >actual 2>actual.err  &&
> -	test_line_count = 0 actual &&
> -	test_line_count = 0 actual.err
> +	test_line_count_cmd --out = 0 --err = 0 git tag --no-contains v1.0
>  '

... were the majority, but I do not think that is the case.  Most
tests that employ the new test_line_count_cmd in this patch still
create either actual or actual.err in the working tree anyway, so I
do not see much point in adding this new helper---it is hard to
explain to new test writers when to use it.

  reply	other threads:[~2021-06-16  3:06 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-15 17:20 [PATCH v2 0/5] t: new helper test_line_count_cmd Đoàn Trần Công Danh
2021-06-15 17:20 ` [PATCH v2 1/5] test-lib-functions: introduce test_line_count_cmd Đoàn Trần Công Danh
2021-06-17  4:51   ` Felipe Contreras
2021-06-15 17:20 ` [PATCH v2 2/5] t6402: use find(1) builtin to filter instead of grep Đoàn Trần Công Danh
2021-06-15 17:20 ` [PATCH v2 3/5] t0041: use test_line_count_cmd to check std{out,err} Đoàn Trần Công Danh
2021-06-16  3:06   ` Junio C Hamano [this message]
2021-06-16 14:21     ` Đoàn Trần Công Danh
2021-06-17  0:18       ` Junio C Hamano
2021-06-15 17:20 ` [PATCH v2 4/5] t6400: use test_line_count_cmd to count # of lines in stdout Đoàn Trần Công Danh
2021-06-15 17:20 ` [PATCH v2 5/5] t6402: " Đoàn Trần Công Danh
2021-06-19  1:30 ` [PATCH v3 0/4] t: new helper test_line_count_cmd Đoàn Trần Công Danh
2021-06-19  5:50   ` Eric Sunshine
2021-06-19  6:17     ` Junio C Hamano
2021-06-19  6:26       ` Eric Sunshine
2021-06-19  6:50         ` Junio C Hamano
2021-06-21 23:52           ` Đoàn Trần Công Danh
2021-06-22  0:43             ` Eric Sunshine
2021-06-19  1:30 ` [PATCH v3 1/4] test-lib-functions: introduce test_line_count_cmd Đoàn Trần Công Danh
2021-06-21  9:08   ` Andrei Rybak
2021-06-24 19:23     ` Andrei Rybak
2021-06-19  1:30 ` [PATCH v3 2/4] t6402: use find(1) builtin to filter instead of grep Đoàn Trần Công Danh
2021-06-21  8:17   ` Andrei Rybak
2021-06-21 23:54     ` Đoàn Trần Công Danh
2021-06-19  1:30 ` [PATCH v3 3/4] t6400: use test_line_count_cmd to count # of lines in stdout Đoàn Trần Công Danh
2021-06-19  1:30 ` [PATCH v3 4/4] t6402: " Đoàn Trần Công Danh
2021-06-29 13:57 ` [PATCH v4 0/2] t640{0,2}: preserve ls-files exit status code Đoàn Trần Công Danh
2021-06-29 13:57   ` [PATCH v4 1/2] t6400: preserve git " Đoàn Trần Công Danh
2021-06-29 14:11     ` Eric Sunshine
2021-06-29 22:49       ` Junio C Hamano
2021-06-30  1:57         ` Eric Sunshine
2021-06-30  3:36           ` Junio C Hamano
2021-06-30 11:01             ` Đoàn Trần Công Danh
2021-06-30 20:44               ` Junio C Hamano
2021-06-29 13:57   ` [PATCH v4 2/2] t6402: preserve git " Đoàn Trần Công Danh
2021-06-29 20:49   ` [PATCH v4 0/2] t640{0,2}: preserve ls-files " Junio C Hamano
2021-07-04  5:46 ` [PATCH v5 0/3] new test-libs-function: test_stdout_line_count Đoàn Trần Công Danh
2021-07-04  5:46   ` [PATCH v5 1/3] test-lib-functions: introduce test_stdout_line_count Đoàn Trần Công Danh
2021-07-04  5:56     ` Eric Sunshine
2021-07-06 19:24       ` Junio C Hamano
2021-07-07  3:03         ` Đoàn Trần Công Danh
2021-07-04  5:46   ` [PATCH v5 2/3] t6400: preserve git ls-files exit status code Đoàn Trần Công Danh
2021-07-04  5:46   ` [PATCH v5 3/3] t6402: preserve git " Đoàn Trần Công Danh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqlf7ase3d.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=avarab@gmail.com \
    --cc=bagasdotme@gmail.com \
    --cc=congdanhqx@gmail.com \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=phillip.wood123@gmail.com \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.