diff options
author | vitalyisaev <vitalyisaev@yandex-team.com> | 2023-06-29 10:00:50 +0300 |
---|---|---|
committer | vitalyisaev <vitalyisaev@yandex-team.com> | 2023-06-29 10:00:50 +0300 |
commit | 6ffe9e53658409f212834330e13564e4952558f6 (patch) | |
tree | 85b1e00183517648b228aafa7c8fb07f5276f419 /library/python/cpp_test/test_cpp.py | |
parent | 726057070f9c5a91fc10fde0d5024913d10f1ab9 (diff) | |
download | ydb-6ffe9e53658409f212834330e13564e4952558f6.tar.gz |
YQ Connector: support managed ClickHouse
Со стороны dqrun можно обратиться к инстансу коннектора, который работает на streaming стенде, и извлечь данные из облачного CH.
Diffstat (limited to 'library/python/cpp_test/test_cpp.py')
-rw-r--r-- | library/python/cpp_test/test_cpp.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/library/python/cpp_test/test_cpp.py b/library/python/cpp_test/test_cpp.py new file mode 100644 index 0000000000..0882dd541b --- /dev/null +++ b/library/python/cpp_test/test_cpp.py @@ -0,0 +1,41 @@ +import json +import os +import subprocess + +import pytest +import yaml +import yatest + +from library.python.testing.style import rules +import library.python.resource as lpr + + +STYLE_CONFIG_JSON_12 = json.dumps(yaml.safe_load(lpr.find('/cpp_style/config/12'))) +STYLE_CONFIG_JSON_14 = json.dumps(yaml.safe_load(lpr.find('/cpp_style/config/14'))) + +RES_FILE_PREFIX = '/cpp_style/files/' +CHECKED_PATHS = list(lpr.iterkeys(RES_FILE_PREFIX, strip_prefix=True)) + + +def check_style(filename, actual_source): + try: + clang_format_binary = yatest.common.binary_path('contrib/libs/clang12/tools/clang-format/clang-format') + config = STYLE_CONFIG_JSON_12 + except Exception: + clang_format_binary = yatest.common.binary_path('contrib/libs/clang14/tools/clang-format/clang-format') + config = STYLE_CONFIG_JSON_14 + + command = [clang_format_binary, '-assume-filename=' + filename, '-style=' + config] + styled_source = subprocess.check_output(command, input=actual_source) + + assert actual_source.decode() == styled_source.decode() + + +@pytest.mark.parametrize('path', CHECKED_PATHS) +def test_cpp_style(path): + data = lpr.find(RES_FILE_PREFIX + path) + skip_reason = rules.get_skip_reason(path, data, skip_links=False) + if skip_reason: + raise pytest.skip("style check is omitted: {}".format(skip_reason)) + else: + check_style(os.path.basename(path), data) |