From fb0924a21fcc43f716524d172c7f64249d0e77fd Mon Sep 17 00:00:00 2001 From: KyleMiles Date: Tue, 2 Nov 2021 12:29:26 -0400 Subject: Add aliased_var api tests --- suite/testcommon.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/suite/testcommon.py b/suite/testcommon.py index a13a72e6..58ab4dd9 100644 --- a/suite/testcommon.py +++ b/suite/testcommon.py @@ -687,7 +687,7 @@ class TestBuilder(Builder): # "std::_Ios_Openmode", # "std::_Ios_Fmtflags", - # The following 5 entries are the simplified versions of the above so we don't have to re-generate + # The following 5 entries are the simplified versions of the above so we don't have to re-generate # unit test results. "std::streampos", "std::ios_base::iostate", @@ -695,7 +695,6 @@ class TestBuilder(Builder): "std::ios_base::openmode", "std::ios_base::fmtflags", - "std::foo >", "std::bar >::bar", "std::foo >::~foo", @@ -1339,7 +1338,7 @@ class VerifyBuilder(Builder): 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 = [] + 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'] @@ -1357,7 +1356,7 @@ class VerifyBuilder(Builder): 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 = [] + 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'] @@ -1369,7 +1368,7 @@ class VerifyBuilder(Builder): 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 = [] + 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'] @@ -1381,7 +1380,7 @@ class VerifyBuilder(Builder): 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 = [] + 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'] @@ -1389,6 +1388,21 @@ class VerifyBuilder(Builder): 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}" + + start_func = bv.get_functions_by_name("_start")[0] + value = sorted(list(map(lambda v: str(v), start_func.mlil.aliased_vars))) + oracle = ['arg_4'] + assert value == oracle, f"test result from 'start_func.mlil.aliased_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), start_func.mlil.ssa_form.aliased_vars))) + oracle = ['arg_4'] + assert value == oracle, f"test result from 'start_func.mlil.ssa_form.aliased_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), start_func.hlil.aliased_vars))) + oracle = ['arg_4'] + assert value == oracle, f"test result from 'start_func.hlil.aliased_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + value = sorted(list(map(lambda v: str(v), start_func.hlil.ssa_form.aliased_vars))) + oracle = ['arg_4'] + assert value == oracle, f"test result from 'start_func.hlil.ssa_form.aliased_vars' = \n\t{value}\nwhich is != to oracle: \n\t{oracle}" + return True finally: self.delete_package("helloworld") -- cgit v1.3.1