[Lldb-commits] [lldb] r233311 - Change expectedFailureOS and skipIfPlatform checks to be based on target platform when running test suite remotely.

Robert Flack flackr at gmail.com
Thu Mar 26 12:34:27 PDT 2015


Author: flackr
Date: Thu Mar 26 14:34:26 2015
New Revision: 233311

URL: http://llvm.org/viewvc/llvm-project?rev=233311&view=rev
Log:
Change expectedFailureOS and skipIfPlatform checks to be based on target platform when running test suite remotely.

Most expected OS failures or skipped tests are about the target platform on
which the test binary is being run, not the host platform launching the tests.
This changes expectedFailureOS and skipIfPlatform to check against the remote
platform when running remote tests.

Test Plan:
Run ./do_sep.py test suite against a remote target on a different platform and
verify that tests which should be excluded on the remote platform are excluded.

Differential Revision: http://reviews.llvm.org/D8611

Modified:
    lldb/trunk/test/dotest.py
    lldb/trunk/test/lldbtest.py

Modified: lldb/trunk/test/dotest.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=233311&r1=233310&r2=233311&view=diff
==============================================================================
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Thu Mar 26 14:34:26 2015
@@ -125,20 +125,9 @@ just_do_lldbmi_test = False
 # By default, benchmarks tests are not run.
 just_do_benchmarks_test = False
 
-# By default, both dsym and dwarf tests are performed.
-# Use @dsym_test or @dwarf_test decorators, defined in lldbtest.py, to mark a test
-# as a dsym or dwarf test.  Use '-N dsym' or '-N dwarf' to exclude dsym or dwarf
-# tests from running.
-dont_do_dsym_test = "linux" in sys.platform or "freebsd" in sys.platform
+dont_do_dsym_test = False
 dont_do_dwarf_test = False
 
-# Don't do debugserver tests on everything except OS X.
-# Something for Windows here?
-dont_do_debugserver_test = "linux" in sys.platform or "freebsd" in sys.platform
-
-# Don't do lldb-server (llgs) tests on anything except Linux.
-dont_do_llgs_test = not ("linux" in sys.platform)
-
 # The blacklist is optional (-b blacklistFile) and allows a central place to skip
 # testclass's and/or testclass.testmethod's.
 blacklist = None
@@ -1358,6 +1347,22 @@ if lldb_platform_name:
 else:
     lldb.remote_platform = None
     lldb.remote_platform_working_dir = None
+
+target_platform = lldb.DBG.GetSelectedPlatform().GetTriple().split('-')[2]
+
+# By default, both dsym and dwarf tests are performed.
+# Use @dsym_test or @dwarf_test decorators, defined in lldbtest.py, to mark a test
+# as a dsym or dwarf test.  Use '-N dsym' or '-N dwarf' to exclude dsym or dwarf
+# tests from running.
+dont_do_dsym_test = dont_do_dsym_test or "linux" in target_platform or "freebsd" in target_platform
+
+# Don't do debugserver tests on everything except OS X.
+# Something for Windows here?
+dont_do_debugserver_test = "linux" in target_platform or "freebsd" in target_platform
+
+# Don't do lldb-server (llgs) tests on anything except Linux.
+dont_do_llgs_test = not ("linux" in target_platform)
+
 # Put the blacklist in the lldb namespace, to be used by lldb.TestBase.
 lldb.blacklist = blacklist
 

Modified: lldb/trunk/test/lldbtest.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=233311&r1=233310&r2=233311&view=diff
==============================================================================
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Thu Mar 26 14:34:26 2015
@@ -584,22 +584,24 @@ def expectedFailurei386(bugnumber=None):
 def expectedFailurex86_64(bugnumber=None):
     if bugnumber: return expectedFailureArch('x86_64', bugnumber)
 
-def expectedFailureOS(os, bugnumber=None, compilers=None):
+def expectedFailureOS(oslist, bugnumber=None, compilers=None):
     def fn(self):
-        return os in sys.platform and self.expectedCompiler(compilers)
+        return (lldb.DBG.GetSelectedPlatform().GetTriple().split('-')[2] in oslist and
+                self.expectedCompiler(compilers))
     if bugnumber: return expectedFailure(fn, bugnumber)
 
 def expectedFailureDarwin(bugnumber=None, compilers=None):
-    if bugnumber: return expectedFailureOS('darwin', bugnumber, compilers)
+    # For legacy reasons, we support both "darwin" and "macosx" as OS X triples.
+    if bugnumber: return expectedFailureOS(['darwin', 'macosx'], bugnumber, compilers)
 
 def expectedFailureFreeBSD(bugnumber=None, compilers=None):
-    if bugnumber: return expectedFailureOS('freebsd', bugnumber, compilers)
+    if bugnumber: return expectedFailureOS(['freebsd'], bugnumber, compilers)
 
 def expectedFailureLinux(bugnumber=None, compilers=None):
-    if bugnumber: return expectedFailureOS('linux', bugnumber, compilers)
+    if bugnumber: return expectedFailureOS(['linux'], bugnumber, compilers)
 
 def expectedFailureWindows(bugnumber=None, compilers=None):
-    if bugnumber: return expectedFailureOS('win32', bugnumber, compilers)
+    if bugnumber: return expectedFailureOS(['windows'], bugnumber, compilers)
 
 def expectedFailureLLGS(bugnumber=None, compilers=None):
     def fn(self):
@@ -646,7 +648,7 @@ def skipIfFreeBSD(func):
     def wrapper(*args, **kwargs):
         from unittest2 import case
         self = args[0]
-        platform = sys.platform
+        platform = lldb.DBG.GetSelectedPlatform().GetTriple().split('-')[2]
         if "freebsd" in platform:
             self.skipTest("skip on FreeBSD")
         else:
@@ -661,7 +663,7 @@ def skipIfLinux(func):
     def wrapper(*args, **kwargs):
         from unittest2 import case
         self = args[0]
-        platform = sys.platform
+        platform = lldb.DBG.GetSelectedPlatform().GetTriple().split('-')[2]
         if "linux" in platform:
             self.skipTest("skip on linux")
         else:
@@ -695,8 +697,8 @@ def skipIfWindows(func):
     def wrapper(*args, **kwargs):
         from unittest2 import case
         self = args[0]
-        platform = sys.platform
-        if "win32" in platform:
+        platform = lldb.DBG.GetSelectedPlatform().GetTriple().split('-')[2]
+        if "windows" in platform:
             self.skipTest("skip on Windows")
         else:
             func(*args, **kwargs)
@@ -710,8 +712,8 @@ def skipIfDarwin(func):
     def wrapper(*args, **kwargs):
         from unittest2 import case
         self = args[0]
-        platform = sys.platform
-        if "darwin" in platform:
+        platform = lldb.DBG.GetSelectedPlatform().GetTriple().split('-')[2]
+        if "darwin" in platform or "macosx" in platform:
             self.skipTest("skip on darwin")
         else:
             func(*args, **kwargs)





More information about the lldb-commits mailing list