def _run_robot(extra_args=None): os.environ["ROBOT_SYSLOG_FILE"] = str(atest_output / "syslog.txt") pabot_args = [ sys.executable, "-m", "pabot.pabot", "--pabotlib", "--verbose" ] default_args = [ "--exclude", "Not-Implemented", "--loglevel", "DEBUG", "--report", "NONE", "--log", "NONE", "--outputdir", str(atest_output), ] if platform.platform().startswith("Windows"): default_args.extend(["--exclude", "No-Windows-Support"]) default_args.append("atest/test") process = subprocess.Popen(pabot_args + (extra_args or []) + default_args) process.wait(600) output_xml = str(atest_output / "output.xml") print(f"Process {output_xml}") robotstatuschecker.process_output(output_xml, verbose=False) rebot_cli(["--outputdir", str(atest_output), output_xml]) print("DONE")
def combine_reports(output_dir=None, non_critical=None): '''combine all report files that can be found''' from robot import rebot_cli if non_critical is None: non_critical = [] if output_dir is None: output_dir = os.path.join(ROOT, 'test', 'robot', '_output') result_file_pattern = os.path.join(output_dir, '*_results.xml') result_file_pattern_sub_folders = os.path.join(output_dir, '**', '*_results.xml') arguments = [ '--name=Combined', '--outputdir=%s' % output_dir, '--output=output.xml', '--loglevel=INFO', '--removekeywords=WUKS' ] if len(non_critical): arguments.append('--noncritical=%s' % ' '.join(non_critical)) if glob.glob(result_file_pattern): arguments.append(result_file_pattern) if glob.glob(result_file_pattern_sub_folders): arguments.append(result_file_pattern_sub_folders) rebot_cli(arguments)
def process_output(browser, cli_options): print('Verifying results...') output = os.path.join(env.RESULTS_DIR, 'output.xml') robotstatuschecker.process_output(output, verbose=False) options = [opt.format(browser=browser) for opt in REBOT_OPTIONS] try: rebot_cli(options + cli_options + [output]) except SystemExit as exit: return exit.code
def process_output(browser): print('Verifying results...') options = [] output = os.path.join(RESULTS_DIR, 'output.xml') robotstatuschecker.process_output(output, verbose=False) options.extend([opt.format(browser=browser) for opt in REBOT_OPTIONS]) try: rebot_cli(options + [output]) except SystemExit as exit: return exit.code
def runTask(self, rowid, procsCount, lock): tasks = TasksDB(self.args.outputdir) suite = tasks.getTask(rowid) print(str(os.getpid()) + '|Running suite ' + suite + ' .....') with lock: procsCount.value += 1 if suite == 'rebot': runArgs = ['-R','-d',self.args.outputdir,self.args.outputdir+'/*.xml'] robot.rebot_cli(runArgs, exit=False) else: runArgs = self.robotArgs + ['-l','NONE','-r','NONE','-s',suite,'-o',suite+'.xml',self.args.main_suite] robot.run_cli(runArgs, exit=False) tasks.finishTask(rowid) tasks.printTableData() with lock: procsCount.value -= 1
def atest(ctx, zip=None): """Runs Robot Framework acceptance tests.""" args = [ "robot", "--exitonerror", "--nostatusrc", "--pythonpath", ".", "--loglevel", "TRACE", "--report", "NONE", "--log", "NONE", "--outputdir", str(ATEST_OUTPUT), str(ATEST), ] ctx.run(" ".join(args)) output_xml = str(ATEST_OUTPUT / "output.xml") print(f"Check: {output_xml}") robotstatuschecker.process_output(output_xml, verbose=False) print("Generate report and log files.") rebot_exit = False if zip else True rc = rebot_cli(["--outputdir", str(ATEST_OUTPUT), output_xml], exit=False) if zip: print(f"Zip file created to: {_create_zip()}") print("DONE") raise Exit(rc)
def _run_pabot(extra_args=None, include_mac=False): os.environ["ROBOT_SYSLOG_FILE"] = str(ATEST_OUTPUT / "syslog.txt") pabot_args = [ sys.executable, "-m", "pabot.pabot", "--pabotlib", "--pabotlibport", "0", "--processes", EXECUTOR_COUNT, "--artifacts", "png,webm,zip", "--artifactsinsubfolders", ] default_args = [ "--xunit", "robot_xunit.xml", "--exclude", "not-implemented", "--loglevel", "DEBUG", "--report", "NONE", "--log", "NONE", "--outputdir", str(ATEST_OUTPUT), ] default_args = _add_skips(default_args, include_mac) default_args.append("atest/test") process = subprocess.Popen(pabot_args + (extra_args or []) + default_args, env=os.environ) process.wait(ATEST_TIMEOUT) output_xml = str(ATEST_OUTPUT / "output.xml") print(f"Process {output_xml}") robotstatuschecker.process_output(output_xml, verbose=False) rc = rebot_cli(["--outputdir", str(ATEST_OUTPUT), output_xml], exit=False) print(f"DONE rc=({rc})") return rc
def atest_robot(c, zip=None): """Run atest with Robot Framework Arguments: zip: Create zip file from output files. """ os.environ["ROBOT_SYSLOG_FILE"] = str(ATEST_OUTPUT / "syslog.txt") command_args = [ sys.executable, "-m", "robot", "--exclude", "not-implemented", "--loglevel", "DEBUG", "--report", "NONE", "--log", "NONE", "--xunit", "robot_xunit.xml", "--outputdir", str(ATEST_OUTPUT), ] command_args = _add_skips(command_args) command_args.append("atest/test") env = os.environ.copy() process = subprocess.Popen(command_args, env=env) process.wait(ATEST_TIMEOUT) output_xml = str(ATEST_OUTPUT / "output.xml") print(f"Process {output_xml}") robotstatuschecker.process_output(output_xml, verbose=False) rc = rebot_cli(["--outputdir", str(ATEST_OUTPUT), output_xml], exit=False) if zip: _clean_zip_dir() print(f"Zip file created to: {_create_zip(rc)}") _clean_pabot_results(rc) print(f"DONE rc=({rc})") sys.exit(rc)
def _run_pabot(extra_args=None, exit=True): os.environ["ROBOT_SYSLOG_FILE"] = str(ATEST_OUTPUT / "syslog.txt") pabot_args = [ sys.executable, "-m", "pabot.pabot", "--pabotlib", "--pabotlibport", "0", "--artifacts", "png,webm,zip", "--artifactsinsubfolders", ] default_args = [ "--exclude", "Not-Implemented", "--loglevel", "DEBUG", "--report", "NONE", "--log", "NONE", "--outputdir", str(ATEST_OUTPUT), ] if platform.platform().startswith("Windows"): default_args.extend(["--exclude", "No-Windows-Support"]) default_args.append("atest/test") process = subprocess.Popen(pabot_args + (extra_args or []) + default_args) process.wait(600) output_xml = str(ATEST_OUTPUT / "output.xml") print(f"Process {output_xml}") robotstatuschecker.process_output(output_xml, verbose=False) rc = rebot_cli(["--outputdir", str(ATEST_OUTPUT), output_xml], exit=exit) print("DONE") return rc
def test_rebot_cli_optionally_returns_rc(self): rc = rebot_cli(['-d', TEMP, self.data], exit=False) assert_equal(rc, 1)
def rebot(): rebot_cli(sys.argv[1:])
def test_rebot_cli_optionally_returns_rc(self): rc = rebot_cli([self.data], exit=False) assert_equal(rc, 1)