diff options
4 files changed, 19 insertions, 13 deletions
diff --git a/lldb/test/functionalities/inferior-assert/TestInferiorAssert.py b/lldb/test/functionalities/inferior-assert/TestInferiorAssert.py index 152bdf3ad4c..a862de40b3b 100644 --- a/lldb/test/functionalities/inferior-assert/TestInferiorAssert.py +++ b/lldb/test/functionalities/inferior-assert/TestInferiorAssert.py @@ -2,7 +2,7 @@ import os, time import unittest2 -import lldb, lldbutil +import lldb, lldbutil, lldbplatformutil from lldbtest import * class AssertingInferiorTestCase(TestBase): @@ -149,8 +149,7 @@ class AssertingInferiorTestCase(TestBase): self.check_stop_reason() # lldb should be able to read from registers from the inferior after asserting. - self.expect("register read eax", - substrs = ['eax = 0x']) + lldbplatformutil.check_first_register_readable(self) def inferior_asserting_disassemble(self): """Test that lldb can disassemble frames after asserting.""" diff --git a/lldb/test/functionalities/inferior-crashing/TestInferiorCrashing.py b/lldb/test/functionalities/inferior-crashing/TestInferiorCrashing.py index ad51341d8f7..e64e07d20ba 100644 --- a/lldb/test/functionalities/inferior-crashing/TestInferiorCrashing.py +++ b/lldb/test/functionalities/inferior-crashing/TestInferiorCrashing.py @@ -2,7 +2,7 @@ import os, time import unittest2 -import lldb, lldbutil +import lldb, lldbutil, lldbplatformutil from lldbtest import * class CrashingInferiorTestCase(TestBase): @@ -153,8 +153,7 @@ class CrashingInferiorTestCase(TestBase): self.check_stop_reason() # lldb should be able to read from registers from the inferior after crashing. - self.expect("register read eax", - substrs = ['eax = 0x']) + lldbplatformutil.check_first_register_readable(self) def inferior_crashing_expr(self): """Test that the lldb expression interpreter can read symbols after crashing.""" @@ -193,8 +192,7 @@ class CrashingInferiorTestCase(TestBase): substrs = ['= 0x0']) # lldb should be able to read from registers from the inferior after crashing. - self.expect("register read eax", - substrs = ['eax = 0x']) + lldbplatformutil.check_first_register_readable(self) # And it should report the correct line number. self.expect("thread backtrace all", diff --git a/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py b/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py index 054f64ee707..3946ba822b2 100644 --- a/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py +++ b/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py @@ -2,7 +2,7 @@ import os, time import unittest2 -import lldb, lldbutil +import lldb, lldbutil, lldbplatformutil import sys from lldbtest import * @@ -157,8 +157,7 @@ class CrashingRecursiveInferiorTestCase(TestBase): self.check_stop_reason() # lldb should be able to read from registers from the inferior after crashing. - self.expect("register read eax", - substrs = ['eax = 0x']) + lldbplatformutil.check_first_register_readable(self) def recursive_inferior_crashing_expr(self): """Test that the lldb expression interpreter can read symbols after crashing.""" @@ -192,8 +191,7 @@ class CrashingRecursiveInferiorTestCase(TestBase): substrs = ['(int) $0 =']) # lldb should be able to read from registers from the inferior after crashing. - self.expect("register read eax", - substrs = ['eax = 0x']) + lldbplatformutil.check_first_register_readable(self) # And it should report the correct line number. self.expect("thread backtrace all", diff --git a/lldb/test/lldbplatformutil.py b/lldb/test/lldbplatformutil.py new file mode 100644 index 00000000000..ef045bbe2eb --- /dev/null +++ b/lldb/test/lldbplatformutil.py @@ -0,0 +1,11 @@ +""" This module contains functions used by the test cases to hide the +architecture and/or the platform dependent nature of the tests. """ + +def check_first_register_readable(test_case): + if test_case.getArchitecture() in ['x86_64', 'i386']: + test_case.expect("register read eax", substrs = ['eax = 0x']) + elif test_case.getArchitecture() in ['aarch64']: + test_case.expect("register read x0", substrs = ['x0 = 0x']) + else: + # TODO: Add check for other architectures + test_case.fail("Unsupported architecture for test case (arch: %s)" % test_case.getArchitecture()) |