diff --git a/contrib/check-code.py b/contrib/check-code.py --- a/contrib/check-code.py +++ b/contrib/check-code.py @@ -116,6 +116,7 @@ testpats = [ (r'printf.*[^\\]\\x', "don't use printf \\x, use Python"), (r'\$\(.*\)', "don't use $(expr), use `expr`"), (r'rm -rf \*', "don't use naked rm -rf, target a directory"), + (r'\[[^\]]+==', '[ foo == bar ] is a bashism, use [ foo = bar ] instead'), (r'(^|\|\s*)grep (-\w\s+)*[^|]*[(|]\w', "use egrep for extended grep syntax"), (r'/bin/', "don't use explicit paths for tools"), diff --git a/tests/test-contrib-check-code.t b/tests/test-contrib-check-code.t --- a/tests/test-contrib-check-code.t +++ b/tests/test-contrib-check-code.t @@ -152,6 +152,15 @@ > $ function onwarn {} warning: don't use 'function', use old style [1] + $ cat > error.t < $ [ foo == bar ] + > EOF + $ "$check_code" error.t + error.t:1: + > $ [ foo == bar ] + [ foo == bar ] is a bashism, use [ foo = bar ] instead + [1] + $ rm error.t $ cat > raise-format.py < raise SomeException, message > # this next line is okay