1# PYTHON_ARGCOMPLETE_OK
2"""
3pytest: unit and functional testing with Python.
4"""
5
6
7# else we are imported
8
9from _pytest.config import main, UsageError, cmdline, hookspec, hookimpl
10from _pytest.fixtures import fixture, yield_fixture
11from _pytest.assertion import register_assert_rewrite
12from _pytest.freeze_support import freeze_includes
13from _pytest import __version__
14from _pytest.debugging import pytestPDB as __pytestPDB
15from _pytest.recwarn import warns, deprecated_call
16from _pytest.outcomes import fail, skip, importorskip, exit, xfail
17from _pytest.mark import MARK_GEN as mark, param
18from _pytest.main import Session
19from _pytest.nodes import Item, Collector, File
20from _pytest.fixtures import fillfixtures as _fillfuncargs
21from _pytest.python import Module, Class, Instance, Function, Generator
22
23from _pytest.python_api import approx, raises
24
25set_trace = __pytestPDB.set_trace
26
27__all__ = [
28    "main",
29    "UsageError",
30    "cmdline",
31    "hookspec",
32    "hookimpl",
33    "__version__",
34    "register_assert_rewrite",
35    "freeze_includes",
36    "set_trace",
37    "warns",
38    "deprecated_call",
39    "fixture",
40    "yield_fixture",
41    "fail",
42    "skip",
43    "xfail",
44    "importorskip",
45    "exit",
46    "mark",
47    "param",
48    "approx",
49    "_fillfuncargs",
50    "Item",
51    "File",
52    "Collector",
53    "Session",
54    "Module",
55    "Class",
56    "Instance",
57    "Function",
58    "Generator",
59    "raises",
60]
61
62if __name__ == "__main__":
63    # if run as a script or by 'python -m pytest'
64    # we trigger the below "else" condition by the following import
65    import pytest
66
67    raise SystemExit(pytest.main())
68else:
69
70    from _pytest.compat import _setup_collect_fakemodule
71
72    _setup_collect_fakemodule()
73