diff options
author | robot-ydb-importer <robot-ydb-importer@yandex-team.com> | 2024-11-22 16:22:45 +0300 |
---|---|---|
committer | robot-ydb-importer <robot-ydb-importer@yandex-team.com> | 2024-11-22 16:37:54 +0300 |
commit | e2791d7cb5f6c16065070c3e36286399908c3f56 (patch) | |
tree | 3fe608c5d15b25f183591f075dee49bfd6a83dde /library/python/testing/custom_linter_util/tests/test_params.py | |
parent | 145d1a017c8b4a1d1d2d900d87df267373c7479e (diff) | |
download | ydb-e2791d7cb5f6c16065070c3e36286399908c3f56.tar.gz |
YDB Import 625
commit_hash:bbf24592c367fa158fbc53e041fe367374d0750e
Diffstat (limited to 'library/python/testing/custom_linter_util/tests/test_params.py')
-rw-r--r-- | library/python/testing/custom_linter_util/tests/test_params.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/library/python/testing/custom_linter_util/tests/test_params.py b/library/python/testing/custom_linter_util/tests/test_params.py new file mode 100644 index 0000000000..025bb3eef2 --- /dev/null +++ b/library/python/testing/custom_linter_util/tests/test_params.py @@ -0,0 +1,83 @@ +import json + +from library.python.testing.custom_linter_util import linter_params +from yatest.common import work_path + + +SOURCE_ROOT = "TEST_SOURCE_ROOT" +PROJECT_PATH = "TEST_PROJECT_PATH" +OUTPUT_PATH = "TEST_OUTPUT_PATH" +REPORT_FILE = "TEST_REPORT_FILE" +LINT_NAME = "important-lint" +DEPS = { + "dep1": "/path/to/dep1", + "dep2": "/path/to/dep2", +} +GLOBAL_RESOURCES = { + "TOOL1_GLOBAL_RESOURCES": "/path/to/resource1", + "TOOL2_GLOBAL_RESOURCES": "/path/to/resource2", +} +CONFIGS = ["path/to/config1", "path/to/config2"] +EXTRA_PARAMS = { + "var1": "val1", + "var2": "val2", +} +FILES = ["file1.cpp", "file2.cpp"] + +EXPECTED = linter_params.LinterArgs( + source_root=SOURCE_ROOT, + project_path=PROJECT_PATH, + output_path=OUTPUT_PATH, + report_file=REPORT_FILE, + lint_name=LINT_NAME, + depends=DEPS, + global_resources=GLOBAL_RESOURCES, + configs=CONFIGS, + extra_params=EXTRA_PARAMS, + files=FILES, +) + + +def test_cmd_line_params(): + raw_args = [ + "--source-root", SOURCE_ROOT, + "--project-path", PROJECT_PATH, + "--output-path", OUTPUT_PATH, + "--report-file", REPORT_FILE, + "--lint-name", LINT_NAME, + ] + for rel, abs in DEPS.items(): + raw_args += ["--depends", ":".join([rel, abs])] + for var, path in GLOBAL_RESOURCES.items(): + raw_args += ["--global-resource", ":".join([var, path])] + for cfg in CONFIGS: + raw_args += ["--config", cfg] + for var, val in EXTRA_PARAMS.items(): + raw_args += ["--extra-param", "=".join([var, val])] + raw_args += FILES + + got = linter_params.get_params(raw_args) + + assert got == EXPECTED + + +def test_json_params(): + params_file = work_path("params.josn") + params = { + "source_root": SOURCE_ROOT, + "project_path": PROJECT_PATH, + "output_path": OUTPUT_PATH, + "report_file": REPORT_FILE, + "lint_name": LINT_NAME, + "depends": DEPS, + "global_resources": GLOBAL_RESOURCES, + "configs": CONFIGS, + "extra_params": EXTRA_PARAMS, + "files": FILES, + } + with open(params_file, "w") as f: + json.dump(params, f) + + got = linter_params.get_params(["--params", params_file]) + + assert got == EXPECTED |