diff options
| author | KyleMiles <krm504@nyu.edu> | 2021-11-02 12:29:26 -0400 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2021-11-11 17:46:12 -0500 |
| commit | fb0924a21fcc43f716524d172c7f64249d0e77fd (patch) | |
| tree | 511b7c75f99b7a84c71a62fde37229008a126bae | |
| parent | f80fe07a3534cf2869d616aef12681bd83a00b0e (diff) | |
Add aliased_var api tests
| -rw-r--r-- | suite/testcommon.py | 26 |
1 files 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<T, std::char_traits<T> >", "std::bar<T, std::char_traits<T> >::bar", "std::foo<T, std::char_traits<T> >::~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 = ['<ssa lr version 0>', '<ssa lr version 1>', '<ssa lr version 2>', '<ssa lr version 3>', '<ssa r0 version 0>', '<ssa r0 version 1>', '<ssa r0 version 2>', '<ssa r0 version 3>', '<ssa r0 version 4>', '<ssa r0 version 5>', '<ssa r0 version 6>', '<ssa r1 version 0>', '<ssa r1 version 1>', '<ssa r1 version 2>', '<ssa r1 version 3>', '<ssa r11 version 0>', '<ssa r11 version 1>', '<ssa r11 version 2>', '<ssa r12 version 1>', '<ssa r12 version 2>', '<ssa r12 version 3>', '<ssa r2 version 1>', '<ssa r2 version 2>', '<ssa r2 version 3>', '<ssa r3 version 1>', '<ssa r3 version 2>', '<ssa r3 version 3>', '<ssa r3 version 4>', '<ssa r3 version 5>', '<ssa sp version 0>', '<ssa sp version 1>', '<ssa sp version 2>', '<ssa sp version 3>', '<ssa sp version 4>', '<ssa sp version 5>', '<ssa sp version 6>', '<ssa temp0 version 1>'] 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 = ['<ssa __saved_r11 version 1>', '<ssa argc version 0>', '<ssa argc version 1>', '<ssa argc version 2>', '<ssa argc version 3>', '<ssa argc version 4>', '<ssa argc version 5>', '<ssa argc version 6>', '<ssa argv version 0>', '<ssa argv version 1>', '<ssa argv version 2>', '<ssa argv version 3>', '<ssa envp version 1>', '<ssa envp version 2>', '<ssa envp version 3>', '<ssa lr version 0>', '<ssa lr version 1>', '<ssa lr version 2>', '<ssa lr version 3>', '<ssa r11 version 0>', '<ssa r11 version 1>', '<ssa r11 version 2>', '<ssa r12 version 1>', '<ssa r12 version 2>', '<ssa r12 version 3>', '<ssa r3 version 1>', '<ssa r3 version 2>', '<ssa r3 version 3>', '<ssa r3 version 4>', '<ssa r3 version 5>', '<ssa sp version 1>', '<ssa sp version 2>', '<ssa sp version 3>', '<ssa sp version 4>', '<ssa sp version 5>', '<ssa sp version 6>', '<ssa temp0 version 1>', '<ssa var_10 version 1>', '<ssa var_4 version 1>', '<ssa var_c version 1>'] 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 = ['<ssa argc version 0>', '<ssa argv version 0>', '<ssa r0 version 1>', '<ssa r3 version 1>', '<ssa var_10 version 1>', '<ssa var_c version 1>'] 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 = ['<ssa argc version 0>', '<ssa argv version 0>', '<ssa var_10 version 1>'] 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 = ['<ssa argc version 0>', '<ssa argv version 0>', '<ssa var_10 version 1>'] 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") |
