Tamas Berghammer | 2e16902 | 2015-04-02 11:07:55 +0000 | [diff] [blame] | 1 | """ This module contains functions used by the test cases to hide the |
| 2 | architecture and/or the platform dependent nature of the tests. """ |
| 3 | |
Zachary Turner | c1b7cd7 | 2015-11-05 19:22:28 +0000 | [diff] [blame] | 4 | from __future__ import absolute_import |
| 5 | |
| 6 | # System modules |
| 7 | |
| 8 | # Third-party modules |
| 9 | |
| 10 | # LLDB modules |
| 11 | |
Sagar Thakur | 9bf1528 | 2015-11-19 11:01:21 +0000 | [diff] [blame^] | 12 | import re |
| 13 | |
Tamas Berghammer | 2e16902 | 2015-04-02 11:07:55 +0000 | [diff] [blame] | 14 | def check_first_register_readable(test_case): |
Sagar Thakur | 9bf1528 | 2015-11-19 11:01:21 +0000 | [diff] [blame^] | 15 | arch = test_case.getArchitecture() |
| 16 | |
| 17 | if arch in ['x86_64', 'i386']: |
Tamas Berghammer | 2e16902 | 2015-04-02 11:07:55 +0000 | [diff] [blame] | 18 | test_case.expect("register read eax", substrs = ['eax = 0x']) |
Sagar Thakur | 9bf1528 | 2015-11-19 11:01:21 +0000 | [diff] [blame^] | 19 | elif arch in ['arm']: |
Tamas Berghammer | 3215d04 | 2015-04-17 09:37:06 +0000 | [diff] [blame] | 20 | test_case.expect("register read r0", substrs = ['r0 = 0x']) |
Sagar Thakur | 9bf1528 | 2015-11-19 11:01:21 +0000 | [diff] [blame^] | 21 | elif arch in ['aarch64']: |
Tamas Berghammer | 2e16902 | 2015-04-02 11:07:55 +0000 | [diff] [blame] | 22 | test_case.expect("register read x0", substrs = ['x0 = 0x']) |
Sagar Thakur | 9bf1528 | 2015-11-19 11:01:21 +0000 | [diff] [blame^] | 23 | elif re.match("mips",arch): |
| 24 | test_case.expect("register read zero", substrs = ['zero = 0x']) |
Tamas Berghammer | 2e16902 | 2015-04-02 11:07:55 +0000 | [diff] [blame] | 25 | else: |
| 26 | # TODO: Add check for other architectures |
| 27 | test_case.fail("Unsupported architecture for test case (arch: %s)" % test_case.getArchitecture()) |