aboutsummaryrefslogtreecommitdiffstats
path: root/library/python/testing
diff options
context:
space:
mode:
authorgalaxycrab <UgnineSirdis@ydb.tech>2022-07-08 10:56:19 +0300
committergalaxycrab <UgnineSirdis@ydb.tech>2022-07-08 10:56:19 +0300
commit3f5056deffaa871aa49c77d6bc14d0c49a6b60c2 (patch)
treefd0dbf540b1ea0a38fc5184ec9fccfe1e2c4b37f /library/python/testing
parentd783e97de9fbfbbcec1ff6ef52c8c2515d9b3576 (diff)
downloadydb-3f5056deffaa871aa49c77d6bc14d0c49a6b60c2.tar.gz
Create kesuses for rate limiting in YQ
Fill config in kikimr runner Create coordination nodes Pass to config Protos
Diffstat (limited to 'library/python/testing')
-rw-r--r--library/python/testing/import_test/import_test.py12
-rw-r--r--library/python/testing/recipe/__init__.py10
-rw-r--r--library/python/testing/yatest_common/yatest/common/runtime.py32
3 files changed, 42 insertions, 12 deletions
diff --git a/library/python/testing/import_test/import_test.py b/library/python/testing/import_test/import_test.py
index 5290ae3cae5..114723a4c6a 100644
--- a/library/python/testing/import_test/import_test.py
+++ b/library/python/testing/import_test/import_test.py
@@ -11,6 +11,15 @@ import __res
from __res import importer
+def setup_test_environment():
+ try:
+ from yatest_lib.ya import Ya
+ import yatest.common as yc
+ yc.runtime._set_ya_config(ya=Ya())
+ except ImportError:
+ pass
+
+
def check_imports(no_check=(), extra=(), skip_func=None, py_main=None):
"""
tests all bundled modules are importable
@@ -18,6 +27,7 @@ def check_imports(no_check=(), extra=(), skip_func=None, py_main=None):
"PEERDIR(library/python/import_test)" to your CMakeLists.txt and
"from import_test import test_imports" to your python test source file.
"""
+
str_ = lambda s: s
if not isinstance(b'', str):
str_ = lambda s: s.decode('UTF-8')
@@ -99,6 +109,8 @@ test_imports = check_imports
def main():
+ setup_test_environment()
+
skip_names = sys.argv[1:]
try:
diff --git a/library/python/testing/recipe/__init__.py b/library/python/testing/recipe/__init__.py
index 5ef9c5c1895..5f48628ad38 100644
--- a/library/python/testing/recipe/__init__.py
+++ b/library/python/testing/recipe/__init__.py
@@ -8,6 +8,8 @@ import argparse
from yatest_lib.ya import Ya
+import yatest.common as yc
+
RECIPE_START_OPTION = "start"
RECIPE_STOP_OPTION = "stop"
@@ -16,6 +18,13 @@ collect_cores = None
sanitizer_extra_checks = None
+class Config:
+ def __init__(self):
+ self.ya = ya
+ self.collect_cores = collect_cores
+ self.sanitizer_extra_checks = sanitizer_extra_checks
+
+
def _setup_logging(level=logging.DEBUG):
root_logger = logging.getLogger()
root_logger.setLevel(level)
@@ -60,6 +69,7 @@ def get_options():
os.environ[envvar] = os.environ[envvar + '_ORIGINAL']
collect_cores = args.collect_cores
+ yc.runtime._set_ya_config(config=Config())
for recipe_option in RECIPE_START_OPTION, RECIPE_STOP_OPTION:
if recipe_option in opts:
return args, opts[opts.index(recipe_option):]
diff --git a/library/python/testing/yatest_common/yatest/common/runtime.py b/library/python/testing/yatest_common/yatest/common/runtime.py
index 6e6c3c87591..b8d5964d1d2 100644
--- a/library/python/testing/yatest_common/yatest/common/runtime.py
+++ b/library/python/testing/yatest_common/yatest/common/runtime.py
@@ -9,22 +9,30 @@ import six
_lock = threading.Lock()
+_config = None
+
+
+def _set_ya_config(config=None, ya=None):
+ global _config
+ if config:
+ _config = config
+ elif ya:
+ class Config:
+ def __init__(self):
+ self.ya = None
+ _config = Config()
+ _config.ya = ya
+
def _get_ya_config():
- try:
- import library.python.pytest.plugins.ya as ya_plugin
- if ya_plugin.pytest_config is not None:
- return ya_plugin.pytest_config
- import pytest
- return pytest.config
- except (ImportError, AttributeError):
+ if _config:
+ return _config
+ else:
try:
- import library.python.testing.recipe
- if library.python.testing.recipe.ya:
- return library.python.testing.recipe
+ import pytest
+ return pytest.config
except (ImportError, AttributeError):
- pass
- raise NotImplementedError("yatest.common.* is only available from the testing runtime")
+ raise NotImplementedError("yatest.common.* is only available from the testing runtime")
def _get_ya_plugin_instance():