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. 2ed5c8e174 ("describe: setup working tree for --dirty", 2019-02-03)
2. c801170b0c ("t6120: test for describe with a bare repository",
   2019-02-03)

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2019-02-21 20:28:48 +01:00 коммит произвёл Junio C Hamano
Родитель 35ee755a8c
Коммит 4abf20f004
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -146,7 +146,7 @@ check_describe A-* HEAD
test_expect_success 'describe works from outside repo using --git-dir' '
git clone --bare "$TRASH_DIRECTORY" "$TRASH_DIRECTORY/bare" &&
git --git-dir "$TRASH_DIRECTORY/bare" describe >out &&
grep "^A-[1-9][0-9]\?-g[0-9a-f]\+$" out
grep -E "^A-[1-9][0-9]?-g[0-9a-f]+$" out
'
check_describe "A-*[0-9a-f]" --dirty
@ -156,7 +156,7 @@ test_expect_success 'describe --dirty with --work-tree' '
cd "$TEST_DIRECTORY" &&
git --git-dir "$TRASH_DIRECTORY/.git" --work-tree "$TRASH_DIRECTORY" describe --dirty >"$TRASH_DIRECTORY/out"
) &&
grep "^A-[1-9][0-9]\?-g[0-9a-f]\+$" out
grep -E "^A-[1-9][0-9]?-g[0-9a-f]+$" out
'
test_expect_success 'set-up dirty work tree' '
@ -170,7 +170,7 @@ test_expect_success 'describe --dirty with --work-tree (dirty)' '
cd "$TEST_DIRECTORY" &&
git --git-dir "$TRASH_DIRECTORY/.git" --work-tree "$TRASH_DIRECTORY" describe --dirty >"$TRASH_DIRECTORY/out"
) &&
grep "^A-[1-9][0-9]\?-g[0-9a-f]\+-dirty$" out
grep -E "^A-[1-9][0-9]?-g[0-9a-f]+-dirty$" out
'
check_describe "A-*[0-9a-f].mod" --dirty=.mod
@ -180,7 +180,7 @@ test_expect_success 'describe --dirty=.mod with --work-tree (dirty)' '
cd "$TEST_DIRECTORY" &&
git --git-dir "$TRASH_DIRECTORY/.git" --work-tree "$TRASH_DIRECTORY" describe --dirty=.mod >"$TRASH_DIRECTORY/out"
) &&
grep "^A-[1-9][0-9]\?-g[0-9a-f]\+.mod$" out
grep -E "^A-[1-9][0-9]?-g[0-9a-f]+.mod$" out
'
test_expect_success 'describe --dirty HEAD' '