Re: [PATCH] t: avoid alternation (not POSIX) in grep's BRE
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- May 29, 2020, 03:39 UTC
- Message-ID
- <20200529033931.xb4jb4ewgdwtjknc@tb-raspi4>
- In-Reply-To
- <20200528083745.15273-1-carenas@gmail.com>
On Thu, May 28, 2020 at 01:37:45AM -0700, Carlo Marcelo Arenas Belón wrote:
> Using and escaped '|' for alternations is allowed in some implementations
^^^ Is this a typo ? "Using an escaped"... And there are more typos and small things that deserve improvements.
> of grep (GNU and busybox, al least), but it is no suppored by POSIX[1] > and therefore will fail in at least macOS and the BSD.
I don't think that macOS (or BSD) ever claimed to be be POSIX compliant. How about something in this style:
Using an escaped '|' for alternations works only in some implementations of grep (e.g. GNU and busybox).
It is not part of POSIX[1] and not supported by BSD, macOS (and possibly other) non-GNU implementations.
Solution: Use ´grep -E´.
[1] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03
Show 38 quoted lines
>
> Fixes: f1e3df3169 (t: increase test coverage of signature verification
> output, 2020-03-04)
> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
> t/t4202-log.sh | 2 +-
> t/t6200-fmt-merge-msg.sh | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/t/t4202-log.sh b/t/t4202-log.sh
> index f1ea7d97f5..a0930599aa 100755
> --- a/t/t4202-log.sh
> +++ b/t/t4202-log.sh
> @@ -1692,7 +1692,7 @@ test_expect_success GPG 'log --graph --show-signature for merged tag with missin
> GNUPGHOME=. git log --graph --show-signature -n1 plain-nokey >actual &&
> grep "^|\\\ merged tag" actual &&
> grep "^| | gpg: Signature made" actual &&
> - grep "^| | gpg: Can'"'"'t check signature: \(public key not found\|No public key\)" actual
> + grep -E "^| | gpg: Can'"'"'t check signature: (public key not found|No public key)" actual
> '
>
> test_expect_success GPG 'log --graph --show-signature for merged tag with bad signature' '
> diff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh
> index b15582a7a2..e4c2a6eca4 100755
> --- a/t/t6200-fmt-merge-msg.sh
> +++ b/t/t6200-fmt-merge-msg.sh
> @@ -103,7 +103,7 @@ test_expect_success GPG 'message for merging local tag signed by unknown key' '
> GNUPGHOME=. git fmt-merge-msg <.git/FETCH_HEAD >actual 2>&1 &&
> grep "^Merge tag ${apos}signed-good-tag${apos}" actual &&
> grep "^# gpg: Signature made" actual &&
> - grep "^# gpg: Can${apos}t check signature: \(public key not found\|No public key\)" actual
> + grep -E "^# gpg: Can${apos}t check signature: (public key not found|No public key)" actual
> '
>
> test_expect_success 'message for merging external branch' '
> --
> 2.27.0.rc2.257.gaada2199e1
>