Mercurial > public > mercurial-scm > hg-stable
comparison contrib/check-code.py @ 50722:7e5be4a7cda7 stable
tests: use grep -E instead of obsolescent egrep
Testing on Fedora 38 failed with:
egrep: warning: egrep is obsolescent; using grep -E
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 .
This reverses the code check that goes back to e7d3b509af8b. grep -E 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.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Mon, 26 Jun 2023 14:34:58 +0200 |
parents | 3a2b6158374a |
children | 65f949da8469 |
comparison
equal
deleted
inserted
replaced
50721:a10d823a8e3d | 50722:7e5be4a7cda7 |
---|---|
144 (r'rm -rf \*', "don't use naked rm -rf, target a directory"), | 144 (r'rm -rf \*', "don't use naked rm -rf, target a directory"), |
145 ( | 145 ( |
146 r'\[[^\]]+==', | 146 r'\[[^\]]+==', |
147 '[ foo == bar ] is a bashism, use [ foo = bar ] instead', | 147 '[ foo == bar ] is a bashism, use [ foo = bar ] instead', |
148 ), | 148 ), |
149 ( | 149 (r'(^|\|\s*)egrep', "use grep -E for extended grep syntax"), |
150 r'(^|\|\s*)grep (-\w\s+)*[^|]*[(|]\w', | |
151 "use egrep for extended grep syntax", | |
152 ), | |
153 (r'(^|\|\s*)e?grep .*\\S', "don't use \\S in regular expression"), | 150 (r'(^|\|\s*)e?grep .*\\S', "don't use \\S in regular expression"), |
154 (r'(?<!!)/bin/', "don't use explicit paths for tools"), | 151 (r'(?<!!)/bin/', "don't use explicit paths for tools"), |
155 (r'#!.*/bash', "don't use bash in shebang, use sh"), | 152 (r'#!.*/bash', "don't use bash in shebang, use sh"), |
156 (r'[^\n]\Z', "no trailing newline"), | 153 (r'[^\n]\Z', "no trailing newline"), |
157 (r'export .*=', "don't export and assign at once"), | 154 (r'export .*=', "don't export and assign at once"), |