New submission from the mulhern:

A normal thing for a developer to do is to convert a use of an assert* function 
to a use of an assert*Regex function and foolishly forget to actually specify 
the expected regular expression.

If they do this, the test will always pass because the callable expression will 
be in the place of the expected regular expression and the callable expression 
will, therefore, be None. It would be nice if in the constructor in 
AssertRaisesBaseContext (for 3.5) not only was the expected regex converted to 
a regex (if actually a string or bytes) but if it's not if it were checked if 
it were a valid regular expression object and an exception raised if this is 
not the case.

In the current version of AssertRaisesBaseContext.handle the comments say that 
if the callable object is None then the function is being used as a context 
manager. Not always the case, alas, perhaps the developer just forgot to add 
that necessary regular expression before the callable object.

----------
messages: 207436
nosy: the.mulhern
priority: normal
severity: normal
status: open
title: unittest.assert*Regex functions should verify that expected_regex has a 
valid type
type: behavior
versions: Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4, Python 3.5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20145>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to