diff options
author | Zachary Turner <zturner@google.com> | 2016-02-18 18:50:02 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-02-18 18:50:02 +0000 |
commit | 5d3b3c7de2b4f8fd3c5ef0fd6928e9f96b1d472d (patch) | |
tree | 771c325ba46e70ce979201c49ae151653b227546 /lldb/packages/Python/lldbsuite/test/lldbplatform.py | |
parent | 8d39b2a213454ff495c30d6f94ed4e70a0109b59 (diff) | |
download | bcm5719-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.py | 44 |
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 |