From: Junio C Hamano <gitster@pobox.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git@vger.kernel.org, "Jeff King" <peff@peff.net>,
"Matthieu Moy" <git@matthieu-moy.fr>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Eric Sunshine" <sunshine@sunshineco.com>,
"Đoàn Trần Công Danh" <congdanhqx@gmail.com>,
"SZEDER Gábor" <szeder.dev@gmail.com>
Subject: Re: [PATCH v3 01/12] check-non-portable-shell: check for "test <cond> -a/-o <cond>"
Date: Tue, 20 Apr 2021 15:25:05 -0700 [thread overview]
Message-ID: <xmqqwnsw3872.fsf@gitster.g> (raw)
In-Reply-To: <patch-01.12-a8b483bc77-20210420T121833Z-avarab@gmail.com> ("Ævar Arnfjörð Bjarmason"'s message of "Tue, 20 Apr 2021 14:21:52 +0200")
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
> These will only match the simplistic forms of `test -X blah` (where
> "-X" is some single letter option), but will miss expressions such as
> `test "$foo" = bar`. We stop at "&" or "|" to try not to overmatch
> things like:
>
> test whatever && ls -a foo
> test whatever && foo -o outfile
I still do not understand why you have to insist on dashed operator
as the first thing given to "test", like this:
> + /\btest\s+-[a-z]\s+[^&|]+\s+-a\s+/ and err '"test A && test B" ...
> + /\btest\s+-[a-z]\s+[^&|]+\s+-o\s+/ and err '"test A || test B" ...
IOW, what over-matching would we get if we simplified the condition
like so?
/\btest\s+[^&|]+\s+-a\s/
/\btest\s+[^&|]+\s+-o\s/
The one in the patch would miss things like
test "$a" = "$b" -o "$a" -lt "$b"
test "$n" -a "$n" -lt 4
but the only thing that we care about is that a command that started
with "test " has "-a" or "-o" before we see "&" or "|", no?
next prev parent reply other threads:[~2021-04-20 22: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
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 [this message]
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqwnsw3872.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=avarab@gmail.com \
--cc=congdanhqx@gmail.com \
--cc=git@matthieu-moy.fr \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).