Mercurial > hg
changeset 18180:c582a71457e5
check-code: disallow two-argument form of raise
Using this old form makes any attempt to port to Python 3 harder, and
the new syntax is supported in 2.4 already.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Tue, 01 Jan 2013 12:58:21 -0600 |
parents | f614543733b6 |
children | c7d258cd77e5 |
files | contrib/check-code.py tests/test-check-code.t |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/contrib/check-code.py Tue Jan 01 13:25:07 2013 -0600 +++ b/contrib/check-code.py Tue Jan 01 12:58:21 2013 -0600 @@ -185,6 +185,8 @@ (r'[^^+=*/!<>&| %-](\s=|=\s)[^= ]', "wrong whitespace around ="), (r'raise Exception', "don't raise generic exceptions"), + (r'raise [^,(]+, (\([^\)]+\)|[^,\(\)]+)$', + "don't use old-style two-argument raise, use Exception(message)"), (r' is\s+(not\s+)?["\'0-9-]', "object comparison with literal"), (r' [=!]=\s+(True|False|None)', "comparison with singleton, use 'is' or 'is not' instead"),
--- a/tests/test-check-code.t Tue Jan 01 13:25:07 2013 -0600 +++ b/tests/test-check-code.t Tue Jan 01 12:58:21 2013 -0600 @@ -159,3 +159,14 @@ > except: warning: naked except clause [1] + + $ cat > raise-format.py <<EOF + > raise SomeException, message + > # this next line is okay + > raise SomeException(arg1, arg2) + > EOF + $ "$check_code" raise-format.py + raise-format.py:1: + > raise SomeException, message + don't use old-style two-argument raise, use Exception(message) + [1]