diff options
Diffstat (limited to 'tests/wpt/web-platform-tests/tools/pytest/_pytest/hookspec.py')
-rw-r--r-- | tests/wpt/web-platform-tests/tools/pytest/_pytest/hookspec.py | 295 |
1 files changed, 0 insertions, 295 deletions
diff --git a/tests/wpt/web-platform-tests/tools/pytest/_pytest/hookspec.py b/tests/wpt/web-platform-tests/tools/pytest/_pytest/hookspec.py deleted file mode 100644 index 60e9b47d262..00000000000 --- a/tests/wpt/web-platform-tests/tools/pytest/_pytest/hookspec.py +++ /dev/null @@ -1,295 +0,0 @@ -""" hook specifications for pytest plugins, invoked from main.py and builtin plugins. """ - -from _pytest._pluggy import HookspecMarker - -hookspec = HookspecMarker("pytest") - -# ------------------------------------------------------------------------- -# Initialization hooks called for every plugin -# ------------------------------------------------------------------------- - -@hookspec(historic=True) -def pytest_addhooks(pluginmanager): - """called at plugin registration time to allow adding new hooks via a call to - pluginmanager.add_hookspecs(module_or_class, prefix).""" - - -@hookspec(historic=True) -def pytest_namespace(): - """return dict of name->object to be made globally available in - the pytest namespace. This hook is called at plugin registration - time. - """ - -@hookspec(historic=True) -def pytest_plugin_registered(plugin, manager): - """ a new pytest plugin got registered. """ - - -@hookspec(historic=True) -def pytest_addoption(parser): - """register argparse-style options and ini-style config values, - called once at the beginning of a test run. - - .. note:: - - This function should be implemented only in plugins or ``conftest.py`` - files situated at the tests root directory due to how py.test - :ref:`discovers plugins during startup <pluginorder>`. - - :arg parser: To add command line options, call - :py:func:`parser.addoption(...) <_pytest.config.Parser.addoption>`. - To add ini-file values call :py:func:`parser.addini(...) - <_pytest.config.Parser.addini>`. - - Options can later be accessed through the - :py:class:`config <_pytest.config.Config>` object, respectively: - - - :py:func:`config.getoption(name) <_pytest.config.Config.getoption>` to - retrieve the value of a command line option. - - - :py:func:`config.getini(name) <_pytest.config.Config.getini>` to retrieve - a value read from an ini-style file. - - The config object is passed around on many internal objects via the ``.config`` - attribute or can be retrieved as the ``pytestconfig`` fixture or accessed - via (deprecated) ``pytest.config``. - """ - -@hookspec(historic=True) -def pytest_configure(config): - """ called after command line options have been parsed - and all plugins and initial conftest files been loaded. - This hook is called for every plugin. - """ - -# ------------------------------------------------------------------------- -# Bootstrapping hooks called for plugins registered early enough: -# internal and 3rd party plugins as well as directly -# discoverable conftest.py local plugins. -# ------------------------------------------------------------------------- - -@hookspec(firstresult=True) -def pytest_cmdline_parse(pluginmanager, args): - """return initialized config object, parsing the specified args. """ - -def pytest_cmdline_preparse(config, args): - """(deprecated) modify command line arguments before option parsing. """ - -@hookspec(firstresult=True) -def pytest_cmdline_main(config): - """ called for performing the main command line action. The default - implementation will invoke the configure hooks and runtest_mainloop. """ - -def pytest_load_initial_conftests(early_config, parser, args): - """ implements the loading of initial conftest files ahead - of command line option parsing. """ - - -# ------------------------------------------------------------------------- -# collection hooks -# ------------------------------------------------------------------------- - -@hookspec(firstresult=True) -def pytest_collection(session): - """ perform the collection protocol for the given session. """ - -def pytest_collection_modifyitems(session, config, items): - """ called after collection has been performed, may filter or re-order - the items in-place.""" - -def pytest_collection_finish(session): - """ called after collection has been performed and modified. """ - -@hookspec(firstresult=True) -def pytest_ignore_collect(path, config): - """ return True to prevent considering this path for collection. - This hook is consulted for all files and directories prior to calling - more specific hooks. - """ - -@hookspec(firstresult=True) -def pytest_collect_directory(path, parent): - """ called before traversing a directory for collection files. """ - -def pytest_collect_file(path, parent): - """ return collection Node or None for the given path. Any new node - needs to have the specified ``parent`` as a parent.""" - -# logging hooks for collection -def pytest_collectstart(collector): - """ collector starts collecting. """ - -def pytest_itemcollected(item): - """ we just collected a test item. """ - -def pytest_collectreport(report): - """ collector finished collecting. """ - -def pytest_deselected(items): - """ called for test items deselected by keyword. """ - -@hookspec(firstresult=True) -def pytest_make_collect_report(collector): - """ perform ``collector.collect()`` and return a CollectReport. """ - -# ------------------------------------------------------------------------- -# Python test function related hooks -# ------------------------------------------------------------------------- - -@hookspec(firstresult=True) -def pytest_pycollect_makemodule(path, parent): - """ return a Module collector or None for the given path. - This hook will be called for each matching test module path. - The pytest_collect_file hook needs to be used if you want to - create test modules for files that do not match as a test module. - """ - -@hookspec(firstresult=True) -def pytest_pycollect_makeitem(collector, name, obj): - """ return custom item/collector for a python object in a module, or None. """ - -@hookspec(firstresult=True) -def pytest_pyfunc_call(pyfuncitem): - """ call underlying test function. """ - -def pytest_generate_tests(metafunc): - """ generate (multiple) parametrized calls to a test function.""" - -# ------------------------------------------------------------------------- -# generic runtest related hooks -# ------------------------------------------------------------------------- - -@hookspec(firstresult=True) -def pytest_runtestloop(session): - """ called for performing the main runtest loop - (after collection finished). """ - -def pytest_itemstart(item, node): - """ (deprecated, use pytest_runtest_logstart). """ - -@hookspec(firstresult=True) -def pytest_runtest_protocol(item, nextitem): - """ implements the runtest_setup/call/teardown protocol for - the given test item, including capturing exceptions and calling - reporting hooks. - - :arg item: test item for which the runtest protocol is performed. - - :arg nextitem: the scheduled-to-be-next test item (or None if this - is the end my friend). This argument is passed on to - :py:func:`pytest_runtest_teardown`. - - :return boolean: True if no further hook implementations should be invoked. - """ - -def pytest_runtest_logstart(nodeid, location): - """ signal the start of running a single test item. """ - -def pytest_runtest_setup(item): - """ called before ``pytest_runtest_call(item)``. """ - -def pytest_runtest_call(item): - """ called to execute the test ``item``. """ - -def pytest_runtest_teardown(item, nextitem): - """ called after ``pytest_runtest_call``. - - :arg nextitem: the scheduled-to-be-next test item (None if no further - test item is scheduled). This argument can be used to - perform exact teardowns, i.e. calling just enough finalizers - so that nextitem only needs to call setup-functions. - """ - -@hookspec(firstresult=True) -def pytest_runtest_makereport(item, call): - """ return a :py:class:`_pytest.runner.TestReport` object - for the given :py:class:`pytest.Item` and - :py:class:`_pytest.runner.CallInfo`. - """ - -def pytest_runtest_logreport(report): - """ process a test setup/call/teardown report relating to - the respective phase of executing a test. """ - -# ------------------------------------------------------------------------- -# test session related hooks -# ------------------------------------------------------------------------- - -def pytest_sessionstart(session): - """ before session.main() is called. """ - -def pytest_sessionfinish(session, exitstatus): - """ whole test run finishes. """ - -def pytest_unconfigure(config): - """ called before test process is exited. """ - - -# ------------------------------------------------------------------------- -# hooks for customising the assert methods -# ------------------------------------------------------------------------- - -def pytest_assertrepr_compare(config, op, left, right): - """return explanation for comparisons in failing assert expressions. - - Return None for no custom explanation, otherwise return a list - of strings. The strings will be joined by newlines but any newlines - *in* a string will be escaped. Note that all but the first line will - be indented sligthly, the intention is for the first line to be a summary. - """ - -# ------------------------------------------------------------------------- -# hooks for influencing reporting (invoked from _pytest_terminal) -# ------------------------------------------------------------------------- - -def pytest_report_header(config, startdir): - """ return a string to be displayed as header info for terminal reporting.""" - -@hookspec(firstresult=True) -def pytest_report_teststatus(report): - """ return result-category, shortletter and verbose word for reporting.""" - -def pytest_terminal_summary(terminalreporter): - """ add additional section in terminal summary reporting. """ - - -@hookspec(historic=True) -def pytest_logwarning(message, code, nodeid, fslocation): - """ process a warning specified by a message, a code string, - a nodeid and fslocation (both of which may be None - if the warning is not tied to a partilar node/location).""" - -# ------------------------------------------------------------------------- -# doctest hooks -# ------------------------------------------------------------------------- - -@hookspec(firstresult=True) -def pytest_doctest_prepare_content(content): - """ return processed content for a given doctest""" - -# ------------------------------------------------------------------------- -# error handling and internal debugging hooks -# ------------------------------------------------------------------------- - -def pytest_internalerror(excrepr, excinfo): - """ called for internal errors. """ - -def pytest_keyboard_interrupt(excinfo): - """ called for keyboard interrupt. """ - -def pytest_exception_interact(node, call, report): - """called when an exception was raised which can potentially be - interactively handled. - - This hook is only called if an exception was raised - that is not an internal exception like ``skip.Exception``. - """ - -def pytest_enter_pdb(config): - """ called upon pdb.set_trace(), can be used by plugins to take special - action just before the python debugger enters in interactive mode. - - :arg config: pytest config object - :type config: _pytest.config.Config - """ |