summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2015-04-02 18:24:03 +0000
committerGreg Clayton <gclayton@apple.com>2015-04-02 18:24:03 +0000
commite0d0a7652d40fc890009d048ba3e7532068af1d0 (patch)
treee21c817f47dcecf8688c168b3412b16142355e17
parenta5cad0d6a66378a3429cb94d557f192d4223180e (diff)
downloadbcm5719-llvm-e0d0a7652d40fc890009d048ba3e7532068af1d0.tar.gz
bcm5719-llvm-e0d0a7652d40fc890009d048ba3e7532068af1d0.zip
Many many test failures after some recent changes. The problem is lldbtest.getPlatform() returns the "OS" of the selected platform's triple. This is "macosx" for desktop macosx and "ios" for iOS. It used to be "darwin".
There was a lot of code that was checking "if self.getPlatform() == 'darwin'" which is not correct. I fixed this by adding a: lldbtest.platformIsDarwin() which returns true if the current platform's OS is "macosx", "ios" or "darwin". These three valid darwin are now returned by a static function: lldbtest.getDarwinOSTriples() Fixed up all places that has 'if self.getPlatform() == "darwin":' with "if self.platformIsDarwin()" and all instances of 'if self.getPlatform() != "darwin":' with "if not self.platformIsDarwin()". I also fixed some darwin decorator functions to do the right thing as well. llvm-svn: 233933
-rw-r--r--lldb/test/api/check_public_api_headers/TestPublicAPIHeaders.py6
-rw-r--r--lldb/test/functionalities/abbreviation/TestAbbreviations.py2
-rw-r--r--lldb/test/functionalities/inferior-changed/TestInferiorChanged.py4
-rw-r--r--lldb/test/functionalities/inferior-crashing/TestInferiorCrashing.py2
-rw-r--r--lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py6
-rw-r--r--lldb/test/functionalities/inline-stepping/TestInlineStepping.py2
-rw-r--r--lldb/test/functionalities/load_unload/TestLoadUnload.py10
-rw-r--r--lldb/test/functionalities/register/TestRegisters.py2
-rw-r--r--lldb/test/lang/c/array_types/TestArrayTypes.py2
-rw-r--r--lldb/test/lang/c/function_types/TestFunctionTypes.py2
-rw-r--r--lldb/test/lang/cpp/class_static/TestStaticVariables.py2
-rw-r--r--lldb/test/lang/cpp/namespace/TestNamespace.py2
-rw-r--r--lldb/test/lldbtest.py14
-rw-r--r--lldb/test/python_api/event/TestEvents.py2
-rw-r--r--lldb/test/terminal/TestSTTYBeforeAndAfter.py2
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')
OpenPOWER on IntegriCloud