From 3573f2213988fdc477d3cbf123981f7397f42cdb Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sun, 25 Aug 2013 14:11:50 +0100 Subject: Add --env option Suggested by Daniel Silverstone --- yarn | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'yarn') diff --git a/yarn b/yarn index 2e02eb3..501d10e 100755 --- a/yarn +++ b/yarn @@ -64,6 +64,11 @@ class YarnRunner(cliapp.Application): 'it should be empty or not exist', metavar='DIR') + self.settings.string_list( + ['env'], + 'add NAME=VALUE to the environment when tests are run', + metavar='NAME=VALUE') + self.settings.boolean( ['snapshot'], 'make snapshots of test working directory ' @@ -340,11 +345,22 @@ class YarnRunner(cliapp.Application): } env = {} + for key in whitelisted: if key in os.environ: env[key] = os.environ[key] + for key in hardcoded: env[key] = hardcoded[key] + + for option_arg in self.settings['env']: + if '=' not in option_arg: + raise cliapp.AppException( + '--env argument must contain "=" ' + 'to separate environment variable name and value') + key, value = option_arg.split('=', 1) + env[key] = value + return env def run_step(self, datadir, scenario, step, shell_prelude, report_error): -- cgit v1.2.1