From fe07ace65809e1d32a0026e63f0591ddb2104107 Mon Sep 17 00:00:00 2001 From: heck Date: Tue, 5 Jan 2021 22:23:49 +0100 Subject: [PATCH] CIDTools, add module_name --- gen/examples/synth_shed/synth_shed.py | 6 +++--- gen/gen_cid/__init__.py | 5 +++-- gen/tests/test_basic.py | 11 +++-------- gen/tests/test_synth_shed.py | 7 ++----- 4 files changed, 11 insertions(+), 18 deletions(-) diff --git a/gen/examples/synth_shed/synth_shed.py b/gen/examples/synth_shed/synth_shed.py index 3d733cd..5782293 100755 --- a/gen/examples/synth_shed/synth_shed.py +++ b/gen/examples/synth_shed/synth_shed.py @@ -18,11 +18,11 @@ def main(): header_filename = "../../src/synth_shed/synth_shed.h" libclang_path = "/opt/local/libexec/llvm-9.0/lib/libclang.dylib" - cidtools = gen_cid.CIDTools(libclang_path, header_filename) - header = cidtools.extract(vars,funcs,debug_ast=True,debug_cid=True,debug_yml=True) + cidtools = gen_cid.CIDTools(libclang_path, header_filename, "synth_shed") + header = cidtools.extract(vars, funcs, debug_ast=True, debug_cid=True, debug_yml=True) print(header["yml"]) - utils.write_string( header["yml"], "./" + "/" + header["filename"] + ".cid.yml2",) + utils.write_string(header["yml"], "./" + "/" + header["filename"] + ".cid.yml2", ) diff --git a/gen/gen_cid/__init__.py b/gen/gen_cid/__init__.py index 261ea33..d65c10e 100644 --- a/gen/gen_cid/__init__.py +++ b/gen/gen_cid/__init__.py @@ -10,9 +10,10 @@ import os class CIDTools: - def __init__(self, libclang_path, header_filename, out_dir=None): + def __init__(self, libclang_path, header_filename, pymodule_name, out_dir=None): self.header = self._create_header(header_filename, out_dir) self.c2ast = c_2_ast.C2AST(libclang_path) + self.pymodule_name = pymodule_name # out-dir is in-dir if not specified def _create_header(self, path, out_dir=None): @@ -49,7 +50,7 @@ class CIDTools: utils.write_json(self.header["cid"], self.header["out_dir"] + "/" + self.header["filename"] + ".cid.json") # yml - self.header["yml"] = cid_2_yml.generate_yml(self.header["cid"]) + self.header["yml"] = cid_2_yml.generate_yml(self.header["cid"], self.pymodule_name) if debug_yml: utils.write_string(self.header["yml"], self.header["out_dir"] + "/" + self.header["filename"] + ".cid.yml") diff --git a/gen/tests/test_basic.py b/gen/tests/test_basic.py index 3f0f395..3118517 100755 --- a/gen/tests/test_basic.py +++ b/gen/tests/test_basic.py @@ -156,14 +156,9 @@ types_no_alias.append({"var": ["_NEHS"], def resolve_vars_and_funcs_to_cid(vars, funcs): header_filename = "src/test_data/test_lib.h" libclang_path = "/opt/local/libexec/llvm-9.0/lib/libclang.dylib" - cidtools = gen_cid.CIDTools(libclang_path, header_filename) + cidtools = gen_cid.CIDTools(libclang_path, header_filename, "test_cid") header = cidtools.extract(vars,funcs) - # Debug output - utils.write_json(header["ast"], header["out_dir"] + "/" + header["filename"] + ".ast.json") - utils.write_json(header["cid"], header["out_dir"] + "/" + header["filename"] + ".cid.json") - utils.write_json(header, header["out_dir"] + "/" + header["filename"] + ".header.json") - return header["cid"] @@ -204,7 +199,7 @@ def test_manual(vars, funcs): # @pytest.mark.skip @pytest.mark.parametrize('variation', ["var_", "var_A", "var_T", "var_TA", "var_TT", "var_TTA"]) @pytest.mark.parametrize('data', types_with_alias) -def test_single_var(data, variation): +def test_single_var_with_alias(data, variation): var_list = [] for var in data["var"]: var_name = variation + var @@ -215,7 +210,7 @@ def test_single_var(data, variation): @pytest.mark.parametrize('variation', ["var_", "var_T", "var_TT"]) @pytest.mark.parametrize('data', types_no_alias) -def test_single_varfd(data, variation): +def test_single_var_no_alias(data, variation): var_list = [] for var in data["var"]: var_name = variation + var diff --git a/gen/tests/test_synth_shed.py b/gen/tests/test_synth_shed.py index ec7379d..f91cfd0 100644 --- a/gen/tests/test_synth_shed.py +++ b/gen/tests/test_synth_shed.py @@ -9,14 +9,12 @@ from gen_cid import utils def resolve_vars_and_funcs_to_cid(vars, funcs): header_filename = "src/synth_shed/synth_shed.h" libclang_path = "/opt/local/libexec/llvm-9.0/lib/libclang.dylib" - cidtools = gen_cid.CIDTools(libclang_path,header_filename) - header = cidtools.extract(funcs, vars, debug_ast=True,debug_cid=True) + cidtools = gen_cid.CIDTools(libclang_path, header_filename, "test_synth_shed") + header = cidtools.extract(funcs, vars, debug_ast=True, debug_cid=True) return header["cid"] - - def test_manual(): vars = [] funcs = [] @@ -27,4 +25,3 @@ def test_manual(): # funcs.append("filtertype_to_string") # funcs.append("play_synth") resolve_vars_and_funcs_to_cid(vars, funcs) -