def run(self): """Run tests.""" try: cmd = "{0} run -v {1}:/{2}:z {3} \ /bin/bash -c 'cd {2}; {4}'".format(self.binary, self.vars['project'], self.vars['project_name'], self.vars['image'], self.vars['execute']) except KeyError as e: LOG.error(usage.missing_arg(e.args[0])) sys.exit(2) LOG.info("Running: {}".format(cmd)) res = subprocess.run(cmd, shell=True) success_or_exit(res.returncode) return res
def render_scenario(self): """Render a scenario and save to disk.""" j2_env = j2.Environment(loader=j2.FunctionLoader( self.get_template), trim_blocks=True, undefined=j2.StrictUndefined) j2_env.filters['env_override'] = filters.env_override template = j2_env.get_template(self.scenario_fpath) try: rendered_scenario = template.render(vars=self.vars) except j2.exceptions.UndefinedError as e: LOG.error(e) missing_arg = re.findall( r'no attribute (.*)', e.message)[0].strip("'") LOG.error(usage_exc.missing_arg(missing_arg)) sys.exit(2) self.write_rendered_scenario(rendered_scenario)