diff options
author | Jason Molenda <jmolenda@apple.com> | 2017-09-25 18:19:39 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2017-09-25 18:19:39 +0000 |
commit | 8652b249e6ede3f495bf96820b6f34110aafa84d (patch) | |
tree | 6f11d7e6b9f8070347afefa03148b1f43edfc748 /lldb/packages/Python/lldbsuite/test/macosx | |
parent | bbe448abd828b98d22c703fff4325e0251071efa (diff) | |
download | bcm5719-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')
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 |