lit: Add --param NAME=VALUE option, for test suite specific use (to communicate

arbitrary command line arguments to the test suite).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86137 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2009-11-05 16:27:33 +00:00
parent bcaa2157dd
commit f626167e69
3 changed files with 24 additions and 2 deletions

View File

@ -54,6 +54,12 @@ number of detected available CPUs.
Search for I<NAME.cfg> and I<NAME.site.cfg> when searching for test suites,
instead I<lit.cfg> and I<lit.site.cfg>.
=item B<--param> I<NAME>, B<--param> I<NAME>=I<VALUE>
Add a user defined parameter I<NAME> with the given I<VALUE> (or the empty
string if not given). The meaning and use of these parameters is test suite
dependent.
=back
=head1 OUTPUT OPTIONS

View File

@ -17,7 +17,8 @@ class LitConfig:
def __init__(self, progname, path, quiet,
useValgrind, valgrindArgs,
useTclAsSh,
noExecute, debug, isWindows):
noExecute, debug, isWindows,
params):
# The name of the test runner.
self.progname = progname
# The items to add to the PATH environment variable.
@ -29,6 +30,7 @@ class LitConfig:
self.noExecute = noExecute
self.debug = debug
self.isWindows = bool(isWindows)
self.params = dict(params)
self.bashPath = None
self.numErrors = 0

View File

@ -321,6 +321,10 @@ def main():
parser.add_option("", "--config-prefix", dest="configPrefix",
metavar="NAME", help="Prefix for 'lit' config files",
action="store", default=None)
parser.add_option("", "--param", dest="userParameters",
metavar="NAME=VAL",
help="Add 'NAME' = 'VAL' to the user defined parameters",
type=str, action="append", default=[])
group = OptionGroup(parser, "Output Format")
# FIXME: I find these names very confusing, although I like the
@ -396,6 +400,15 @@ def main():
inputs = args
# Create the user defined parameters.
userParams = {}
for entry in opts.userParameters:
if '=' not in entry:
name,val = entry,''
else:
name,val = entry.split('=', 1)
userParams[name] = val
# Create the global config object.
litConfig = LitConfig.LitConfig(progname = os.path.basename(sys.argv[0]),
path = opts.path,
@ -405,7 +418,8 @@ def main():
useTclAsSh = opts.useTclAsSh,
noExecute = opts.noExecute,
debug = opts.debug,
isWindows = (platform.system()=='Windows'))
isWindows = (platform.system()=='Windows'),
params = userParams)
# Load the tests from the inputs.
tests = []