#!/usr/bin/env python3 # -*- coding: utf-8 -*- import pytest import os import json import gen_cid def write_json(content, outpath): # create path if not existing out_dir = os.path.dirname(outpath) if not os.path.isdir(out_dir): os.makedirs(out_dir) # write with open(outpath, "w+") as f: json.dump(content, f, indent=4) def main_new(): function_names = {""} # function_names.add("func_void_void") # function_names.add("func_void_int") # function_names.add("func_int_void") # function_names.add("func_int_int") # function_names.add("func__PS_V") # function_names.add("func__E_V") # function_names.add("func_TP_V") # function_names.add("func_V_TP") # function_names.add("func_TP_TP") # function_names.add("func_APS_V") # function_names.add("func_V_APS") # function_names.add("func_APS_APS") # function_names.add("func_TPS_V") # function_names.add("func_V_TPS") # function_names.add("func_V_TPS") # function_names.add("func_TPS_TPS") # function_names.add("func_TPS_TPS") var_names = {""} # var_names.add("var_P") # var_names.add("var__E") # var_names.add("var_E") # var_names.add("var_AE") # var_names.add("var__PS") # var_names.add("var_PS") # var_names.add("var_APS") # var_names.add("var__CS") # var_names.add("var_CS") # var_names.add("var_ACS") # var_names.add("var__CCS") # var_names.add("var_CCS") # var_names.add("var_ACCS") var_names.add("var__HS") # var_names.add("var__NCS") # var_names.add("var_HS") # var_names.add("var__NSP") # var_names.add("var_AHS") # var_names.add("var__HHS") # var_names.add("var__NHS") # var_names.add("var__NNPS") # var_names.add("var_HHS") # var_names.add("var__NHS1") # var_names.add("var__NNCS") # var_names.add("var__NENHS") # var_names.add("var_ASHS") # var_names.add("var__HS1") # var_names.add("var_NEHS1") header_filename = "data/input/test_data/test_lib.h" libclang_path = "/opt/local/libexec/llvm-9.0/lib/libclang.dylib" header = gen_cid.generate_cid.parse(libclang_path, function_names, header_filename, var_names) write_json(header["ast"], header["out_dir"] + "/" + header["filename"] + ".ast.json") write_json(header["cid"], header["out_dir"] + "/" + header["filename"] + ".cid.json") write_json(header["views"], header["out_dir"] + "/" + header["filename"] + ".views.json") write_json(header, header["out_dir"] + "/" + header["filename"] + ".header.json") def test_main_new(): main_new() main_new()