contrib/check-code.py
changeset 12743 4c4aeaab2339
parent 12367 3acd5f7ab9d0
child 12770 614f0d8724ab
equal deleted inserted replaced
12742:6ab4a7d3c179 12743:4c4aeaab2339
    70     (r"( *)(#([^\n]*\S)?)", repcomment),
    70     (r"( *)(#([^\n]*\S)?)", repcomment),
    71     (r"<<(\S+)((.|\n)*?\n\1)", rephere),
    71     (r"<<(\S+)((.|\n)*?\n\1)", rephere),
    72 ]
    72 ]
    73 
    73 
    74 uprefix = r"^  \$ "
    74 uprefix = r"^  \$ "
       
    75 uprefixc = r"^  > "
    75 utestpats = [
    76 utestpats = [
    76     (uprefix + r'.*\|\s*sed', "use regex test output patterns instead of sed"),
    77     (uprefix + r'.*\|\s*sed', "use regex test output patterns instead of sed"),
    77     (uprefix + r'(true|exit 0)', "explicit zero exit unnecessary"),
    78     (uprefix + r'(true|exit 0)', "explicit zero exit unnecessary"),
    78     (uprefix + r'.*\$\?', "explicit exit code checks unnecessary"),
    79     (uprefix + r'.*\$\?', "explicit exit code checks unnecessary"),
    79     (uprefix + r'.*\|\| echo.*(fail|error)',
    80     (uprefix + r'.*\|\| echo.*(fail|error)',
    80      "explicit exit code checks unnecessary"),
    81      "explicit exit code checks unnecessary"),
    81     (uprefix + r'set -e', "don't use set -e"),
    82     (uprefix + r'set -e', "don't use set -e"),
       
    83     (uprefixc + r'( *)\t', "don't use tabs to indent"),
    82 ]
    84 ]
    83 
    85 
    84 for p, m in testpats:
    86 for p, m in testpats:
    85     if p.startswith('^'):
    87     if p.startswith('^'):
    86         p = uprefix + p[1:]
    88         p = uprefix + p[1:]