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.
--- a/contrib/check-code.py Mon Jun 26 14:34:58 2023 +0200
+++ b/contrib/check-code.py Mon Jun 26 14:54:00 2023 +0200
@@ -147,6 +147,7 @@
'[ 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"),
--- a/tests/test-bookflow.t Mon Jun 26 14:34:58 2023 +0200
+++ b/tests/test-bookflow.t Mon Jun 26 14:54:00 2023 +0200
@@ -230,17 +230,17 @@
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)