diff options
-rwxr-xr-x | lldb/test/argparse_compat.py | 80 | ||||
-rw-r--r-- | lldb/test/dotest_args.py | 22 |
2 files changed, 7 insertions, 95 deletions
diff --git a/lldb/test/argparse_compat.py b/lldb/test/argparse_compat.py deleted file mode 100755 index 32f73db5a9f..00000000000 --- a/lldb/test/argparse_compat.py +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env python - -""" -Compatibility module to use the lldb test-suite with Python 2.6. - -Warning: This may be buggy. It has not been extensively tested and should only -be used when it is impossible to use a newer Python version. -It is also a special-purpose class for lldb's test-suite. -""" - -import sys - -if sys.version_info >= (2, 7): - raise "This module shouldn't be used when argparse is available (Python >= 2.7)" -else: - print "Using Python 2.6 compatibility layer. Some command line options may not be supported" - - -import optparse - - -class ArgumentParser(object): - def __init__(self, description="My program's description", prefix_chars='-', add_help=True): - self.groups = [] - self.parser = optparse.OptionParser(description=description, add_help_option=add_help) - self.prefix_chars = prefix_chars - - def add_argument_group(self, name): - group = optparse.OptionGroup(self.parser, name) - # Hack around our test directories argument (what's left after the - # options) - if name != 'Test directories': - self.groups.append(group) - return ArgumentGroup(group) - - def add_argument(self, *opt_strs, **kwargs): - self.parser.add_option(*opt_strs, **kwargs) - # def add_argument(self, opt_str, action='store', dest=None, metavar=None, help=''): - # if dest is None and metavar is None: - # self.parser.add_argument(opt_str, action=action, help=help) - - def parse_args(self, arguments=sys.argv[1:]): - map(lambda g: self.parser.add_option_group(g), self.groups) - (options, args) = self.parser.parse_args(arguments) - d = vars(options) - d['args'] = args - return Namespace(d) - - def print_help(self): - self.parser.print_help() - - -class ArgumentGroup(object): - def __init__(self, option_group): - self.option_group = option_group - - def add_argument(self, *opt_strs, **kwargs): - # Hack around our positional argument (the test directories) - if opt_strs == ('args',): - return - - # Hack around the options that start with '+' - if len(opt_strs) == 1 and opt_strs[0] == '+a': - opt_strs = ('--plus_a',) - if len(opt_strs) == 1 and opt_strs[0] == '+b': - opt_strs = ('--plus_b',) - self.option_group.add_option(*opt_strs, **kwargs) - - -class Namespace(object): - def __init__(self, d): - self.__dict__ = d - - def __str__(self): - strings = [] - for (k, v) in self.__dict__.iteritems(): - strings.append(str(k) + '=' + str(v)) - strings.sort() - - return self.__class__.__name__ + '(' + ', '.join(strings) + ')' diff --git a/lldb/test/dotest_args.py b/lldb/test/dotest_args.py index 424668485ff..5d1bf751903 100644 --- a/lldb/test/dotest_args.py +++ b/lldb/test/dotest_args.py @@ -1,33 +1,25 @@ from __future__ import print_function +import argparse import sys import multiprocessing import os import textwrap -if sys.version_info >= (2, 7): - argparse = __import__('argparse') -else: - argparse = __import__('argparse_compat') - class ArgParseNamespace(object): pass def parse_args(parser, argv): """ Returns an argument object. LLDB_TEST_ARGUMENTS environment variable can - be used to pass additional arguments if a compatible (>=2.7) argparse - library is available. + be used to pass additional arguments. """ - if sys.version_info >= (2, 7): - args = ArgParseNamespace() + args = ArgParseNamespace() - if ('LLDB_TEST_ARGUMENTS' in os.environ): - print("Arguments passed through environment: '%s'" % os.environ['LLDB_TEST_ARGUMENTS']) - args = parser.parse_args([sys.argv[0]].__add__(os.environ['LLDB_TEST_ARGUMENTS'].split()),namespace=args) + if ('LLDB_TEST_ARGUMENTS' in os.environ): + print("Arguments passed through environment: '%s'" % os.environ['LLDB_TEST_ARGUMENTS']) + args = parser.parse_args([sys.argv[0]].__add__(os.environ['LLDB_TEST_ARGUMENTS'].split()),namespace=args) - return parser.parse_args(args=argv, namespace=args) - else: - return parser.parse_args(args=argv) + return parser.parse_args(args=argv, namespace=args) def default_thread_count(): |