You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

85 lines
2.6 KiB

#!/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()