aboutsummaryrefslogtreecommitdiffstats
path: root/library/python/pytest/main.py
diff options
context:
space:
mode:
authorAleksandr <ivansduck@gmail.com>2022-02-10 16:47:52 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:47:52 +0300
commitb05913d1c3c02a773578bceb7285084d2933ae86 (patch)
treec0748b5dcbade83af788c0abfa89c0383d6b779c /library/python/pytest/main.py
parentea6c5b7f172becca389cacaff7d5f45f6adccbe6 (diff)
downloadydb-b05913d1c3c02a773578bceb7285084d2933ae86.tar.gz
Restoring authorship annotation for Aleksandr <ivansduck@gmail.com>. Commit 2 of 2.
Diffstat (limited to 'library/python/pytest/main.py')
-rw-r--r--library/python/pytest/main.py96
1 files changed, 48 insertions, 48 deletions
diff --git a/library/python/pytest/main.py b/library/python/pytest/main.py
index aa08f846b1..6296bd6f0f 100644
--- a/library/python/pytest/main.py
+++ b/library/python/pytest/main.py
@@ -1,47 +1,47 @@
-import os
+import os
import sys
import time
-
+
import __res
-FORCE_EXIT_TESTSFAILED_ENV = 'FORCE_EXIT_TESTSFAILED'
+FORCE_EXIT_TESTSFAILED_ENV = 'FORCE_EXIT_TESTSFAILED'
+
-
def main():
import library.python.pytest.context as context
context.Ctx["YA_PYTEST_START_TIMESTAMP"] = time.time()
- profile = None
- if '--profile-pytest' in sys.argv:
- sys.argv.remove('--profile-pytest')
+ profile = None
+ if '--profile-pytest' in sys.argv:
+ sys.argv.remove('--profile-pytest')
+
+ import pstats
+ import cProfile
+ profile = cProfile.Profile()
+ profile.enable()
- import pstats
- import cProfile
- profile = cProfile.Profile()
- profile.enable()
+ # Reset influencing env. vars
+ # For more info see library/python/testing/yatest_common/yatest/common/errors.py
+ if FORCE_EXIT_TESTSFAILED_ENV in os.environ:
+ del os.environ[FORCE_EXIT_TESTSFAILED_ENV]
- # Reset influencing env. vars
- # For more info see library/python/testing/yatest_common/yatest/common/errors.py
- if FORCE_EXIT_TESTSFAILED_ENV in os.environ:
- del os.environ[FORCE_EXIT_TESTSFAILED_ENV]
-
if "Y_PYTHON_CLEAR_ENTRY_POINT" in os.environ:
if "Y_PYTHON_ENTRY_POINT" in os.environ:
del os.environ["Y_PYTHON_ENTRY_POINT"]
del os.environ["Y_PYTHON_CLEAR_ENTRY_POINT"]
- listing_mode = '--collect-only' in sys.argv
- yatest_runner = os.environ.get('YA_TEST_RUNNER') == '1'
-
- import pytest
-
- import library.python.pytest.plugins.collection as collection
- import library.python.pytest.plugins.ya as ya
- import library.python.pytest.plugins.conftests as conftests
-
+ listing_mode = '--collect-only' in sys.argv
+ yatest_runner = os.environ.get('YA_TEST_RUNNER') == '1'
+
+ import pytest
+
+ import library.python.pytest.plugins.collection as collection
+ import library.python.pytest.plugins.ya as ya
+ import library.python.pytest.plugins.conftests as conftests
+
import _pytest.assertion
from _pytest.monkeypatch import MonkeyPatch
- from . import rewrite
+ from . import rewrite
m = MonkeyPatch()
m.setattr(_pytest.assertion.rewrite, "AssertionRewritingHook", rewrite.AssertionRewritingHook)
@@ -52,10 +52,10 @@ def main():
if name.startswith(prefix) and not name.endswith('.conftest')
]
- doctest_packages = __res.find("PY_DOCTEST_PACKAGES") or ""
- if isinstance(doctest_packages, bytes):
- doctest_packages = doctest_packages.decode('utf-8')
- doctest_packages = doctest_packages.split()
+ doctest_packages = __res.find("PY_DOCTEST_PACKAGES") or ""
+ if isinstance(doctest_packages, bytes):
+ doctest_packages = doctest_packages.decode('utf-8')
+ doctest_packages = doctest_packages.split()
def is_doctest_module(name):
for package in doctest_packages:
@@ -85,31 +85,31 @@ def main():
return new_paths
sys.path = remove_user_site(sys.path)
- rc = pytest.main(plugins=[
+ rc = pytest.main(plugins=[
collection.CollectionPlugin(test_modules, doctest_modules),
ya,
conftests,
- ])
-
+ ])
+
if rc == 5:
# don't care about EXIT_NOTESTSCOLLECTED
rc = 0
- if rc == 1 and yatest_runner and not listing_mode and not os.environ.get(FORCE_EXIT_TESTSFAILED_ENV) == '1':
- # XXX it's place for future improvements
- # Test wrapper should terminate with 0 exit code if there are common test failures
- # and report it with trace-file machinery.
- # However, there are several case when we don't want to suppress exit_code:
- # - listing machinery doesn't use trace-file currently and rely on stdout and exit_code
- # - RestartTestException and InfrastructureException required non-zero exit_code to be processes correctly
- rc = 0
-
- if profile:
- profile.disable()
- ps = pstats.Stats(profile, stream=sys.stderr).sort_stats('cumulative')
- ps.print_stats()
-
- sys.exit(rc)
+ if rc == 1 and yatest_runner and not listing_mode and not os.environ.get(FORCE_EXIT_TESTSFAILED_ENV) == '1':
+ # XXX it's place for future improvements
+ # Test wrapper should terminate with 0 exit code if there are common test failures
+ # and report it with trace-file machinery.
+ # However, there are several case when we don't want to suppress exit_code:
+ # - listing machinery doesn't use trace-file currently and rely on stdout and exit_code
+ # - RestartTestException and InfrastructureException required non-zero exit_code to be processes correctly
+ rc = 0
+
+ if profile:
+ profile.disable()
+ ps = pstats.Stats(profile, stream=sys.stderr).sort_stats('cumulative')
+ ps.print_stats()
+
+ sys.exit(rc)
if __name__ == '__main__':