bpo-35798: Add test.support.check_syntax_warning(). (#11895)

It checks that a SyntaxWarning is raised when compile specified
statement, that it is raised only once, that it is converted to
a SyntaxError when raised as exception, and that both warning and
exception objects have corresponding attributes.
This commit is contained in:
Serhiy Storchaka 2019-02-19 08:30:15 +02:00 • committed by GitHub
parent ee0f927bd8
commit e7a4bb554e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 62 additions and 55 deletions

View file

@ -936,9 +936,24 @@ The :mod:`test.support` module defines the following functions:
Test for syntax errors in *statement* by attempting to compile *statement*.
*testcase* is the :mod:`unittest` instance for the test. *errtext* is the
text of the error raised by :exc:`SyntaxError`. If *lineno* is not None,
compares to the line of the :exc:`SyntaxError`. If *offset* is not None,
compares to the offset of the :exc:`SyntaxError`.
regular expression which should match the string representation of the
raised :exc:`SyntaxError`. If *lineno* is not ``None``, compares to
the line of the exception. If *offset* is not ``None``, compares to
the offset of the exception.
.. function:: check_syntax_warning(testcase, statement, errtext='', *, lineno=1, offset=None)
Test for syntax warning in *statement* by attempting to compile *statement*.
Test also that the :exc:`SyntaxWarning` is emitted only once, and that it
will be converted to a :exc:`SyntaxError` when turned into error.
*testcase* is the :mod:`unittest` instance for the test. *errtext* is the
regular expression which should match the string representation of the
emitted :exc:`SyntaxWarning` and raised :exc:`SyntaxError`. If *lineno*
is not ``None``, compares to the line of the warning and exception.
If *offset* is not ``None``, compares to the offset of the exception.
.. versionadded:: 3.8
.. function:: open_urlresource(url, *args, **kw)