Exit codes
Running pytest can result in seven different exit codes:
- Exit code 0:
-
All tests were collected and passed successfully
- Exit code 1:
-
Tests were collected and run but some of the tests failed
- Exit code 2:
-
Test execution was interrupted by the user
- Exit code 3:
-
Internal error happened while executing tests
- Exit code 4:
-
pytest command line usage error
- Exit code 5:
-
No tests were collected
- Exit code 6:
-
Maximum number of warnings exceeded (see
--max-warnings)
They are represented by the pytest.ExitCode enum. The exit codes being a part of the public API can be imported and accessed directly using:
from pytest import ExitCode
Note
If you would like to customize the exit code in some scenarios, specifically when no tests are collected, consider using the pytest-custom_exit_code plugin.
© 2015–2026 Holger Krekel and pytest-dev team
Licensed under the MIT License.
https://docs.pytest.org/en/stable/reference/exit-codes.html