diff options
Diffstat (limited to 'yarn')
-rwxr-xr-x | yarn | 50 |
1 files changed, 30 insertions, 20 deletions
@@ -235,34 +235,24 @@ class YarnRunner(cliapp.Application): return scenarios def run_scenario(self, scenario_runner, scenario): - self.start_scenario_timing(scenario.name) - started = time.time() - - self.info('Running scenario %s' % scenario.name) - self.ts['scenario_name'] = scenario.name - self.scenarios_run += 1 - - if self.settings['no-act']: - self.info('Pretending everything went OK') - for step in scenario.steps: - self.ts['current_step'] = step - self.remember_scenario_timing(time.time() - started) - return True - os.mkdir(self.scenario_dir(self.tempdir, scenario)) datadir = self.datadir(self.tempdir, scenario) os.mkdir(datadir) - self.info('DATADIR is %s' % datadir) homedir = self.homedir(datadir) os.mkdir(homedir) - self.info('HOME for tests is %s' % homedir) - ok = scenario_runner.run_scenario(scenario, datadir, homedir) + ud = self.pre_scenario(scenario, datadir, homedir) + + if self.settings['no-act']: + self.info('Pretending everything went OK') + for step in scenario.steps: + self.ts['current_step'] = step + ok = True + else: + ok = scenario_runner.run_scenario(scenario, datadir, homedir) - self.remember_scenario_timing(time.time() - started) + self.post_scenario(scenario, datadir, homedir, ud) - if not self.settings['snapshot']: - shutil.rmtree(datadir, ignore_errors=True) return ok def homedir(self, datadir): @@ -277,6 +267,26 @@ class YarnRunner(cliapp.Application): key, value = option_arg.split('=', 1) yield key, value + def pre_scenario(self, scenario, datadir, homedir): + self.start_scenario_timing(scenario.name) + started = time.time() + + self.info('Running scenario %s' % scenario.name) + self.ts['scenario_name'] = scenario.name + self.scenarios_run += 1 + self.info('DATADIR is %s' % datadir) + self.info('HOME for tests is %s' % homedir) + return (started,) + + def post_scenario(self, scenario, datadir, homedir, pre_scenario_userdata): + stopped = time.time() + started, = pre_scenario_userdata + + self.remember_scenario_timing(stopped - started) + + if not self.settings['snapshot']: + shutil.rmtree(datadir, ignore_errors=True) + def pre_step(self, step, **ignored): started = time.time() |