Browse Source

CIDTools, add module_name

master
heck 5 years ago
parent
commit
fe07ace658
  1. 6
      gen/examples/synth_shed/synth_shed.py
  2. 5
      gen/gen_cid/__init__.py
  3. 11
      gen/tests/test_basic.py
  4. 7
      gen/tests/test_synth_shed.py

6
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", )

5
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")

11
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

7
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)

Loading…
Cancel
Save