All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: "Git List" <git@vger.kernel.org>,
	"Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
	"Matthieu Moy" <git@matthieu-moy.fr>,
	"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	"Đoàn Trần Công Danh" <congdanhqx@gmail.com>,
	"SZEDER Gábor" <szeder.dev@gmail.com>,
	"Andreas Schwab" <schwab@linux-m68k.org>
Subject: Re: [PATCH 2/3] Revert and amend "test-lib-functions: assert correct parameter count"
Date: Tue, 20 Apr 2021 14:25:14 +0200	[thread overview]
Message-ID: <87pmyp2led.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <CAPig+cSR_y4uqPnYt+P4EFxPrhN8LHDjLX=_5uJFWYbL1skixA@mail.gmail.com>


On Sun, Apr 18 2021, Eric Sunshine wrote:

> On Sat, Apr 17, 2021 at 8:58 AM Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
>> [...]
>> The goal here is to get rid of the verbosity of having e.g. a "test 2
>> -ne 2" line for every "test_cmp". We use "$@" as an argument to "test"
>> to intentionally feed the "test" operator too many arguments if the
>> functions are called with too many arguments, thus piggy-backing on it
>> to check the number of arguments we get.
>
> My one concern about this change is that it enters the realm of
> "huh?". Although it's dead-simple to understand what this code is
> doing:
>
>     test "$#" -ne 1 && BUG "1 param"
>     if ! test -f "$1"
>
> the replacement code:
>
>     if ! test -f "$@"
>
> can easily lead to head-scratching, wondering why the author chose to
> use "$@" rather than the more obvious "$1". This sort of unusual local
> idiom might normally deserve an in-code comment explaining why the
> more obvious code is not employed. However, adding a comment at each
> site would be overkill, so it might be the sort of thing to explain in
> documentation somewhere ("In order to make -x output less noisy,
> employ "$@" rather than explicitly checking function arguments when
> writing new test functions...".) Otherwise, the reader is forced to
> consult the commit message.
>
> Not a major objection; just voicing the bit of unease I feel about it.

I'm including a well-placed comment in the re-roll of this. FWIW this
would be much easier to follow with my rejected split-up of
test-lib-functions.sh, then we could group these functions into one
file:
https://lore.kernel.org/git/20210209214159.22815-13-avarab@gmail.com/

>> This does not to the "right" thing in cases like:
>
> Channeling Dscho's inner Eric Sunshine[1]: s/to/do/

Sunshine recursion error? :)

> [1]: https://lore.kernel.org/git/nycvar.QRO.7.76.6.2103222235150.50@tvgsbejvaqbjf.bet/


  reply	other threads:[~2021-04-20 12:25 UTC|newest]

