summaryrefslogtreecommitdiffstats
path: root/library/python
diff options
context:
space:
mode:
authoralevitskii <[email protected]>2025-09-04 10:38:35 +0300
committeralevitskii <[email protected]>2025-09-04 10:55:38 +0300
commitae1c781ea0ff43216908f548a5c79500810b31a7 (patch)
treea0a9e3b6532b5cd2c7d53f6a9b91365e4f0c2e52 /library/python
parent8da3e97c84353501738d1ff485708bf8b7185eb8 (diff)
Revert commit rXXXXXX, DEPENDS on linter wrappers to get them exported to opensource
commit_hash:4c9d3598f6dbd402cf89dd53dd8f1656063853dd
Diffstat (limited to 'library/python')
-rw-r--r--library/python/testing/custom_linter_util/linter_params.py83
-rw-r--r--library/python/testing/custom_linter_util/reporter.py41
-rw-r--r--library/python/testing/custom_linter_util/tests/test_params.py83
-rw-r--r--library/python/testing/custom_linter_util/tests/test_reporter.py68
-rw-r--r--library/python/testing/custom_linter_util/tests/ya.make12
-rw-r--r--library/python/testing/custom_linter_util/ya.make12
-rw-r--r--library/python/testing/style/rules.py42
-rw-r--r--library/python/testing/style/ya.make11
8 files changed, 0 insertions, 352 deletions
diff --git a/library/python/testing/custom_linter_util/linter_params.py b/library/python/testing/custom_linter_util/linter_params.py
deleted file mode 100644
index d3d00b51465..00000000000
--- a/library/python/testing/custom_linter_util/linter_params.py
+++ /dev/null
@@ -1,83 +0,0 @@
-# XXX: This module is used in linter tools in `tools/` which are run by test_tool.
-# test_tool and `tools/` have different release cycles. Beware when modifying.
-import argparse
-import json
-from dataclasses import dataclass
-from typing import Optional
-
-
-@dataclass
-class LinterArgs:
- source_root: str
- project_path: str
- output_path: str
- lint_name: str
- depends: dict[str, str]
- global_resources: dict[str, str]
- configs: list[str]
- extra_params: dict[str, str]
- report_file: str
- files: list[str]
-
-
-def get_params(raw_args: Optional[list[str]] = None) -> LinterArgs:
- parser = argparse.ArgumentParser()
- parser.add_argument("--params")
- parser.add_argument("--source-root")
- parser.add_argument("--project-path")
- parser.add_argument("--output-path")
- parser.add_argument("--lint-name", default="")
- parser.add_argument("--depends", action="append")
- parser.add_argument("--global-resource", action="append", dest="global_resources")
- parser.add_argument("--config", action="append", dest="configs")
- parser.add_argument("--extra-param", action="append", dest="extra_params")
- parser.add_argument("--report-file", default="-")
- parser.add_argument("files", nargs="*")
- args = parser.parse_args(raw_args)
-
- if args.params:
- with open(args.params) as f:
- params = json.load(f)
- source_root = params["source_root"]
- project_path = params["project_path"]
- output_path = params["output_path"]
- lint_name = params.get("lint_name", "")
- depends = params.get("depends", {})
- global_resources = params.get("global_resources", {})
- configs = params.get("configs", [])
- extra_params = params.get("extra_params", {})
- report_file = params["report_file"]
- files = params["files"]
- else:
- source_root = args.source_root
- project_path = args.project_path
- output_path = args.output_path
- lint_name = args.lint_name
- depends = _parse_kv_arg(args.depends, ":")
- global_resources = _parse_kv_arg(args.global_resources, ":")
- configs = args.configs if args.configs else []
- extra_params = _parse_kv_arg(args.extra_params, "=")
- report_file = args.report_file
- files = args.files
-
- return LinterArgs(
- source_root=source_root,
- project_path=project_path,
- output_path=output_path,
- lint_name=lint_name,
- depends=depends,
- global_resources=global_resources,
- configs=configs,
- extra_params=extra_params,
- report_file=report_file,
- files=files,
- )
-
-
-def _parse_kv_arg(arg, sep):
- result = {}
- if arg:
- for item in arg:
- var, val = item.split(sep, 1)
- result[var] = val
- return result
diff --git a/library/python/testing/custom_linter_util/reporter.py b/library/python/testing/custom_linter_util/reporter.py
deleted file mode 100644
index 5e3d11bd339..00000000000
--- a/library/python/testing/custom_linter_util/reporter.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# XXX: This module is used in linter tools in `tools/` which are run by test_tool.
-# test_tool and `tools/` have different release cycles. Beware when modifying.
-import json
-import sys
-from enum import Enum
-from typing import Optional
-
-
-class LintStatus(Enum):
- GOOD = "GOOD"
- FAIL = "FAIL"
- SKIPPED = "SKIPPED"
-
-
-class LintReport():
- def __init__(self):
- self._report = {}
-
- def add(self, file_name: str, status: LintStatus, message: str = "", elapsed: float = 0.0):
- self._report[file_name] = {
- "status": status.value,
- "message": message,
- "elapsed": elapsed,
- }
-
- def dump(self, report_file, pretty: Optional[bool] = None):
- data = {
- "report": self._report,
- }
- if report_file == "-":
- if pretty is None:
- pretty = True
- self._do_dump(sys.stdout, data, pretty)
- else:
- with open(report_file, "w") as f:
- self._do_dump(f, data, pretty)
-
- @staticmethod
- def _do_dump(dest, data, pretty):
- indent = 4 if pretty else None
- json.dump(data, dest, indent=indent)
diff --git a/library/python/testing/custom_linter_util/tests/test_params.py b/library/python/testing/custom_linter_util/tests/test_params.py
deleted file mode 100644
index 025bb3eef22..00000000000
--- a/library/python/testing/custom_linter_util/tests/test_params.py
+++ /dev/null
@@ -1,83 +0,0 @@
-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
diff --git a/library/python/testing/custom_linter_util/tests/test_reporter.py b/library/python/testing/custom_linter_util/tests/test_reporter.py
deleted file mode 100644
index 81bfa3c9ef0..00000000000
--- a/library/python/testing/custom_linter_util/tests/test_reporter.py
+++ /dev/null
@@ -1,68 +0,0 @@
-import json
-
-from library.python.testing.custom_linter_util.reporter import LintReport, LintStatus
-from yatest.common import output_path, context
-
-
-def dump_and_load(report):
- report_file = output_path(context.test_name)
- report.dump(report_file=report_file)
- with open(report_file) as f:
- return json.load(f)
-
-
-def test_empty_report():
- report = LintReport()
- got = dump_and_load(report)
- assert got == {"report": {}}
-
-
-def test_good_test():
- report = LintReport()
- report.add("file.cpp", LintStatus.GOOD)
-
- got = dump_and_load(report)
-
- assert got == {
- "report": {
- "file.cpp": {
- "status": "GOOD",
- "message": "",
- "elapsed": 0.0,
- }
- }
- }
-
-
-def test_skipped_test():
- report = LintReport()
- report.add("file.cpp", LintStatus.SKIPPED, "Generated file", elapsed=1.0)
-
- got = dump_and_load(report)
-
- assert got == {
- "report": {
- "file.cpp": {
- "status": "SKIPPED",
- "message": "Generated file",
- "elapsed": 1.0,
- }
- }
- }
-
-
-def test_failed_test():
- report = LintReport()
- report.add("file.cpp", LintStatus.FAIL, "Test failed", elapsed=2.0)
-
- got = dump_and_load(report)
-
- assert got == {
- "report": {
- "file.cpp": {
- "status": "FAIL",
- "message": "Test failed",
- "elapsed": 2.0,
- }
- }
- }
diff --git a/library/python/testing/custom_linter_util/tests/ya.make b/library/python/testing/custom_linter_util/tests/ya.make
deleted file mode 100644
index 1fde32d937a..00000000000
--- a/library/python/testing/custom_linter_util/tests/ya.make
+++ /dev/null
@@ -1,12 +0,0 @@
-PY3TEST()
-
-TEST_SRCS(
- test_params.py
- test_reporter.py
-)
-
-PEERDIR(
- library/python/testing/custom_linter_util
-)
-
-END()
diff --git a/library/python/testing/custom_linter_util/ya.make b/library/python/testing/custom_linter_util/ya.make
deleted file mode 100644
index c761b09afcd..00000000000
--- a/library/python/testing/custom_linter_util/ya.make
+++ /dev/null
@@ -1,12 +0,0 @@
-PY3_LIBRARY()
-
-PY_SRCS(
- linter_params.py
- reporter.py
-)
-
-END()
-
-RECURSE_FOR_TESTS(
- tests
-)
diff --git a/library/python/testing/style/rules.py b/library/python/testing/style/rules.py
deleted file mode 100644
index dde87a45b3b..00000000000
--- a/library/python/testing/style/rules.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# XXX: This module is used in linter tools in `tools/` which are run by test_tool.
-# test_tool and `tools/` have different release cycles. Beware when modifying.
-import os
-import six
-
-
-def style_required(path, data, skip_links=True):
- if get_skip_reason(path, data, skip_links):
- return False
- return True
-
-
-def get_skip_reason(path, data, skip_links=True):
- return _path_skip_reason(path, skip_links) or _content_skip_reason(path, data)
-
-
-def _path_skip_reason(path, skip_links=True):
- if '/generated/' in path:
- return "path '{}' contains '/generated/'".format(path)
-
- if path and '/contrib/' in path and '/.yandex_meta/' not in path:
- return "path '{}' contains '/contrib/'".format(path)
-
- if path and '/vendor/' in path:
- return "path '{}' contains '/vendor/'".format(path)
-
- if skip_links and os.path.islink(path):
- return "path '{}' is a symlink".format(path)
-
-
-def _content_skip_reason(path, data):
- if not isinstance(data, six.string_types):
- data = data.decode()
-
- for substr in [
- '# DO_NOT_STYLE',
- '// DO_NOT_STYLE',
- 'THIS SOFTWARE',
- 'WITHOUT WARRANT', # WARRANTY, WARRANTIES
- ]:
- if substr in data:
- return "file '{}' contains '{}'".format(path, substr)
diff --git a/library/python/testing/style/ya.make b/library/python/testing/style/ya.make
deleted file mode 100644
index 7d3e9efd6b0..00000000000
--- a/library/python/testing/style/ya.make
+++ /dev/null
@@ -1,11 +0,0 @@
-PY23_LIBRARY()
-
-PY_SRCS(
- rules.py
-)
-
-PEERDIR(
- contrib/python/six
-)
-
-END()