diff options
author | Tamas Berghammer <tberghammer@google.com> | 2015-04-02 11:07:55 +0000 |
---|---|---|
committer | Tamas Berghammer <tberghammer@google.com> | 2015-04-02 11:07:55 +0000 |
commit | 2e16902084732f44f6f65e9630b3208eddc59314 (patch) | |
tree | f04c84528bc5ca073fc128de5383b296f8ce713d | |
parent | 1eeece1285e389c74f7adbee1610d140b9034d6a (diff) | |
download | bcm5719-llvm-2e16902084732f44f6f65e9630b3208eddc59314.tar.gz bcm5719-llvm-2e16902084732f44f6f65e9630b3208eddc59314.zip |
Fix test expectation for aarch64 in several test case
These test cases check if they are able to read registers after the
inferior is crashed. Previously they did it with reading the eax
register what is only available on i386 and x86_64. Thic CL add code to
do the check based on the target architecture (currently i386, x86_64
and aarch64 is supported)
Differential revision: http://reviews.llvm.org/D8702
llvm-svn: 233907
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()) |