From: Jacob Abel <jacobabel@nullpo.dev>
To: git@vger.kernel.org
Cc: Jacob Abel <jacobabel@nullpo.dev>,
Junio C Hamano <gitster@pobox.com>,
Phillip Wood <phillip.wood123@gmail.com>
Subject: [PATCH v4 0/3] t2400: Fix test failures when using grep 2.5
Date: Wed, 26 Jul 2023 21:42:09 +0000 [thread overview]
Message-ID: <20230726214202.15775-1-jacobabel@nullpo.dev> (raw)
In-Reply-To: <20230721044012.24360-1-jacobabel@nullpo.dev>
This patchset is in response to build failures on GGG's Cirrus CI
freebsd_12 build jobs[1] and was prompted by a discussion thread [2].
These failures seem to be caused by the behavior outlined in [3].
Changes from v3:
* Replace `[ ]` with ` ` in regex for `test_wt_add_orphan_hint()` [4][5].
* Drop trailing `.*` from `invalid_ref_regex` [4][5].
* Change `[a-z-]` to `[-a-z]` in `bad_combo_regex` to better portray
intent [4][5].
* Replace `\+` with `*` in `bad_combo_regex` as `\+` is not POSIX
BRE and is a GNU extension [4][5].
* Drop "without PCRE support" from commit message [4].
* Reword commit message to reflect changes.
1. https://github.com/gitgitgadget/git/pull/1550/checks?check_run_id=14949695859
2. https://lore.kernel.org/git/CALnO6CDryTsguLshcQxx97ZxyY42Twu2hC2y1bLOsS-9zbqXMA@mail.gmail.com/
3. https://stackoverflow.com/questions/4233159/grep-regex-whitespace-behavior
4. https://lore.kernel.org/git/axnxvnmo6ekhhccppinji73ivlandwuqs44epmq4pdefm7ukiv@ejz7bee5xjli/
5. https://lore.kernel.org/git/xmqqiladw9h7.fsf@gitster.g/
Jacob Abel (3):
t2400: drop no-op `--sq` from rev-parse call
builtin/worktree.c: convert tab in advice to space
t2400: rewrite regex to avoid unintentional PCRE
builtin/worktree.c | 4 ++--
t/t2400-worktree-add.sh | 14 +++++++-------
2 files changed, 9 insertions(+), 9 deletions(-)
Range-diff against v3:
1: 96c21c5bee = 1: 96c21c5bee t2400: drop no-op `--sq` from rev-parse call
2: ebfba2d602 = 2: ebfba2d602 builtin/worktree.c: convert tab in advice to space
3: dee0c8f350 ! 3: 13f61cd15a t2400: rewrite regex to avoid unintentional PCRE
@@ Commit message
t2400: rewrite regex to avoid unintentional PCRE
Replace all cases of `\s` with ` ` as it is not part of POSIX BRE or ERE
- and therefore not all versions of grep handle it without PCRE support.
+ and therefore not all versions of grep handle it.
- For the same reason all cases of `\S` are replaced with `[^ ]`. It's not
- an exact replacement but it is close enough for this use case.
+ For the same reason all cases of `\S` are replaced with `[^ ]`. It is
+ not an exact replacement but it is close enough for this use case.
+
+ Also, do not write `\+` in BRE and expect it to mean 1 or more;
+ it is a GNU extension that may not work everywhere.
+
+ Remove `.*` from the end of a pattern that is not right-anchored.
Signed-off-by: Jacob Abel <jacobabel@nullpo.dev>
+ Helped-by: Junio C Hamano <gitster@pobox.com>
## t/t2400-worktree-add.sh ##
@@ t/t2400-worktree-add.sh: test_wt_add_orphan_hint () {
@@ t/t2400-worktree-add.sh: test_wt_add_orphan_hint () {
if [ $use_branch -eq 1 ]
then
- grep -E "^hint:\s+git worktree add --orphan -b \S+ \S+\s*$" actual
-+ grep -E "^hint:[ ]+git worktree add --orphan -b [^ ]+ [^ ]+$" actual
++ grep -E "^hint: +git worktree add --orphan -b [^ ]+ [^ ]+$" actual
else
- grep -E "^hint:\s+git worktree add --orphan \S+\s*$" actual
-+ grep -E "^hint:[ ]+git worktree add --orphan [^ ]+$" actual
++ grep -E "^hint: +git worktree add --orphan [^ ]+$" actual
fi
'
@@ t/t2400-worktree-add.sh: test_dwim_orphan () {
local fetch_error_text="fatal: No local or remote refs exist despite at least one remote" &&
local orphan_hint="hint: If you meant to create a worktree containing a new orphan branch" &&
- local invalid_ref_regex="^fatal: invalid reference:\s\+.*" &&
-+ local invalid_ref_regex="^fatal: invalid reference: .*" &&
- local bad_combo_regex="^fatal: '[a-z-]\+' and '[a-z-]\+' cannot be used together" &&
+- local bad_combo_regex="^fatal: '[a-z-]\+' and '[a-z-]\+' cannot be used together" &&
++ local invalid_ref_regex="^fatal: invalid reference: " &&
++ local bad_combo_regex="^fatal: '[-a-z]*' and '[-a-z]*' cannot be used together" &&
local git_ns="repo" &&
+ local dashc_args="-C $git_ns" &&
@@ t/t2400-worktree-add.sh: test_dwim_orphan () {
headpath=$(git $dashc_args rev-parse --path-format=absolute --git-path HEAD) &&
headcontents=$(cat "$headpath") &&
--
2.41.0
next prev parent reply other threads:[~2023-07-26 21:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-15 2:55 [PATCH] t2400: Fix test failures when using grep 2.5 Jacob Abel
2023-07-15 8:59 ` Phillip Wood
2023-07-15 23:15 ` Jacob Abel
2023-07-16 1:08 ` Junio C Hamano
2023-07-16 2:55 ` Jacob Abel
2023-07-16 15:34 ` Phillip Wood
2023-07-17 2:38 ` Junio C Hamano
2023-07-18 0:44 ` Jacob Abel
2023-07-18 13:36 ` Phillip Wood
2023-07-21 4:35 ` Jacob Abel
2023-07-15 23:36 ` Jacob Abel
2023-07-16 3:38 ` [PATCH v2] " Jacob Abel
2023-07-21 4:40 ` [PATCH v3 0/3] " Jacob Abel
2023-07-21 4:40 ` [PATCH v3 1/3] t2400: drop no-op `--sq` from rev-parse call Jacob Abel
2023-07-21 4:40 ` [PATCH v3 2/3] builtin/worktree.c: convert tab in advice to space Jacob Abel
2023-07-21 4:40 ` [PATCH v3 3/3] t2400: rewrite regex to avoid unintentional PCRE Jacob Abel
2023-07-21 15:16 ` Junio C Hamano
2023-07-21 15:49 ` Junio C Hamano
2023-07-22 2:36 ` Jacob Abel
2023-07-26 21:42 ` Jacob Abel [this message]
2023-07-26 21:42 ` [PATCH v4 1/3] t2400: drop no-op `--sq` from rev-parse call Jacob Abel
2023-07-26 21:42 ` [PATCH v4 2/3] builtin/worktree.c: convert tab in advice to space Jacob Abel
2023-07-26 21:42 ` [PATCH v4 3/3] t2400: rewrite regex to avoid unintentional PCRE Jacob Abel
2023-07-26 22:09 ` [PATCH v4 0/3] t2400: Fix test failures when using grep 2.5 Junio C Hamano
2023-07-28 13:09 ` Phillip Wood
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=20230726214202.15775-1-jacobabel@nullpo.dev \
--to=jacobabel@nullpo.dev \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=phillip.wood123@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.