[PATCH 02 of 10] tests: use grep -F instead of obsolescent fgrep
Mads Kiilerich
mads at kiilerich.com
Wed Jun 28 00:06:47 UTC 2023
# HG changeset patch
# User Mads Kiilerich <mads at kiilerich.com>
# Date 1687784040 -7200
# Mon Jun 26 14:54:00 2023 +0200
# Branch stable
# Node ID 141a32ae6e30dc9bdf0e742f240734afa37f3054
# Parent 2790b07cd5da2be40fd5299ae114a49eb6196e55
tests: use grep -F instead of obsolescent fgrep
Testing on Fedora 38 failed with:
fgrep: warning: fgrep is obsolescent; using grep -F
The warning comes from
https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1
. For further anecdotal evidence of the change, see
https://www.phoronix.com/news/GNU-Grep-3.8-Stop-egrep-fgrep .
grep -F is POSIX, but there is a risk that it doesn't work the same on all
platforms - especially older Unix versions. It should however always be
possible to put a GNU grep in $PATH before running the tests.
diff --git a/contrib/check-code.py b/contrib/check-code.py
--- a/contrib/check-code.py
+++ b/contrib/check-code.py
@@ -147,6 +147,7 @@ testpats = [
'[ foo == bar ] is a bashism, use [ foo = bar ] instead',
),
(r'(^|\|\s*)egrep', "use grep -E for extended grep syntax"),
+ (r'(^|\|\s*)fgrep', "use grep -F for fixed string grepping"),
(r'(^|\|\s*)e?grep .*\\S', "don't use \\S in regular expression"),
(r'(?<!!)/bin/', "don't use explicit paths for tools"),
(r'#!.*/bash', "don't use bash in shebang, use sh"),
diff --git a/tests/test-bookflow.t b/tests/test-bookflow.t
--- a/tests/test-bookflow.t
+++ b/tests/test-bookflow.t
@@ -230,17 +230,17 @@ test shelving
make the bookmark move by updating it on a, and then pulling with a local change
# add a commit to a
$ cd ../a
- $ hg up -C X |fgrep "activating bookmark X"
+ $ hg up -C X |grep -F "activating bookmark X"
(activating bookmark X)
# go back to b, and check out X
$ cd ../b
- $ hg up -C X |fgrep "activating bookmark X"
+ $ hg up -C X |grep -F "activating bookmark X"
(activating bookmark X)
# update and push from a
$ make_changes ../a
created new head
$ echo "more" >> test
- $ hg pull -u 2>&1 | fgrep -v TESTTMP| fgrep -v "searching for changes" | fgrep -v adding
+ $ hg pull -u 2>&1 | grep -F -v TESTTMP| grep -F -v "searching for changes" | grep -F -v adding
pulling from $TESTTMP/a
updating bookmark X
added 1 changesets with 0 changes to 0 files (+1 heads)
More information about the Mercurial-devel
mailing list