diff --git a/lldb/test/lldbtest.py b/lldb/test/lldbtest.py index 51d2afd534ec..40a8903bda90 100644 --- a/lldb/test/lldbtest.py +++ b/lldb/test/lldbtest.py @@ -458,6 +458,12 @@ class TestBase(unittest2.TestCase): # End of while loop. + def buildDefault(self): + """Platform specific way to build the default binaries.""" + module = __import__(sys.platform) + if not module.buildDefault(): + raise Exception("Don't know how to build default binary") + def buildDsym(self): """Platform specific way to build binaries with dsym info.""" module = __import__(sys.platform) diff --git a/lldb/test/macosx/universal/TestUniversal.py b/lldb/test/macosx/universal/TestUniversal.py index 6a93e4aa714d..7785f63a11f7 100644 --- a/lldb/test/macosx/universal/TestUniversal.py +++ b/lldb/test/macosx/universal/TestUniversal.py @@ -9,9 +9,14 @@ class UniversalTestCase(TestBase): mydir = "macosx/universal" + @unittest2.skipUnless(sys.platform.startswith("darwin") and os.uname()[4]=='i386', + "requires Darwin & i386") def test_process_launch_for_universal(self): """Test process launch of a universal binary.""" + # Invoke the default build rule. + self.buildDefault() + # Note that "testit" is a universal binary. exe = os.path.join(os.getcwd(), "testit") diff --git a/lldb/test/plugins/darwin.py b/lldb/test/plugins/darwin.py index 6a2cadfe3b99..f5a6ee07542f 100644 --- a/lldb/test/plugins/darwin.py +++ b/lldb/test/plugins/darwin.py @@ -2,6 +2,12 @@ import lldbtest #print "Hello, darwin plugin!" +def buildDefault(): + lldbtest.system(["/bin/sh", "-c", "make clean; make"]) + + # True signifies that we can handle building default. + return True + def buildDsym(): lldbtest.system(["/bin/sh", "-c", "make clean; make MAKE_DSYM=YES"])