|
|
|
@ -15,24 +15,16 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" |
|
|
|
|
def test_inheritance_printer(solc_binary_path) -> None: |
|
|
|
|
solc_path = solc_binary_path("0.8.0") |
|
|
|
|
standard_json = SolcStandardJson() |
|
|
|
|
standard_json.add_source_file( |
|
|
|
|
Path(TEST_DATA_DIR, "test_contract_names", "A.sol").as_posix() |
|
|
|
|
) |
|
|
|
|
standard_json.add_source_file( |
|
|
|
|
Path(TEST_DATA_DIR, "test_contract_names", "B.sol").as_posix() |
|
|
|
|
) |
|
|
|
|
standard_json.add_source_file( |
|
|
|
|
Path(TEST_DATA_DIR, "test_contract_names", "B2.sol").as_posix() |
|
|
|
|
) |
|
|
|
|
standard_json.add_source_file( |
|
|
|
|
Path(TEST_DATA_DIR, "test_contract_names", "C.sol").as_posix() |
|
|
|
|
) |
|
|
|
|
standard_json.add_source_file(Path(TEST_DATA_DIR, "test_contract_names", "A.sol").as_posix()) |
|
|
|
|
standard_json.add_source_file(Path(TEST_DATA_DIR, "test_contract_names", "B.sol").as_posix()) |
|
|
|
|
standard_json.add_source_file(Path(TEST_DATA_DIR, "test_contract_names", "B2.sol").as_posix()) |
|
|
|
|
standard_json.add_source_file(Path(TEST_DATA_DIR, "test_contract_names", "C.sol").as_posix()) |
|
|
|
|
compilation = CryticCompile(standard_json, solc=solc_path) |
|
|
|
|
slither = Slither(compilation) |
|
|
|
|
printer = PrinterInheritanceGraph(slither=slither, logger=None) |
|
|
|
|
|
|
|
|
|
output = printer.output('test_printer.dot') |
|
|
|
|
content = output.elements[0]['name']['content'] |
|
|
|
|
output = printer.output("test_printer.dot") |
|
|
|
|
content = output.elements[0]["name"]["content"] |
|
|
|
|
|
|
|
|
|
pattern = re.compile(r"(?:c\d+_)?(\w+ -> )(?:c\d+_)(\w+)") |
|
|
|
|
matches = re.findall(pattern, content) |
|
|
|
|