Thread overview: 175+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-12 11:08 [PATCH 00/16] test-lib.sh: new test_commit args, simplification & fixes Ævar Arnfjörð Bjarmason
2021-04-12 11:08 ` [PATCH 01/16] check-non-portable-shell: complain about "test" a/-o instead of &&/|| Ævar Arnfjörð Bjarmason
2021-04-12 17:00   ` Eric Sunshine
2021-04-12 17:13     ` Matthieu Moy
2021-04-12 18:36       ` Junio C Hamano
2021-04-12 18:38     ` Junio C Hamano
2021-04-12 18:48       ` Eric Sunshine
2021-04-12 11:08 ` [PATCH 02/16] test-lib: bring $remove_trash out of retirement Ævar Arnfjörð Bjarmason
2021-04-12 19:06   ` Junio C Hamano
2021-04-12 21:22     ` Junio C Hamano
2021-04-12 11:08 ` [PATCH 03/16] test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable Ævar Arnfjörð Bjarmason
2021-04-12 11:08 ` [PATCH 04/16] test-lib-functions: reword "test_commit --append" docs Ævar Arnfjörð Bjarmason
2021-04-12 11:08 ` [PATCH 05/16] test-lib-functions: document test_commit --no-tag Ævar Arnfjörð Bjarmason
2021-04-12 17:07   ` Eric Sunshine
2021-04-12 11:08 ` [PATCH 06/16] test-lib functions: add an --annotated-tag option to "test_commit" Ævar Arnfjörð Bjarmason
2021-04-15 15:33   ` Đoàn Trần Công Danh
2021-04-12 11:08 ` [PATCH 07/16] describe tests: convert setup to use test_commit Ævar Arnfjörð Bjarmason
2021-04-12 11:08 ` [PATCH 08/16] test-lib functions: add --printf option to test_commit Ævar Arnfjörð Bjarmason
2021-04-12 19:05   ` Eric Sunshine
2021-04-12 21:27     ` Junio C Hamano
2021-04-12 23:04       ` Eric Sunshine
2021-04-12 23:12         ` Junio C Hamano
2021-04-15 11:33           ` Ævar Arnfjörð Bjarmason
2021-04-15 14:52             ` Eric Sunshine
2021-04-15 18:37               ` Junio C Hamano
2021-04-12 11:08 ` [PATCH 09/16] submodule tests: use symbolic-ref --short to discover branch name Ævar Arnfjörð Bjarmason
2021-04-12 11:08 ` [PATCH 10/16] test-lib: reformat argument list in test_create_repo() Ævar Arnfjörð Bjarmason
2021-04-12 11:09 ` [PATCH 11/16] test-lib: do not show advice about init.defaultBranch under --verbose Ævar Arnfjörð Bjarmason
2021-04-15 19:07   ` SZEDER Gábor
2021-04-12 11:09 ` [PATCH 12/16] test-lib: modernize test_create_repo() function Ævar Arnfjörð Bjarmason
2021-04-12 19:27   ` Junio C Hamano
2021-04-15 11:40     ` Ævar Arnfjörð Bjarmason
2021-04-15 21:10   ` SZEDER Gábor
2021-04-16 21:22     ` SZEDER Gábor
2021-04-16 23:38     ` Ævar Arnfjörð Bjarmason
2021-04-12 11:09 ` [PATCH 13/16] test-lib-functions: normalize test_path_is_missing() debugging Ævar Arnfjörð Bjarmason
2021-04-12 11:09 ` [PATCH 14/16] test-lib-functions: use "return 1" instead of "false" Ævar Arnfjörð Bjarmason
2021-04-12 19:31   ` Junio C Hamano
2021-04-12 11:09 ` [PATCH 15/16] Revert and amend "test-lib-functions: assert correct parameter count" Ævar Arnfjörð Bjarmason
2021-04-12 19:37   ` Junio C Hamano
2021-04-15 11:32     ` Ævar Arnfjörð Bjarmason
2021-04-15 12:31       ` Andreas Schwab
2021-04-15 18:35       ` Junio C Hamano
2021-04-16 21:06         ` Ævar Arnfjörð Bjarmason
2021-04-15 22:05   ` SZEDER Gábor
2021-04-15 22:24     ` Junio C Hamano
2021-04-16 23:48     ` Ævar Arnfjörð Bjarmason
2021-04-12 11:09 ` [PATCH 16/16] test-lib-functions: remove last two parameter count assertions Ævar Arnfjörð Bjarmason
2021-04-12 19:40   ` Junio C Hamano
2021-04-12 18:18 ` [PATCH 00/16] test-lib.sh: new test_commit args, simplification & fixes Junio C Hamano
2021-04-17 12:52 ` [PATCH v2 00/12] " Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 01/12] check-non-portable-shell: check for "test <cond> -a/-o <cond>" Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 02/12] test-lib: bring $remove_trash out of retirement Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 03/12] test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 04/12] test-lib-functions: reword "test_commit --append" docs Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 05/12] test-lib-functions: document test_commit --no-tag Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 06/12] test-lib functions: add an --annotated option to "test_commit" Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 07/12] describe tests: convert setup to use test_commit Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 08/12] test-lib functions: add --printf option to test_commit Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 09/12] submodule tests: use symbolic-ref --short to discover branch name Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 10/12] test-lib: reformat argument list in test_create_repo() Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 11/12] test-lib: do not show advice about init.defaultBranch under --verbose Ævar Arnfjörð Bjarmason
2021-04-17 12:52   ` [PATCH v2 12/12] test-lib: split up and deprecate test_create_repo() Ævar Arnfjörð Bjarmason
2021-04-17 15:42     ` SZEDER Gábor
2021-04-17 21:45       ` Ævar Arnfjörð Bjarmason
2021-04-20 21:27         ` SZEDER Gábor
2021-04-17 12:58   ` [PATCH 0/3] test-lib-functions.sh: trickery to make -x less verbose Ævar Arnfjörð Bjarmason
2021-04-17 12:58     ` [PATCH 1/3] test-lib-functions: normalize test_path_is_missing() debugging Ævar Arnfjörð Bjarmason
2021-04-17 12:58     ` [PATCH 2/3] Revert and amend "test-lib-functions: assert correct parameter count" Ævar Arnfjörð Bjarmason
2021-04-18  5:11       ` Eric Sunshine
2021-04-20 12:25         ` Ævar Arnfjörð Bjarmason [this message]
2021-04-17 12:58     ` [PATCH 3/3] test-lib-functions: remove last two parameter count assertions Ævar Arnfjörð Bjarmason
2021-04-20 12:21   ` [PATCH v3 00/12] test-lib.sh: new test_commit args, simplification & fixes Ævar Arnfjörð Bjarmason
2021-04-20 12:21     ` [PATCH v3 01/12] check-non-portable-shell: check for "test <cond> -a/-o <cond>" Ævar Arnfjörð Bjarmason
2021-04-20 22:25       ` Junio C Hamano
2021-04-21  8:46         ` Ævar Arnfjörð Bjarmason
2021-04-21 10:39           ` Đoàn Trần Công Danh
2021-04-21 10:41             ` [PATCH 1/2] t6400: check exit status of ls-files Đoàn Trần Công Danh
2021-04-21 10:41               ` [PATCH 2/2] t6402: " Đoàn Trần Công Danh
2021-04-21 16:55                 ` Eric Sunshine
2021-04-21 17:32                   ` Eric Sunshine
2021-04-21 23:32                     ` Junio C Hamano
2021-04-22 13:49                       ` Đoàn Trần Công Danh
2021-04-22 15:04                         ` Ævar Arnfjörð Bjarmason
2021-04-22 15:30                           ` Eric Sunshine
2021-04-22 15:07                         ` Đoàn Trần Công Danh
2021-04-22 12:45                   ` Ævar Arnfjörð Bjarmason
2021-04-21 14:18             ` [PATCH v3 01/12] check-non-portable-shell: check for "test <cond> -a/-o <cond>" Ævar Arnfjörð Bjarmason
2021-04-21 16:32               ` Junio C Hamano
2021-04-21 18:56           ` Junio C Hamano
2021-04-20 12:21     ` [PATCH v3 02/12] test-lib: bring $remove_trash out of retirement Ævar Arnfjörð Bjarmason
2021-04-20 22:28       ` Junio C Hamano
2021-04-20 12:21     ` [PATCH v3 03/12] test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable Ævar Arnfjörð Bjarmason
2021-04-20 12:21     ` [PATCH v3 04/12] test-lib-functions: reword "test_commit --append" docs Ævar Arnfjörð Bjarmason
2021-04-20 12:21     ` [PATCH v3 05/12] test-lib-functions: document test_commit --no-tag Ævar Arnfjörð Bjarmason
2021-04-20 12:21     ` [PATCH v3 06/12] test-lib functions: add an --annotated option to "test_commit" Ævar Arnfjörð Bjarmason
2021-04-20 12:21     ` [PATCH v3 07/12] describe tests: convert setup to use test_commit Ævar Arnfjörð Bjarmason
2021-04-20 12:21     ` [PATCH v3 08/12] test-lib functions: add --printf option to test_commit Ævar Arnfjörð Bjarmason
2021-04-20 12:22     ` [PATCH v3 09/12] submodule tests: use symbolic-ref --short to discover branch name Ævar Arnfjörð Bjarmason
2021-04-20 12:22     ` [PATCH v3 10/12] test-lib: reformat argument list in test_create_repo() Ævar Arnfjörð Bjarmason
2021-04-20 12:22     ` [PATCH v3 11/12] test-lib: do not show advice about init.defaultBranch under --verbose Ævar Arnfjörð Bjarmason
2021-04-20 12:22     ` [PATCH v3 12/12] test-lib: split up and deprecate test_create_repo() Ævar Arnfjörð Bjarmason
2021-04-21 10:15     ` [PATCH v4 00/11] test-lib.sh: new test_commit args, simplification & fixes Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 01/11] test-lib: bring $remove_trash out of retirement Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 02/11] test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 03/11] test-lib-functions: reword "test_commit --append" docs Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 04/11] test-lib-functions: document test_commit --no-tag Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 05/11] test-lib functions: add an --annotated option to "test_commit" Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 06/11] describe tests: convert setup to use test_commit Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 07/11] test-lib functions: add --printf option to test_commit Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 08/11] submodule tests: use symbolic-ref --short to discover branch name Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 09/11] test-lib: reformat argument list in test_create_repo() Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 10/11] test-lib: do not show advice about init.defaultBranch under --verbose Ævar Arnfjörð Bjarmason
2021-04-21 10:15       ` [PATCH v4 11/11] test-lib: split up and deprecate test_create_repo() Ævar Arnfjörð Bjarmason
2021-04-21 16:43         ` SZEDER Gábor
2021-04-22 12:39           ` Ævar Arnfjörð Bjarmason
2021-04-23  7:21       ` [PATCH v5 00/11] test-lib.sh: new test_commit args, simplification & fixes Ævar Arnfjörð Bjarmason
2021-04-23  7:21         ` [PATCH v5 01/11] test-lib: bring $remove_trash out of retirement Ævar Arnfjörð Bjarmason
2021-05-06 15:46           ` Đoàn Trần Công Danh
2021-04-23  7:21         ` [PATCH v5 02/11] test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable Ævar Arnfjörð Bjarmason
2021-04-23  7:21         ` [PATCH v5 03/11] test-lib-functions: reword "test_commit --append" docs Ævar Arnfjörð Bjarmason
2021-04-23  7:21         ` [PATCH v5 04/11] test-lib-functions: document test_commit --no-tag Ævar Arnfjörð Bjarmason
2021-04-23  7:21         ` [PATCH v5 05/11] test-lib functions: add an --annotated option to "test_commit" Ævar Arnfjörð Bjarmason
2021-04-23  7:21         ` [PATCH v5 06/11] describe tests: convert setup to use test_commit Ævar Arnfjörð Bjarmason
2021-05-06 15:58           ` Đoàn Trần Công Danh
2021-04-23  7:21         ` [PATCH v5 07/11] test-lib functions: add --printf option to test_commit Ævar Arnfjörð Bjarmason
2021-05-06 16:08           ` Đoàn Trần Công Danh
2021-04-23  7:21         ` [PATCH v5 08/11] submodule tests: use symbolic-ref --short to discover branch name Ævar Arnfjörð Bjarmason
2021-04-23  7:21         ` [PATCH v5 09/11] test-lib: reformat argument list in test_create_repo() Ævar Arnfjörð Bjarmason
2021-04-23  7:21         ` [PATCH v5 10/11] test-lib: do not show advice about init.defaultBranch under --verbose Ævar Arnfjörð Bjarmason
2021-04-23  7:21         ` [PATCH v5 11/11] test-lib: split up and deprecate test_create_repo() Ævar Arnfjörð Bjarmason
2021-04-29  7:23         ` [PATCH v5 00/11] test-lib.sh: new test_commit args, simplification & fixes Junio C Hamano
2021-05-06 15:32         ` Ævar Arnfjörð Bjarmason
2021-05-06 16:21           ` Đoàn Trần Công Danh
2021-05-10 14:18         ` [PATCH v6 " Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 01/11] test-lib: bring $remove_trash out of retirement Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 02/11] test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 03/11] test-lib-functions: reword "test_commit --append" docs Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 04/11] test-lib-functions: document test_commit --no-tag Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 05/11] test-lib functions: add an --annotated option to "test_commit" Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 06/11] describe tests: convert setup to use test_commit Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 07/11] test-lib functions: add --printf option to test_commit Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 08/11] submodule tests: use symbolic-ref --short to discover branch name Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 09/11] test-lib: reformat argument list in test_create_repo() Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 10/11] test-lib: do not show advice about init.defaultBranch under --verbose Ævar Arnfjörð Bjarmason
2021-05-10 14:19           ` [PATCH v6 11/11] test-lib: split up and deprecate test_create_repo() Ævar Arnfjörð Bjarmason
2021-05-13  6:45             ` Felipe Contreras
2021-05-13  7:45               ` Ævar Arnfjörð Bjarmason
2021-05-13  8:23                 ` Felipe Contreras
2021-05-13 12:05                   ` Ævar Arnfjörð Bjarmason
2021-05-13 20:11                     ` Felipe Contreras
2021-05-12 12:19           ` [PATCH v6 00/11] test-lib.sh: new test_commit args, simplification & fixes Đoàn Trần Công Danh
2021-05-12 23:24             ` Junio C Hamano
2021-04-20 12:29 ` [PATCH v2 0/3] test-lib-functions.sh: trickery to make -x less verbose Ævar Arnfjörð Bjarmason
2021-04-20 12:29   ` [PATCH v2 1/3] test-lib-functions: normalize test_path_is_missing() debugging Ævar Arnfjörð Bjarmason
2021-04-20 12:29   ` [PATCH v2 2/3] Revert and amend "test-lib-functions: assert correct parameter count" Ævar Arnfjörð Bjarmason
2021-04-20 15:07     ` Eric Sunshine
2021-04-21  8:22       ` Ævar Arnfjörð Bjarmason
2021-04-20 12:29   ` [PATCH v2 3/3] test-lib-functions: remove last two parameter count assertions Ævar Arnfjörð Bjarmason
2021-04-20 21:15     ` Junio C Hamano
2021-04-21 14:58   ` [PATCH v2 0/5] test-lib-functions.sh: trickery to make -x less verbose Ævar Arnfjörð Bjarmason
2021-04-21 14:58     ` [PATCH v2 1/5] test-lib-functions: normalize test_path_is_missing() debugging Ævar Arnfjörð Bjarmason
2021-04-21 14:58     ` [PATCH v2 2/5] Revert and amend "test-lib-functions: assert correct parameter count" Ævar Arnfjörð Bjarmason
2021-04-21 14:58     ` [PATCH v2 3/5] test helpers: remove unused test-tool path-utils slice-tests Ævar Arnfjörð Bjarmason
2021-04-21 18:02       ` Ævar Arnfjörð Bjarmason
2021-04-21 14:58     ` [PATCH v2 4/5] test-helpers: rename "path-utils is_valid_path" to "is-valid-paths" Ævar Arnfjörð Bjarmason
2021-04-21 14:58     ` [PATCH v2 5/5] test-helpers: split "file-size" into "file-size(s)" Ævar Arnfjörð Bjarmason
2021-04-23  7:29     ` [PATCH v3 0/4] test-lib-functions.sh: trickery to make -x less verbose Ævar Arnfjörð Bjarmason
2021-04-23  7:29       ` [PATCH v3 1/4] test-lib-functions: normalize test_path_is_missing() debugging Ævar Arnfjörð Bjarmason
2021-04-29  3:49         ` Junio C Hamano
2021-04-23  7:29       ` [PATCH v3 2/4] Revert and amend "test-lib-functions: assert correct parameter count" Ævar Arnfjörð Bjarmason
2021-04-29  3:59         ` Junio C Hamano
2021-04-29  4:02         ` Felipe Contreras
2021-04-23  7:29       ` [PATCH v3 3/4] test-helpers: rename "path-utils is_valid_path" to "is-valid-paths" Ævar Arnfjörð Bjarmason
2021-04-23  7:29       ` [PATCH v3 4/4] test-helpers: split "file-size" into "file-size(s)" Ævar Arnfjörð Bjarmason

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=87pmyp2led.fsf@evledraar.gmail.com \
    --to=avarab@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=congdanhqx@gmail.com \
    --cc=git@matthieu-moy.fr \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=schwab@linux-m68k.org \
    --cc=sunshine@sunshineco.com \
    --cc=szeder.dev@gmail.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.