TestRunner#

class astropy.tests.runner.TestRunner(*args, **kwargs)[source]#

Bases: TestRunnerBase

A test runner for astropy tests.

Attributes Summary

keywords

Methods Summary

args(**kwargs)

args : str, optional

coverage(**kwargs)

docs_path(**kwargs)

docs_path : str, optional

package(**kwargs)

package : str, optional

packages_path(packages, base_path[, error, ...])

Generates the path for multiple packages.

parallel(**kwargs)

parallel : int or 'auto', optional

pastebin(**kwargs)

pastebin : ('failed', 'all', None), optional

pdb(**kwargs)

pdb : bool, optional

pep8(**kwargs)

pep8 : bool, optional

plugins(**kwargs)

plugins : list, optional

remote_data(**kwargs)

remote_data : {'none', 'astropy', 'any'}, optional

repeat(**kwargs)

repeat : int, optional

run_tests(**kwargs)

Run the tests for the package.

skip_docs(**kwargs)

skip_docs : bool, optional

test_path(**kwargs)

test_path : str, optional

verbose(**kwargs)

verbose : bool, optional

Attributes Documentation

keywords = {'args': None, 'coverage': None, 'docs_path': None, 'package': None, 'parallel': 0, 'pastebin': None, 'pdb': None, 'pep8': None, 'plugins': [], 'remote_data': 'none', 'repeat': None, 'skip_docs': None, 'test_path': None, 'verbose': None}#

Methods Documentation

args(**kwargs)[source]#
argsstr, optional

Additional arguments to be passed to pytest.main in the args keyword argument.

coverage(**kwargs)[source]#
docs_path(**kwargs)[source]#
docs_pathstr, optional

The path to the documentation .rst files.

package(**kwargs)[source]#
packagestr, optional

The name of a specific package to test, e.g. ‘io.fits’ or ‘utils’. Accepts comma separated string to specify multiple packages. If nothing is specified all default tests are run.

packages_path(packages, base_path, error=None, warning=None)[source]#

Generates the path for multiple packages.

Parameters:
packagesstr

Comma separated string of packages.

base_pathstr

Base path to the source code or documentation.

errorstr

Error message to be raised as ValueError. Individual package name and path can be accessed by {name} and {path} respectively. No error is raised if None. (Default: None)

warningstr

Warning message to be issued. Individual package name and path can be accessed by {name} and {path} respectively. No warning is issues if None. (Default: None)

Returns:
pathslist of str

List of strings of existing package paths.

parallel(**kwargs)[source]#
parallelint or ‘auto’, optional

When provided, run the tests in parallel on the specified number of CPUs. If parallel is 'auto', it will use the all the cores on the machine. Requires the pytest-xdist plugin.

pastebin(**kwargs)[source]#
pastebin(‘failed’, ‘all’, None), optional

Convenience option for turning on pytest pastebin output. Set to ‘failed’ to upload info for failed tests, or ‘all’ to upload info for all tests.

pdb(**kwargs)[source]#
pdbbool, optional

Turn on PDB post-mortem analysis for failing tests. Same as specifying --pdb in args.

pep8(**kwargs)[source]#
pep8bool, optional

Turn on PEP8 checking via the pytest-pep8 plugin and disable normal tests. Same as specifying --pep8 -k pep8 in args.

plugins(**kwargs)[source]#
pluginslist, optional

Plugins to be passed to pytest.main in the plugins keyword argument.

remote_data(**kwargs)[source]#
remote_data{‘none’, ‘astropy’, ‘any’}, optional

Controls whether to run tests marked with @pytest.mark.remote_data. This can be set to run no tests with remote data (none), only ones that use data from http://data.astropy.org (astropy), or all tests that use remote data (any). The default is none.

repeat(**kwargs)[source]#
repeatint, optional

If set, specifies how many times each test should be run. This is useful for diagnosing sporadic failures.

run_tests(**kwargs)[source]#

Run the tests for the package.

This method builds arguments for and then calls pytest.main.

Parameters:
packagestr, optional

The name of a specific package to test, e.g. ‘io.fits’ or ‘utils’. Accepts comma separated string to specify multiple packages. If nothing is specified all default tests are run.

argsstr, optional

Additional arguments to be passed to pytest.main in the args keyword argument.

docs_pathstr, optional

The path to the documentation .rst files.

parallelint or ‘auto’, optional

When provided, run the tests in parallel on the specified number of CPUs. If parallel is 'auto', it will use the all the cores on the machine. Requires the pytest-xdist plugin.

pastebin(‘failed’, ‘all’, None), optional

Convenience option for turning on pytest pastebin output. Set to ‘failed’ to upload info for failed tests, or ‘all’ to upload info for all tests.

pdbbool, optional

Turn on PDB post-mortem analysis for failing tests. Same as specifying --pdb in args.

pep8bool, optional

Turn on PEP8 checking via the pytest-pep8 plugin and disable normal tests. Same as specifying --pep8 -k pep8 in args.

pluginslist, optional

Plugins to be passed to pytest.main in the plugins keyword argument.

remote_data{‘none’, ‘astropy’, ‘any’}, optional

Controls whether to run tests marked with @pytest.mark.remote_data. This can be set to run no tests with remote data (none), only ones that use data from http://data.astropy.org (astropy), or all tests that use remote data (any). The default is none.

repeatint, optional

If set, specifies how many times each test should be run. This is useful for diagnosing sporadic failures.

skip_docsbool, optional

When True, skips running the doctests in the .rst files.

test_pathstr, optional

Specify location to test by path. May be a single file or directory. Must be specified absolutely or relative to the calling directory.

verbosebool, optional

Convenience option to turn on verbose output from pytest. Passing True is the same as specifying -v in args.

skip_docs(**kwargs)[source]#
skip_docsbool, optional

When True, skips running the doctests in the .rst files.

test_path(**kwargs)[source]#
test_pathstr, optional

Specify location to test by path. May be a single file or directory. Must be specified absolutely or relative to the calling directory.

verbose(**kwargs)[source]#
verbosebool, optional

Convenience option to turn on verbose output from pytest. Passing True is the same as specifying -v in args.