This revision was automatically updated to reflect the committed changes.
Closed by commit rL261241: Add target and host platform enumerations so we're 
not using strings. (authored by zturner).

Changed prior to commit:
  http://reviews.llvm.org/D17088?vs=47684&id=48361#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D17088

Files:
  lldb/trunk/packages/Python/lldbsuite/test/decorators.py
  
lldb/trunk/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py
  
lldb/trunk/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
  lldb/trunk/packages/Python/lldbsuite/test/lldbplatform.py
  lldb/trunk/packages/Python/lldbsuite/test/lldbplatformutil.py

Index: lldb/trunk/packages/Python/lldbsuite/test/decorators.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/decorators.py
+++ lldb/trunk/packages/Python/lldbsuite/test/decorators.py
@@ -4,6 +4,7 @@
 # System modules
 from distutils.version import LooseVersion, StrictVersion
 from functools import wraps
+import itertools
 import os
 import re
 import sys
@@ -20,6 +21,7 @@
 from . import test_categories
 from .result_formatter import EventBuilder
 from lldbsuite.support import funcutils
+from lldbsuite.test import lldbplatform
 from lldbsuite.test import lldbplatformutil
 
 class DecorateMode:
@@ -138,8 +140,8 @@
                  swig_version=None, py_version=None,
                  remote=None):
     def fn(self):
-        skip_for_os = _match_decorator_property(oslist, self.getPlatform())
-        skip_for_hostos = _match_decorator_property(hostoslist, lldbplatformutil.getHostPlatform())
+        skip_for_os = _match_decorator_property(lldbplatform.translate(oslist), self.getPlatform())
+        skip_for_hostos = _match_decorator_property(lldbplatform.translate(hostoslist), lldbplatformutil.getHostPlatform())
         skip_for_compiler = _match_decorator_property(compiler, self.getCompiler()) and self.expectedCompilerVersion(compiler_version)
         skip_for_arch = _match_decorator_property(archs, self.getArchitecture())
         skip_for_debug_info = _match_decorator_property(debug_info, self.debug_info)
@@ -296,10 +298,10 @@
 
 def expectedFailureDarwin(bugnumber=None, compilers=None, debug_info=None):
     # For legacy reasons, we support both "darwin" and "macosx" as OS X triples.
-    return expectedFailureOS(lldbplatformutil.getDarwinOSTriples(), bugnumber, compilers, debug_info=debug_info)
+    return expectedFailureOS(lldbplatform.darwin_all, bugnumber, compilers, debug_info=debug_info)
 
 def expectedFailureFreeBSD(bugnumber=None, compilers=None, debug_info=None):
-    return expectedFailureOS(['freebsd'], bugnumber, compilers, debug_info=debug_info)
+    return expectedFailureOS(lldbplatform.freebsd, bugnumber, compilers, debug_info=debug_info)
 
 def expectedFailureAndroid(bugnumber=None, api_levels=None, archs=None):
     """ Mark a test as xfail for Android.
@@ -426,7 +428,7 @@
 
 def skipIfDarwin(func):
     """Decorate the item to skip tests that should be skipped on Darwin."""
-    return skipIfPlatform(lldbplatformutil.getDarwinOSTriples())(func)
+    return skipIfPlatform(lldbplatform.translate(lldbplatform.darwin_all))(func)
 
 def skipIfLinux(func):
     """Decorate the item to skip tests that should be skipped on Linux."""
Index: lldb/trunk/packages/Python/lldbsuite/test/lldbplatform.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lldbplatform.py
+++ lldb/trunk/packages/Python/lldbsuite/test/lldbplatform.py
@@ -0,0 +1,44 @@
+""" This module represents an abstraction of an lldb target / host platform. """
+
+from __future__ import absolute_import
+
+# System modules
+import itertools
+
+# Third-party modules
+import six
+
+# LLDB modules
+import use_lldb_suite
+import lldb
+
+windows, linux, macosx, darwin, ios, darwin_all, freebsd, netbsd, bsd_all, android = range(10)
+
+__name_lookup = {
+    windows : ["windows"],
+    linux : ["linux"],
+    macosx : ["macosx"],
+    darwin : ["darwin"],
+    ios : ["ios"],
+    darwin_all : ["macosx", "darwin", "ios"],
+    freebsd : ["freebsd"],
+    netbsd : ["netbsd"],
+    bsd_all : ["freebsd", "netbsd"],
+    android : ["android"]
+}
+
+
+def translate(values):
+
+    if isinstance(values, six.integer_types):
+        # This is a value from the platform enumeration, translate it.
+        return __name_lookup[values]
+    elif isinstance(values, six.string_types):
+        # This is a raw string, return it.
+        return [values]
+    elif hasattr(values, "__iter__"):
+        # This is an iterable, convert each item.
+        result = [translate(x) for x in values]
+        result = list(itertools.chain(*result))
+        return result
+    return values
Index: lldb/trunk/packages/Python/lldbsuite/test/lldbplatformutil.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lldbplatformutil.py
+++ lldb/trunk/packages/Python/lldbsuite/test/lldbplatformutil.py
@@ -4,11 +4,13 @@
 from __future__ import absolute_import
 
 # System modules
+import itertools
 import re
 import subprocess
 import sys
 
 # Third-party modules
+import six
 from six.moves.urllib import parse as urlparse
 
 # LLDB modules
Index: lldb/trunk/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py
@@ -10,6 +10,7 @@
 import lldb
 from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbplatform
 from lldbsuite.test import lldbutil
 
 class AsanTestCase(TestBase):
@@ -20,7 +21,7 @@
     @skipIfFreeBSD # llvm.org/pr21136 runtimes not yet available by default
     @skipIfRemote
     @skipUnlessCompilerRt
-    @expectedFailureDarwin
+    @expectedFailureAll(oslist=lldbplatform.darwin_all)
     def test (self):
         self.build ()
         self.asan_tests ()
Index: lldb/trunk/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
@@ -10,6 +10,7 @@
 import lldb
 from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbplatform
 from lldbsuite.test import lldbutil
 
 class CommandLineCompletionTestCase(TestBase):
@@ -256,7 +257,7 @@
         self.complete_from_to('target va', 'target variable ')
 
     @expectedFailureAll(hostoslist=["windows"], bugnumber="llvm.org/pr24679")
-    @expectedFailureDarwin("llvm.org/pr25485")
+    @expectedFailureAll(oslist=lldbplatform.darwin_all, bugnumber="llvm.org/pr25485")
     def test_symbol_name(self):
         self.build()
         self.complete_from_to('''file a.out
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to