Warnings

In many cases test executions succeed, but warnings are emitted. These warnings can mean a lot of things, and in some cases even invalidate the success of the test completely.

Warning Capture

Slash collects warnings emitted throughout the session in the form of either warning logs or the native warnings mechanism. The warnings are recorded in the session.warnings (instance of warnings.SessionWarnings) component, and cause the warning_added hook to be fired.

Filtering Warnings

By default all native warnings are captured. In cases where you want to silence specific warnings, you can use the slash.ignore_warnings() function to handle them.

For example, you may want to include code in your project’s .slashrc as follows:

@slash.hooks.configure.register
def configure_warnings():
    slash.ignore_warnings(category=DeprecationWarning, filename='/some/bad/file.py')

Note

Filter arguments to ignore_warnings are treated as though they are and ed together. This means that a filter for a specific filename and a specific category would only ignore warnings coming from the specified file and having the specified category.

For ignoring warnings in specific code-block, one can use the slash.ignored_warnings context: .. code-block:: python

with slash.ignore_warnings(category=DeprecationWarning, filename=’/some/bad/file.py’):