Skip to content

Commit 4abf20f

Browse files
avargitster
authored andcommitted
tests: fix unportable "\?" and "\+" regex syntax
Fix widely supported but non-POSIX basic regex syntax introduced in [1] and [2]. On GNU, NetBSD and FreeBSD the following works: $ echo xy >f $ grep 'xy\?' f; echo $? xy 0 The same goes for "\+". The "?" and "+" syntax is not in the BRE syntax, just in ERE, but on some implementations it can be invoked by prefixing the meta-operator with "\", but not on OpenBSD: $ uname -a OpenBSD obsd.my.domain 6.2 GENERIC#132 amd64 $ grep --version grep version 0.9 $ grep 'xy\?' f; echo $? 1 Let's fix this by moving to ERE syntax instead, where "?" and "+" are universally supported: $ grep -E 'xy?' f; echo $? xy 0 1. 2ed5c8e ("describe: setup working tree for --dirty", 2019-02-03) 2. c801170 ("t6120: test for describe with a bare repository", 2019-02-03) Signed-off-by: Ævar Arnfjörð Bjarmason <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 35ee755 commit 4abf20f

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

t/t6120-describe.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ check_describe A-* HEAD
146146
test_expect_success 'describe works from outside repo using --git-dir' '
147147
git clone --bare "$TRASH_DIRECTORY" "$TRASH_DIRECTORY/bare" &&
148148
git --git-dir "$TRASH_DIRECTORY/bare" describe >out &&
149-
grep "^A-[1-9][0-9]\?-g[0-9a-f]\+$" out
149+
grep -E "^A-[1-9][0-9]?-g[0-9a-f]+$" out
150150
'
151151

152152
check_describe "A-*[0-9a-f]" --dirty
@@ -156,7 +156,7 @@ test_expect_success 'describe --dirty with --work-tree' '
156156
cd "$TEST_DIRECTORY" &&
157157
git --git-dir "$TRASH_DIRECTORY/.git" --work-tree "$TRASH_DIRECTORY" describe --dirty >"$TRASH_DIRECTORY/out"
158158
) &&
159-
grep "^A-[1-9][0-9]\?-g[0-9a-f]\+$" out
159+
grep -E "^A-[1-9][0-9]?-g[0-9a-f]+$" out
160160
'
161161

162162
test_expect_success 'set-up dirty work tree' '
@@ -170,7 +170,7 @@ test_expect_success 'describe --dirty with --work-tree (dirty)' '
170170
cd "$TEST_DIRECTORY" &&
171171
git --git-dir "$TRASH_DIRECTORY/.git" --work-tree "$TRASH_DIRECTORY" describe --dirty >"$TRASH_DIRECTORY/out"
172172
) &&
173-
grep "^A-[1-9][0-9]\?-g[0-9a-f]\+-dirty$" out
173+
grep -E "^A-[1-9][0-9]?-g[0-9a-f]+-dirty$" out
174174
'
175175

176176
check_describe "A-*[0-9a-f].mod" --dirty=.mod
@@ -180,7 +180,7 @@ test_expect_success 'describe --dirty=.mod with --work-tree (dirty)' '
180180
cd "$TEST_DIRECTORY" &&
181181
git --git-dir "$TRASH_DIRECTORY/.git" --work-tree "$TRASH_DIRECTORY" describe --dirty=.mod >"$TRASH_DIRECTORY/out"
182182
) &&
183-
grep "^A-[1-9][0-9]\?-g[0-9a-f]\+.mod$" out
183+
grep -E "^A-[1-9][0-9]?-g[0-9a-f]+.mod$" out
184184
'
185185

186186
test_expect_success 'describe --dirty HEAD' '

0 commit comments

Comments
 (0)