contrib/check-code.py
changeset 10374 3aa35db5e38c
parent 10373 e4c7972002e4
child 10412 5326800d6937
equal deleted inserted replaced
10373:e4c7972002e4 10374:3aa35db5e38c
    31     t = re.sub(r"\S", "x", m.group(2))
    31     t = re.sub(r"\S", "x", m.group(2))
    32     return m.group(1) + t
    32     return m.group(1) + t
    33 
    33 
    34 
    34 
    35 testpats = [
    35 testpats = [
    36     (r'(pushd|popd)', "don't use pushd|popd, use cd"),
    36     (r'(pushd|popd)', "don't use 'pushd' or 'popd', use 'cd'"),
    37     (r'\W\$?\(\([^\)]*\)\)', "don't use (()) or $(()), use expr"),
    37     (r'\W\$?\(\([^\)]*\)\)', "don't use (()) or $(()), use 'expr'"),
    38     (r'^function', "don't use 'function', use old style"),
    38     (r'^function', "don't use 'function', use old style"),
    39     (r'grep.*-q', "don't use grep -q, redirect to /dev/null"),
    39     (r'grep.*-q', "don't use 'grep -q', redirect to /dev/null"),
    40     (r'echo.*\\n', "don't use 'echo \\n', use printf"),
    40     (r'echo.*\\n', "don't use 'echo \\n', use printf"),
    41     (r'^diff.*-\w*N', "don't use diff -N"),
    41     (r'^diff.*-\w*N', "don't use 'diff -N'"),
    42     (r'(^| )wc[^|]*$', "filter wc output"),
    42     (r'(^| )wc[^|]*$', "filter wc output"),
    43     (r'head -c', "don't use head -c, use dd"),
    43     (r'head -c', "don't use 'head -c', use 'dd'"),
    44     (r'ls.*-\w*R', "don't use ls -R, use find"),
    44     (r'ls.*-\w*R', "don't use 'ls -R', use 'find'"),
    45     (r'printf.*\\\d\d\d', "don't use printf \NNN, use python"),
    45     (r'printf.*\\\d\d\d', "don't use 'printf \NNN', use Python"),
    46     (r'printf.*\\x', "don't use printf \\x, use python"),
    46     (r'printf.*\\x', "don't use printf \\x, use Python"),
    47     (r'\$\(.*\)', "don't use $(expr), use `expr`"),
    47     (r'\$\(.*\)', "don't use $(expr), use `expr`"),
    48     (r'rm -rf \*', "don't use naked rm -rf, target a directory"),
    48     (r'rm -rf \*', "don't use naked rm -rf, target a directory"),
    49     (r'(^|\|\s*)grep (-\w\s+)*[^|]*[(|]\w',
    49     (r'(^|\|\s*)grep (-\w\s+)*[^|]*[(|]\w',
    50      "use egrep for extended grep syntax"),
    50      "use egrep for extended grep syntax"),
    51     (r'/bin/', "don't use explicit paths for tools"),
    51     (r'/bin/', "don't use explicit paths for tools"),