diff options
15 files changed, 34 insertions, 26 deletions
diff --git a/lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py b/lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py index 9eb549c280d..a8821b11e31 100644 --- a/lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py +++ b/lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py @@ -24,8 +24,8 @@ class SBDirCheckerCase(TestBase): def test_sb_api_directory(self): """Test the SB API directory and make sure there's no unwanted stuff.""" - # Only proceed if this is "darwin", "x86_64", and local platform. - if not (self.getPlatform() == "darwin" and self.getArchitecture() == "x86_64" and not lldb.test_remote): + # Only proceed if this is an Apple OS, "x86_64", and local platform. + if not (self.platformIsDarwin() and self.getArchitecture() == "x86_64" and not lldb.test_remote): self.skipTest("This test is only for LLDB.framework built 64-bit and !lldb.test_remote") if self.getArchitecture() == "i386": self.skipTest("LLDB is 64-bit and cannot be linked to 32-bit test program.") @@ -47,7 +47,7 @@ class SBDirCheckerCase(TestBase): # for all the SB API headers. public_headers = os.listdir(public_api_dir) # For different platforms, the include statement can vary. - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): include_stmt = "'#include <%s>' % os.path.join('LLDB', header)" if self.getPlatform() == "freebsd" or self.getPlatform() == "linux" or os.environ.get('LLDB_BUILD_TYPE') == 'Makefile': include_stmt = "'#include <%s>' % os.path.join(public_api_dir, header)" diff --git a/lldb/test/functionalities/abbreviation/TestAbbreviations.py b/lldb/test/functionalities/abbreviation/TestAbbreviations.py index 809d38a12d1..30cc031aa78 100644 --- a/lldb/test/functionalities/abbreviation/TestAbbreviations.py +++ b/lldb/test/functionalities/abbreviation/TestAbbreviations.py @@ -174,7 +174,7 @@ class AbbreviationsTestCase(TestBase): self.expect("i d symt", patterns = ["Dumping symbol table for [0-9]+ modules."]) - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): self.expect("i li", substrs = [ 'a.out', '/usr/lib/dyld', diff --git a/lldb/test/functionalities/inferior-changed/TestInferiorChanged.py b/lldb/test/functionalities/inferior-changed/TestInferiorChanged.py index 9e498869736..dbb916fd880 100644 --- a/lldb/test/functionalities/inferior-changed/TestInferiorChanged.py +++ b/lldb/test/functionalities/inferior-changed/TestInferiorChanged.py @@ -49,7 +49,7 @@ class ChangedInferiorTestCase(TestBase): self.runCmd("run", RUN_SUCCEEDED) - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): stop_reason = 'stop reason = EXC_BAD_ACCESS' else: stop_reason = 'stop reason = invalid address' @@ -73,7 +73,7 @@ class ChangedInferiorTestCase(TestBase): self.runCmd("run", RUN_SUCCEEDED) self.runCmd("process status") - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): stop_reason = 'EXC_BAD_ACCESS' else: stop_reason = 'invalid address' diff --git a/lldb/test/functionalities/inferior-crashing/TestInferiorCrashing.py b/lldb/test/functionalities/inferior-crashing/TestInferiorCrashing.py index e64e07d20ba..091288d37b6 100644 --- a/lldb/test/functionalities/inferior-crashing/TestInferiorCrashing.py +++ b/lldb/test/functionalities/inferior-crashing/TestInferiorCrashing.py @@ -87,7 +87,7 @@ class CrashingInferiorTestCase(TestBase): lldbutil.run_break_set_by_file_and_line (self, "main.c", line, num_expected_locations=1, loc_exact=True) def check_stop_reason(self): - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): stop_reason = 'stop reason = EXC_BAD_ACCESS' else: stop_reason = 'stop reason = invalid address' diff --git a/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py b/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py index 3946ba822b2..b9b064bab5e 100644 --- a/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py +++ b/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py @@ -90,7 +90,7 @@ class CrashingRecursiveInferiorTestCase(TestBase): lldbutil.run_break_set_by_file_and_line (self, "main.c", line, num_expected_locations=1, loc_exact=True) def check_stop_reason(self): - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): stop_reason = 'stop reason = EXC_BAD_ACCESS' else: stop_reason = 'stop reason = invalid address' @@ -207,13 +207,13 @@ class CrashingRecursiveInferiorTestCase(TestBase): self.check_stop_reason() expected_state = 'exited' # Provide the exit code. - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): expected_state = 'stopped' # TODO: Determine why 'next' and 'continue' have no effect after a crash. self.expect("next", substrs = ['Process', expected_state]) - if self.getPlatform() != "darwin": # if stopped, we will have a process around + if not self.platformIsDarwin(): # if stopped, we will have a process around self.expect("thread list", error=True,substrs = ['Process must be launched']) def recursive_inferior_crashing_expr_step_expr(self): diff --git a/lldb/test/functionalities/inline-stepping/TestInlineStepping.py b/lldb/test/functionalities/inline-stepping/TestInlineStepping.py index 2bca57d3ddf..7286d8e4f41 100644 --- a/lldb/test/functionalities/inline-stepping/TestInlineStepping.py +++ b/lldb/test/functionalities/inline-stepping/TestInlineStepping.py @@ -108,7 +108,7 @@ class TestInlineStepping(TestBase): test_stack_depth = True # Work around for <rdar://problem/16363195>, the darwin unwinder seems flakey about whether it duplicates the first frame # or not, which makes counting stack depth unreliable. - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): test_stack_depth = False for step_pattern in step_sequence: diff --git a/lldb/test/functionalities/load_unload/TestLoadUnload.py b/lldb/test/functionalities/load_unload/TestLoadUnload.py index 8facb488dd9..a2038f6b189 100644 --- a/lldb/test/functionalities/load_unload/TestLoadUnload.py +++ b/lldb/test/functionalities/load_unload/TestLoadUnload.py @@ -24,7 +24,7 @@ class LoadUnloadTestCase(TestBase): '// Set break point at this line for test_lldb_process_load_and_unload_commands().') self.line_d_function = line_number('d.c', '// Find this line number within d_dunction().') - if self.getPlatform() != "darwin": + if not self.platformIsDarwin(): if "LD_LIBRARY_PATH" in os.environ: self.runCmd("settings set target.env-vars " + self.dylibPath + "=" + os.environ["LD_LIBRARY_PATH"] + ":" + os.getcwd()) else: @@ -38,7 +38,7 @@ class LoadUnloadTestCase(TestBase): # Invoke the default build rule. self.buildDefault() - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): dylibName = 'libloadunload_d.dylib' else: dylibName = 'libloadunload_d.so' @@ -93,7 +93,7 @@ class LoadUnloadTestCase(TestBase): exe = os.path.join(os.getcwd(), "a.out") self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): dylibName = 'libloadunload_d.dylib' dsymName = 'libloadunload_d.dylib.dSYM' else: @@ -112,7 +112,7 @@ class LoadUnloadTestCase(TestBase): # we pick up the hidden dylib. env_cmd_string = "settings set target.env-vars " + self.dylibPath + "=" + new_dir - if self.getPlatform() != "darwin": + if not self.platformIsDarwin(): env_cmd_string += ":" + os.getcwd() if self.TraceOn(): @@ -164,7 +164,7 @@ class LoadUnloadTestCase(TestBase): error=True, matching=False, patterns = ["1 match found .* %s" % self.mydir]) - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): dylibName = 'libloadunload_a.dylib' else: dylibName = 'libloadunload_a.so' diff --git a/lldb/test/functionalities/register/TestRegisters.py b/lldb/test/functionalities/register/TestRegisters.py index ef0bb465744..47c9df7145c 100644 --- a/lldb/test/functionalities/register/TestRegisters.py +++ b/lldb/test/functionalities/register/TestRegisters.py @@ -89,7 +89,7 @@ class RegisterCommandsTestCase(TestBase): # platform specific logging of the specified category def log_enable(self, category): self.platform = "" - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): self.platform = "" # TODO: add support for "log enable darwin registers" if self.getPlatform() == "freebsd": diff --git a/lldb/test/lang/c/array_types/TestArrayTypes.py b/lldb/test/lang/c/array_types/TestArrayTypes.py index 0a1f58f05c7..e5fdf291b16 100644 --- a/lldb/test/lang/c/array_types/TestArrayTypes.py +++ b/lldb/test/lang/c/array_types/TestArrayTypes.py @@ -130,7 +130,7 @@ class ArrayTypesTestCase(TestBase): # Sanity check the print representation of thread. thr = str(thread) - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): tidstr = "tid = 0x%4.4x" % thread.GetThreadID() else: tidstr = "tid = %u" % thread.GetThreadID() diff --git a/lldb/test/lang/c/function_types/TestFunctionTypes.py b/lldb/test/lang/c/function_types/TestFunctionTypes.py index f6034d914dd..9863e05e876 100644 --- a/lldb/test/lang/c/function_types/TestFunctionTypes.py +++ b/lldb/test/lang/c/function_types/TestFunctionTypes.py @@ -86,7 +86,7 @@ class FunctionTypesTestCase(TestBase): self.expect("expr string_not_empty", substrs = ['(int (*)(const char *)) $0 = ', '(a.out`']) - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): regexps = ['lib.*\.dylib`printf'] else: regexps = ['printf'] diff --git a/lldb/test/lang/cpp/class_static/TestStaticVariables.py b/lldb/test/lang/cpp/class_static/TestStaticVariables.py index d5d0bf1402e..18a2e0f35ea 100644 --- a/lldb/test/lang/cpp/class_static/TestStaticVariables.py +++ b/lldb/test/lang/cpp/class_static/TestStaticVariables.py @@ -73,7 +73,7 @@ class StaticVariableTestCase(TestBase): # On Mac OS X, gcc 4.2 emits the wrong debug info for A::g_points. # A::g_points is an array of two elements. - if self.getPlatform() == "darwin" or self.getPlatform() == "linux": + if self.platformIsDarwin() or self.getPlatform() == "linux": self.expect("target variable A::g_points[1].x", VARIABLES_DISPLAYED_CORRECTLY, startstr = "(int) A::g_points[1].x = 11") diff --git a/lldb/test/lang/cpp/namespace/TestNamespace.py b/lldb/test/lang/cpp/namespace/TestNamespace.py index a3184d38ed8..1241126e23a 100644 --- a/lldb/test/lang/cpp/namespace/TestNamespace.py +++ b/lldb/test/lang/cpp/namespace/TestNamespace.py @@ -54,7 +54,7 @@ class NamespaceTestCase(TestBase): # On Mac OS X, gcc 4.2 emits the wrong debug info with respect to types. slist = ['(int) a = 12', 'anon_uint', 'a_uint', 'b_uint', 'y_uint'] - if self.getPlatform() == "darwin" and self.getCompiler() in ['clang', 'llvm-gcc']: + if self.platformIsDarwin() and self.getCompiler() in ['clang', 'llvm-gcc']: slist = ['(int) a = 12', '::my_uint_t', 'anon_uint = 0', '(A::uint_t) a_uint = 1', diff --git a/lldb/test/lldbtest.py b/lldb/test/lldbtest.py index dcb4a753120..82195c1ec67 100644 --- a/lldb/test/lldbtest.py +++ b/lldb/test/lldbtest.py @@ -593,7 +593,7 @@ def expectedFailureOS(oslist, bugnumber=None, compilers=None): def expectedFailureDarwin(bugnumber=None, compilers=None): # For legacy reasons, we support both "darwin" and "macosx" as OS X triples. - return expectedFailureOS(['darwin', 'macosx'], bugnumber, compilers) + return expectedFailureOS(getDarwinOSTriples(), bugnumber, compilers) def expectedFailureFreeBSD(bugnumber=None, compilers=None): return expectedFailureOS(['freebsd'], bugnumber, compilers) @@ -664,9 +664,12 @@ def skipIfFreeBSD(func): """Decorate the item to skip tests that should be skipped on FreeBSD.""" return skipIfPlatform(["freebsd"])(func) +def getDarwinOSTriples(): + return ['darwin', 'macosx', 'ios'] + def skipIfDarwin(func): """Decorate the item to skip tests that should be skipped on Darwin.""" - return skipIfPlatform(["darwin", "macosx"])(func) + return skipIfPlatform(getDarwinOSTriples())(func) def skipIfLinux(func): """Decorate the item to skip tests that should be skipped on Linux.""" @@ -678,7 +681,7 @@ def skipIfWindows(func): def skipUnlessDarwin(func): """Decorate the item to skip tests that should be skipped on any non Darwin platform.""" - return skipUnlessPlatform(["darwin", "macosx"])(func) + return skipUnlessPlatform(getDarwinOSTriples())(func) def skipIfPlatform(oslist): """Decorate the item to skip tests if running on one of the listed platforms.""" @@ -1387,6 +1390,11 @@ class Base(unittest2.TestCase): version = m.group(1) return version + def platformIsDarwin(self): + """Returns true if the OS triple for the selected platform is any valid apple OS""" + platform_name = self.getPlatform() + return platform_name in getDarwinOSTriples() + def getPlatform(self): """Returns the platform the test suite is running on.""" platform = lldb.DBG.GetSelectedPlatform().GetTriple().split('-')[2] diff --git a/lldb/test/python_api/event/TestEvents.py b/lldb/test/python_api/event/TestEvents.py index d79ba333bb5..e828df37fe6 100644 --- a/lldb/test/python_api/event/TestEvents.py +++ b/lldb/test/python_api/event/TestEvents.py @@ -20,7 +20,7 @@ class EventAPITestCase(TestBase): self.buildDsym() self.do_listen_for_and_print_event() - @skipUnlessPlatform(["darwin", "macosx", "freebsd"]) + @skipUnlessPlatform(getDarwinOSTriples() + ["freebsd"]) @python_api_test @dwarf_test def test_listen_for_and_print_event_with_dwarf(self): diff --git a/lldb/test/terminal/TestSTTYBeforeAndAfter.py b/lldb/test/terminal/TestSTTYBeforeAndAfter.py index 2d80265253e..54d655907e1 100644 --- a/lldb/test/terminal/TestSTTYBeforeAndAfter.py +++ b/lldb/test/terminal/TestSTTYBeforeAndAfter.py @@ -40,7 +40,7 @@ class CommandLineCompletionTestCase(TestBase): if self.TraceOn(): child.logfile = sys.stdout - if self.getPlatform() == "darwin": + if self.platformIsDarwin(): child.sendline('set env(TERM) xterm') else: child.sendline('set env(TERM) vt100') |