comparison contrib/check-code.py @ 50725: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
50724:a10d823a8e3d 50725: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"),