Example #1
0
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")
Example #2
0
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)
Example #3
0
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
Example #4
0
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
Example #5
0
 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
Example #6
0
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)
Example #7
0
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
Example #8
0
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)
Example #11
0
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)