Example #1
0
def _run_command(context, command):
    context.log = "_%s_.log" % context.project

    sonarhome = os.environ.get("SONARHOME", None)
    if sonarhome:
        context.serverlog = get_sonar_log_path(sonarhome)
        if getattr(context, "serverlogfd", None) is not None:
            context.serverlogfd.close()
        context.serverlogfd = open(context.serverlog, "r")
        context.serverlogfd.seek(0, 2)
    else:
        context.serverlogfd = None

    projecthome = os.path.join(TESTDATADIR, context.project)

    with open(context.log, "w") as logfile:
        proc = subprocess.Popen(command,
                                shell=True,
                                cwd=projecthome,
                                stdout=logfile,
                                stderr=subprocess.STDOUT)
        proc.communicate()

    # print log file result for debugging
    #if proc.returncode != 0:
    #    with open(context.log, "r") as log:
    #        print(RED + log.read() + RESET_ALL)

    context.rc = proc.returncode
Example #2
0
def cleanup_logs(sonarhome):
    sys.stdout.write(INDENT + "cleaning logs ... ")
    sys.stdout.flush()
    try:
        os.remove(get_sonar_log_path(sonarhome))
    except OSError:
        pass
    sys.stdout.write(GREEN + "OK\n" + RESET)
Example #3
0
def cleanup_logs(sonarhome):
    sys.stdout.write(INDENT + "cleaning logs ... ")
    sys.stdout.flush()
    try:
        os.remove(get_sonar_log_path(sonarhome))
    except OSError:
        pass
    sys.stdout.write(GREEN + "OK\n" + RESET)
Example #4
0
def check_logs(sonarhome):
    sys.stdout.write(INDENT + "logs check ... ")
    sys.stdout.flush()
    badlines, errors, warnings = analyse_log(get_sonar_log_path(sonarhome))

    reslabel = GREEN + "OK\n"
    if errors > 0 or (errors == 0 and warnings == 0 and len(badlines) > 0):
        reslabel = RED + "FAILED\n"
    elif warnings > 0:
        reslabel = YELLOW + "WARNINGS\n"

    sys.stdout.write(reslabel + RESET)

    if badlines:
        for line in badlines:
            sys.stdout.write(2 * INDENT + line)

    summary_msg = "%i errors and %i warnings\n" % (errors, warnings)

    print(2 * INDENT + len(summary_msg) * "-")
    print(2 * INDENT + summary_msg)
    return errors == 0
Example #5
0
def check_logs(sonarhome):
    sys.stdout.write(INDENT + "logs check ... ")
    sys.stdout.flush()
    badlines, errors, warnings = analyse_log(get_sonar_log_path(sonarhome))

    reslabel = GREEN + "OK\n"
    if errors > 0 or (errors == 0 and warnings == 0 and len(badlines) > 0):
        reslabel = RED + "FAILED\n"
    elif warnings > 0:
        reslabel = YELLOW + "WARNINGS\n"

    sys.stdout.write(reslabel + RESET)

    if badlines:
        for line in badlines:
            sys.stdout.write(2*INDENT + line)

    summary_msg = "%i errors and %i warnings\n" % (errors, warnings)

    print(2*INDENT + len(summary_msg) * "-")
    print(2*INDENT + summary_msg)
    return errors == 0