From 7c84dcfbdcb57df0b99257307ab95b18d9bc3821 Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Mon, 6 Sep 2021 11:44:53 -0400 Subject: Update unit tests for better output and results --- suite/testcommon.py | 84 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 63 insertions(+), 21 deletions(-) diff --git a/suite/testcommon.py b/suite/testcommon.py index 6bd3154a..3f9dd6c5 100644 --- a/suite/testcommon.py +++ b/suite/testcommon.py @@ -1269,27 +1269,69 @@ class VerifyBuilder(Builder): try: with binja.BinaryViewType.get_view_of_file(file_name) as bv: main_func = bv.get_functions_by_name("main")[0] - assert sorted(list(map(lambda v: str(v), main_func.vars))) == ['__saved_r11', 'arg_0', 'argc', 'argv', 'envp', 'r0', 'r3', 'var_10', 'var_4', 'var_c'] - assert sorted(list(map(lambda v: str(v), main_func.lifted_il.vars))) == [] - assert sorted(list(map(lambda v: str(v), main_func.lifted_il.ssa_vars))) == [] - assert sorted(list(map(lambda v: str(v), main_func.llil.vars))) == ['lr', 'r0', 'r1', 'r11', 'r12', 'r2', 'r3', 'sp', 'temp0'] - assert sorted(list(map(lambda v: str(v), main_func.llil.ssa_vars))) == [] - assert sorted(list(map(lambda v: str(v), main_func.llil.ssa_form.vars))) == ['lr', 'r0', 'r1', 'r11', 'r12', 'r2', 'r3', 'sp', 'temp0'] - assert sorted(list(map(lambda v: str(v), main_func.llil.ssa_form.ssa_registers))) == ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''] - assert sorted(list(map(lambda v: str(v), main_func.llil.ssa_form.ssa_register_stacks))) == [] - assert sorted(list(map(lambda v: str(v), main_func.llil.ssa_form.ssa_flags))) == [] - assert sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.vars))) == ['__saved_r11', 'argc', 'argv', 'envp', 'lr', 'r11', 'r12', 'r3', 'sp', 'temp0', 'var_10', 'var_4', 'var_c'], f"mapped_medium_level_il.vars didn't match {sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.vars)))}" - assert sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.ssa_vars))) == [] - assert sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.ssa_form.vars))) == ['__saved_r11', 'argc', 'argv', 'envp', 'lr', 'r11', 'r12', 'r3', 'sp', 'temp0', 'var_10', 'var_4', 'var_c'], f"mapped_medium_level_il.ssa_form.vars didn't match {sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.ssa_form.vars)))}" - assert sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.ssa_form.ssa_vars))) == ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], f"mapped_medium_level_il.ssa_form.ssa_vars didn't match {sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.ssa_form.ssa_vars)))}" - assert sorted(list(map(lambda v: str(v), main_func.mlil.vars))) == ['argc', 'argv', 'envp', 'r0', 'r3', 'var_10', 'var_c'] - assert sorted(list(map(lambda v: str(v), main_func.mlil.ssa_vars))) == [] - assert sorted(list(map(lambda v: str(v), main_func.mlil.ssa_form.vars))) == ['argc', 'argv', 'envp', 'r0', 'r3', 'var_10', 'var_c'] - assert sorted(list(map(lambda v: str(v), main_func.mlil.ssa_form.ssa_vars))) == ['', '', '', '', '', '', ''], f"mlil.ssa_form.ssa_vars didn't match {sorted(list(map(lambda v: str(v), main_func.mlil.ssa_form.ssa_vars)))}" - assert sorted(list(map(lambda v: str(v), main_func.hlil.vars))) == ['argc', 'argv', 'envp'] - assert sorted(list(map(lambda v: str(v), main_func.hlil.ssa_vars))) == [] - assert sorted(list(map(lambda v: str(v), main_func.hlil.ssa_form.vars))) == ['argc', 'argv', 'envp'] - assert sorted(list(map(lambda v: str(v), main_func.hlil.ssa_form.ssa_vars))) == ['', '', ''], f"hlil.ssa_form.ssa_vars didn't match {sorted(list(map(lambda v: str(v), main_func.hlil.ssa_form.ssa_vars)))}" + value = sorted(list(map(lambda v: str(v), main_func.vars))) + oracle = ['__saved_r11', 'arg_0', 'argc', 'argv', 'envp', 'r0', 'r3', 'var_10', 'var_4', 'var_c'] + assert value == oracle, f"test result from 'main_func.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.lifted_il.vars))) + oracle = [] + assert value == oracle, f"test result from 'main_func.lifted_il.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.lifted_il.ssa_vars))) + oracle = [] + assert value == oracle, f"test result from 'main_func.lifted_il.ssa_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.vars))) + oracle = ['lr', 'r0', 'r1', 'r11', 'r12', 'r2', 'r3', 'sp', 'temp0'] + assert value == oracle, f"test result from 'main_func.llil.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.ssa_vars))) + oracle = [] + assert value == oracle, f"test result from 'main_func.llil.ssa_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.ssa_form.vars))) + oracle = ['lr', 'r0', 'r1', 'r11', 'r12', 'r2', 'r3', 'sp', 'temp0'] + assert value == oracle, f"test result from 'main_func.llil.ssa_form.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.ssa_form.ssa_registers))) + oracle = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''] + assert value == oracle, f"test result from 'main_func.llil.ssa_form.ssa_registers' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.ssa_form.ssa_register_stacks))) + oracle = [] + assert value == oracle, f"test result from 'main_func.llil.ssa_form.ssa_register_stacks' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.ssa_form.ssa_flags))) + oracle = [] + assert value == oracle, f"test result from 'main_func.llil.ssa_form.ssa_flags' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.vars))) + oracle = ['__saved_r11', 'argc', 'argv', 'envp', 'lr', 'r11', 'r12', 'r3', 'sp', 'temp0', 'var_10', 'var_4', 'var_c'] + assert value == oracle, f"test result from 'main_func.llil.mapped_medium_level_il.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.ssa_vars))) + oracle = [] + assert value == oracle, f"test result from 'main_func.llil.mapped_medium_level_il.ssa_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.ssa_form.vars))) + oracle = ['__saved_r11', 'argc', 'argv', 'envp', 'lr', 'r11', 'r12', 'r3', 'sp', 'temp0', 'var_10', 'var_4', 'var_c'] + assert value == oracle, f"test result from 'main_func.llil.mapped_medium_level_il.ssa_form.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.llil.mapped_medium_level_il.ssa_form.ssa_vars))) + oracle = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''] + assert value == oracle, f"test result from 'main_func.llil.mapped_medium_level_il.ssa_form.ssa_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.mlil.vars))) + oracle = ['argc', 'argv', 'r0', 'r3', 'var_10', 'var_c'] + assert value == oracle, f"test result from 'main_func.mlil.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.mlil.ssa_vars))) + oracle = [] + assert value == oracle, f"test result from 'main_func.mlil.ssa_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.mlil.ssa_form.vars))) + oracle = ['argc', 'argv', 'r0', 'r3', 'var_10', 'var_c'] + assert value == oracle, f"test result from 'main_func.mlil.ssa_form.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.mlil.ssa_form.ssa_vars))) + oracle = ['', '', '', '', '', ''] + assert value == oracle, f"test result from 'main_func.mlil.ssa_form.ssa_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.hlil.vars))) + oracle = ['argc', 'argv', 'var_10'] + assert value == oracle, f"test result from 'main_func.hlil.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.hlil.ssa_vars))) + oracle = [] + assert value == oracle, f"test result from 'main_func.hlil.ssa_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.hlil.ssa_form.vars))) + oracle = ['argc', 'argv', 'var_10'] + assert value == oracle, f"test result from 'main_func.hlil.ssa_form.vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), main_func.hlil.ssa_form.ssa_vars))) + oracle = ['', '', ''] + assert value == oracle, f"test result from 'main_func.hlil.ssa_form.ssa_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" return True finally: self.delete_package("helloworld") -- cgit v1.3.1