aboutsummaryrefslogtreecommitdiffstats
path: root/build/plugins/ytest2.py
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
committeralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
commitbf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch)
tree1d1df72c0541a59a81439842f46d95396d3e7189 /build/plugins/ytest2.py
parent8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff)
downloadydb-bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0.tar.gz
add ymake export to ydb
Diffstat (limited to 'build/plugins/ytest2.py')
-rw-r--r--build/plugins/ytest2.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/build/plugins/ytest2.py b/build/plugins/ytest2.py
new file mode 100644
index 0000000000..f395ce2475
--- /dev/null
+++ b/build/plugins/ytest2.py
@@ -0,0 +1,58 @@
+import os
+import _common
+
+
+def dir_stmts(unit, dir):
+ unit.onpeerdir(dir)
+ unit.onsrcdir(os.sep.join([dir, 'tests']))
+
+
+def pytest_base(unit, args):
+ related_prj_dir = args[0]
+ related_prj_name = args[1]
+ dir_stmts(unit, related_prj_dir)
+ ytest_base(unit, related_prj_dir, related_prj_name, args[2:])
+ unit.set(['ADDITIONAL_PATH', '--test-related-path ${ARCADIA_ROOT}/test'])
+
+
+def ytest_base(unit, related_prj_dir, related_prj_name, args):
+ keywords = {"DEPENDS": -1, "DATA": -1}
+ flat_args, spec_args = _common.sort_by_keywords(keywords, args)
+ unit.set(['TEST-NAME', os.path.basename(flat_args[0])])
+ unit.set(['SCRIPT-REL-PATH', flat_args[1]])
+ unit.set(['SOURCE-FOLDER-PATH', related_prj_dir])
+ unit.set(['BUILD-FOLDER-PATH', os.path.join('$B', related_prj_dir)])
+ unit.set(['TESTED-BINARY-PATH', flat_args[0]])
+
+ custom_deps = ' '.join(spec_args["DEPENDS"]) if "DEPENDS" in spec_args else ''
+ unit.set(['CUSTOM-DEPENDENCIES', custom_deps])
+ data_lst = spec_args.get('DATA', []) + (unit.get(['__test_data']) or '').split(' ')
+ data_lst.sort()
+ data = '\"' + ';'.join(data_lst) + '\"' if data_lst else ''
+ unit.set(['TEST-DATA', data])
+
+ related_dirs_list = [
+ '{ARCADIA_ROOT}/devtools/${YA_ROOT}',
+ '${ARCADIA_ROOT}/devtools/${YA_ROOT}',
+ '$RELATED_TARGET_SRCDIR',
+ ]
+ related_dirs_value = []
+ for rel in related_dirs_list:
+ related_dirs_value.extend(['--test-related-path', rel])
+ unit.set(['RELATED_DIRS', ' '.join(related_dirs_value)])
+ unit.set(['TEST_KV', '${{kv;hide:"test_related_dirs {}"}}'.format(' '.join(related_dirs_list))])
+
+
+def on_unittest(unit, *args):
+ related_prj_name = args[0]
+ related_prj_dir = args[1][3:]
+ unit.set(['TEST_TYPE', '${kv;hide:"test-type unittest"}'])
+ ytest_base(unit, related_prj_dir, related_prj_name, args)
+
+
+def on_ytest(unit, *args):
+ pytest_base(unit, args)
+
+
+def on_py_test(unit, *args):
+ pytest_base(unit, args)