summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lldbplatform.py
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-02-18 18:50:02 +0000
committerZachary Turner <zturner@google.com>2016-02-18 18:50:02 +0000
commit5d3b3c7de2b4f8fd3c5ef0fd6928e9f96b1d472d (patch)
tree771c325ba46e70ce979201c49ae151653b227546 /lldb/packages/Python/lldbsuite/test/lldbplatform.py
parent8d39b2a213454ff495c30d6f94ed4e70a0109b59 (diff)
downloadbcm5719-llvm-5d3b3c7de2b4f8fd3c5ef0fd6928e9f96b1d472d.tar.gz
bcm5719-llvm-5d3b3c7de2b4f8fd3c5ef0fd6928e9f96b1d472d.zip
Add target and host platform enumerations so we're not using strings.
Differential Revision: http://reviews.llvm.org/D17088 llvm-svn: 261241
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lldbplatform.py')
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbplatform.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lldbplatform.py b/lldb/packages/Python/lldbsuite/test/lldbplatform.py
new file mode 100644
index 00000000000..33927df6c0f
--- /dev/null
+++ b/lldb/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
OpenPOWER on IntegriCloud