| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- """
- Entrypoint for testing from the top-level namespace.
- """
- from __future__ import annotations
- import os
- import sys
- from pandas.compat._optional import import_optional_dependency
- PKG = os.path.dirname(os.path.dirname(__file__))
- def test(extra_args: list[str] | None = None, run_doctests: bool = False) -> None:
- """
- Run the pandas test suite using pytest.
- By default, runs with the marks -m "not slow and not network and not db"
- Parameters
- ----------
- extra_args : list[str], default None
- Extra marks to run the tests.
- run_doctests : bool, default False
- Whether to only run the Python and Cython doctests. If you would like to run
- both doctests/regular tests, just append "--doctest-modules"/"--doctest-cython"
- to extra_args.
- Examples
- --------
- >>> pd.test() # doctest: +SKIP
- running: pytest...
- """
- pytest = import_optional_dependency("pytest")
- import_optional_dependency("hypothesis")
- cmd = ["-m not slow and not network and not db"]
- if extra_args:
- if not isinstance(extra_args, list):
- extra_args = [extra_args]
- cmd = extra_args
- if run_doctests:
- cmd = [
- "--doctest-modules",
- "--doctest-cython",
- f"--ignore={os.path.join(PKG, 'tests')}",
- ]
- cmd += [PKG]
- joined = " ".join(cmd)
- print(f"running: pytest {joined}")
- sys.exit(pytest.main(cmd))
- __all__ = ["test"]
|