summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/macosx
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2017-09-25 18:19:39 +0000
committerJason Molenda <jmolenda@apple.com>2017-09-25 18:19:39 +0000
commit8652b249e6ede3f495bf96820b6f34110aafa84d (patch)
tree6f11d7e6b9f8070347afefa03148b1f43edfc748 /lldb/packages/Python/lldbsuite/test/macosx
parentbbe448abd828b98d22c703fff4325e0251071efa (diff)
downloadbcm5719-llvm-8652b249e6ede3f495bf96820b6f34110aafa84d.tar.gz
bcm5719-llvm-8652b249e6ede3f495bf96820b6f34110aafa84d.zip
Initial patchset to get the testsuite running against armv7 and arm64 iOS devices.
Normal customer devices won't be able to run these tests, we're hoping to get a public facing bot set up at some point. Both devices pass the testsuite without any errors or failures. I have seen some instability with the armv7 test runs, I may submit additional patches to address this. arm64 looks good. I'll be watching the bots for the rest of today; if any problems are introduced by this patch I'll revert it - if anyone sees a problem with their bot that I don't see, please do the same. I know it's a rather large patch. One change I had to make specifically for iOS devices was that debugserver can't create files. There were several tests that launch the inferior process redirecting its output to a file, then they retrieve the file. They were not trying to test file redirection in these tests, so I rewrote those to write their output to a file directly. llvm-svn: 314132
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/macosx')
-rw-r--r--lldb/packages/Python/lldbsuite/test/macosx/add-dsym/Makefile15
-rw-r--r--lldb/packages/Python/lldbsuite/test/macosx/indirect_symbol/TestIndirectSymbols.py5
-rw-r--r--lldb/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py6
-rw-r--r--lldb/packages/Python/lldbsuite/test/macosx/thread-names/TestInterruptThreadNames.py9
-rw-r--r--lldb/packages/Python/lldbsuite/test/macosx/universal/TestUniversal.py3
5 files changed, 34 insertions, 4 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/macosx/add-dsym/Makefile b/lldb/packages/Python/lldbsuite/test/macosx/add-dsym/Makefile
index 4e4aa71de2a..3a363ab98c1 100644
--- a/lldb/packages/Python/lldbsuite/test/macosx/add-dsym/Makefile
+++ b/lldb/packages/Python/lldbsuite/test/macosx/add-dsym/Makefile
@@ -1,9 +1,22 @@
CC ?= clang
+ifeq "$(ARCH)" ""
+ ARCH = x86_64
+endif
+
+ifeq "$(OS)" ""
+ OS = $(shell uname -s)
+endif
+
+CFLAGS ?= -g -O0
+
+ifeq "$(OS)" "Darwin"
+ CFLAGS += -arch $(ARCH)
+endif
all: clean
mkdir hide.app
mkdir hide.app/Contents
- $(CC) -g main.c
+ $(CC) $(CFLAGS) -g main.c
mv a.out.dSYM hide.app/Contents
strip -x a.out
diff --git a/lldb/packages/Python/lldbsuite/test/macosx/indirect_symbol/TestIndirectSymbols.py b/lldb/packages/Python/lldbsuite/test/macosx/indirect_symbol/TestIndirectSymbols.py
index e717e2ecdd9..afca8bcc0de 100644
--- a/lldb/packages/Python/lldbsuite/test/macosx/indirect_symbol/TestIndirectSymbols.py
+++ b/lldb/packages/Python/lldbsuite/test/macosx/indirect_symbol/TestIndirectSymbols.py
@@ -31,6 +31,11 @@ class TestIndirectFunctions(TestBase):
target = self.dbg.CreateTarget(exe)
self.assertTrue(target, VALID_TARGET)
+ if self.platformIsDarwin():
+ lib1 = os.path.join(os.getcwd(), 'libindirect.dylib')
+ lib2 = os.path.join(os.getcwd(), 'libreexport.dylib')
+ self.registerSharedLibrariesWithTarget(target, [lib1, lib2])
+
self.main_source_spec = lldb.SBFileSpec(self.main_source)
break1 = target.BreakpointCreateBySourceRegex(
diff --git a/lldb/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py b/lldb/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
index 1e9596785f9..c2a27c57089 100644
--- a/lldb/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
+++ b/lldb/packages/Python/lldbsuite/test/macosx/nslog/TestDarwinNSLogOutput.py
@@ -14,17 +14,19 @@ import platform
import re
import sys
-from lldbsuite.test import decorators
+from lldbsuite.test.decorators import *
from lldbsuite.test import lldbtest
from lldbsuite.test import lldbtest_config
-@decorators.skipUnlessDarwin
class DarwinNSLogOutputTestCase(lldbtest.TestBase):
NO_DEBUG_INFO_TESTCASE = True
mydir = lldbtest.TestBase.compute_mydir(__file__)
+ @skipUnlessDarwin
+ @skipIfRemote # this test is currently written using lldb commands & assumes running on local system
+
def setUp(self):
# Call super's setUp().
super(DarwinNSLogOutputTestCase, self).setUp()
diff --git a/lldb/packages/Python/lldbsuite/test/macosx/thread-names/TestInterruptThreadNames.py b/lldb/packages/Python/lldbsuite/test/macosx/thread-names/TestInterruptThreadNames.py
index b6612b26bde..ae2916c92de 100644
--- a/lldb/packages/Python/lldbsuite/test/macosx/thread-names/TestInterruptThreadNames.py
+++ b/lldb/packages/Python/lldbsuite/test/macosx/thread-names/TestInterruptThreadNames.py
@@ -70,7 +70,14 @@ class TestInterruptThreadNames(TestBase):
inferior_set_up = lldb.SBValue()
retry = 5
while retry > 0:
- time.sleep(1)
+ arch = self.getArchitecture()
+ # when running the testsuite against a remote arm device, it may take
+ # a little longer for the process to start up. Use a "can't possibly take
+ # longer than this" value.
+ if arch == 'arm64' or arch == 'armv7':
+ time.sleep(10)
+ else:
+ time.sleep(1)
process.SendAsyncInterrupt()
self.assertTrue(self.wait_for_stop(process, listener), "Check that process is paused")
inferior_set_up = process.GetTarget().CreateValueFromExpression("threads_up_and_running", "threads_up_and_running")
diff --git a/lldb/packages/Python/lldbsuite/test/macosx/universal/TestUniversal.py b/lldb/packages/Python/lldbsuite/test/macosx/universal/TestUniversal.py
index 988611935c1..9a690e3ebb0 100644
--- a/lldb/packages/Python/lldbsuite/test/macosx/universal/TestUniversal.py
+++ b/lldb/packages/Python/lldbsuite/test/macosx/universal/TestUniversal.py
@@ -26,6 +26,7 @@ class UniversalTestCase(TestBase):
@skipUnlessDarwin
@unittest2.skipUnless(hasattr(os, "uname") and os.uname()[4] in [
'i386', 'x86_64'], "requires i386 or x86_64")
+ @skipIfDarwinEmbedded # this test file assumes we're targetting an x86 system
def test_sbdebugger_create_target_with_file_and_target_triple(self):
"""Test the SBDebugger.CreateTargetWithFileAndTargetTriple() API."""
# Invoke the default build rule.
@@ -47,6 +48,7 @@ class UniversalTestCase(TestBase):
@skipUnlessDarwin
@unittest2.skipUnless(hasattr(os, "uname") and os.uname()[4] in [
'i386', 'x86_64'], "requires i386 or x86_64")
+ @skipIfDarwinEmbedded # this test file assumes we're targetting an x86 system
def test_process_launch_for_universal(self):
"""Test process launch of a universal binary."""
from lldbsuite.test.lldbutil import print_registers
@@ -117,6 +119,7 @@ class UniversalTestCase(TestBase):
@skipUnlessDarwin
@unittest2.skipUnless(hasattr(os, "uname") and os.uname()[4] in [
'i386', 'x86_64'], "requires i386 or x86_64")
+ @skipIfDarwinEmbedded # this test file assumes we're targetting an x86 system
def test_process_attach_with_wrong_arch(self):
"""Test that when we attach to a binary from the wrong fork of a universal binary, we fix up the ABI correctly."""
# Now keep the architecture at 32 bit, but switch the binary we launch to
OpenPOWER on IntegriCloud