Example #1
0
    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
Example #2
0
 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)