diff options
| author | Jon Palmisciano <jp@jonpalmisc.com> | 2022-05-23 11:54:14 -0400 |
|---|---|---|
| committer | Jon Palmisciano <jp@jonpalmisc.com> | 2022-05-23 14:23:18 -0400 |
| commit | 666a1c1686962bfce832e44e07811116e4837a7d (patch) | |
| tree | 6edd68817a4645614ad6e95b9ed22141e9919db8 | |
| parent | 666c5b453f6e821ffc4536c8e8db8871fddcbd0b (diff) | |
Add tests for user/auto {params,can_return,etc.}
| -rw-r--r-- | suite/api_test.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/suite/api_test.py b/suite/api_test.py index 8816e338..609e6790 100644 --- a/suite/api_test.py +++ b/suite/api_test.py @@ -2121,6 +2121,52 @@ class TestWithFunction(TestWithBinaryView): all_vals = func.get_all_user_var_values() assert len(all_vals) == 0 + def test_auto_user(self): + params = self.func.parameter_vars + assert params[0].name == "argc" + assert params[1].name == "argv" + assert params[2].name == "envp" + + # Parameter variables + new_params = params[0:2] + self.func.set_auto_parameter_vars(new_params) + self.bv.update_analysis() + assert len(self.func.parameter_vars) == 2 + assert self.func.parameter_vars[0] == new_params[0] + assert self.func.parameter_vars[1] == new_params[1] + + self.func.parameter_vars = [params[2]] + self.bv.update_analysis_and_wait() + assert len(self.func.parameter_vars) == 1 + assert self.func.parameter_vars[0] == params[2] + + # Can return + self.func.set_auto_can_return(False) + self.bv.update_analysis() + assert self.func.can_return == False + + self.func.can_return = True + self.bv.update_analysis_and_wait() + assert self.func.can_return == True + + # Has variable arguments + self.func.set_auto_has_variable_arguments(False) + self.bv.update_analysis() + assert self.func.has_variable_arguments == False + + self.func.has_variable_arguments = True + self.bv.update_analysis_and_wait() + assert self.func.has_variable_arguments == True + + # Stack adjustment + self.func.set_auto_stack_adjustment(2) + self.bv.update_analysis() + assert self.func.stack_adjustment == 2 + + self.func.stack_adjustment = 4 + self.bv.update_analysis_and_wait() + assert self.func.stack_adjustment == 4 + class TestBinaryView(TestWithBinaryView): def test_TagType(self): |
