diff options
author | galaxycrab <UgnineSirdis@ydb.tech> | 2022-07-08 10:56:19 +0300 |
---|---|---|
committer | galaxycrab <UgnineSirdis@ydb.tech> | 2022-07-08 10:56:19 +0300 |
commit | 3f5056deffaa871aa49c77d6bc14d0c49a6b60c2 (patch) | |
tree | fd0dbf540b1ea0a38fc5184ec9fccfe1e2c4b37f /library/python/testing | |
parent | d783e97de9fbfbbcec1ff6ef52c8c2515d9b3576 (diff) | |
download | ydb-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.py | 12 | ||||
-rw-r--r-- | library/python/testing/recipe/__init__.py | 10 | ||||
-rw-r--r-- | library/python/testing/yatest_common/yatest/common/runtime.py | 32 |
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(): |