summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2021-11-02 12:29:26 -0400
committerKyleMiles <krm504@nyu.edu>2021-11-11 17:46:12 -0500
commitfb0924a21fcc43f716524d172c7f64249d0e77fd (patch)
tree511b7c75f99b7a84c71a62fde37229008a126bae
parentf80fe07a3534cf2869d616aef12681bd83a00b0e (diff)
Add aliased_var api tests
-rw-r--r--suite/testcommon.py26
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")