Commit 01e941b9 authored by Jan Kiene's avatar Jan Kiene
Browse files

add stage that checks for introduced/fixed crashes

parent 9a475a93
Loading
Loading
Loading
Loading
+56 −27
Original line number Diff line number Diff line
@@ -54,8 +54,37 @@ def main(args):
    # remove leading path from testcase names for better readability
    df_merged["testcase"] = [pathlib.Path(tc).name for tc in df_merged["testcase"]]

    # this is for printing the whole testcase names
    pd.options.display.max_colwidth = 200
    regressions_found = False

    # check for newly introduced crashes
    col_curr = "Result-curr"
    col_prev = "Result-prev"
    mask_crash_introduced = (df_merged[col_curr] == "ERROR") & (
        df_merged[col_prev] != "ERROR"
    )
    mask_crash_fixed = (df_merged[col_curr] != "ERROR") & (
        df_merged[col_prev] == "ERROR"
    )

    display_cols = ["testcase", col_curr, col_prev]
    if sum(mask_crash_introduced) > 0:
        regressions_found = True
        print("---------------Testcases that introduced new crashes---------------")
        print(df_merged[mask_crash_introduced][display_cols].reset_index(drop=True))
        print()

    if sum(mask_crash_fixed) > 0:
        print("---------------Testcases that fixed crashes---------------")
        print(df_merged[mask_crash_fixed][display_cols].reset_index(drop=True))
        print()

    # remove columns with ERRORs in any of the csv files before comparing the numerical columns
    mask_no_errors = (df_merged[col_curr] != "ERROR") & (df_merged[col_prev] != "ERROR")
    df_merged = df_merged[mask_no_errors].reset_index(drop=True)

    # check numeric columns and compare diff to thresholds
    for col in args.columns_to_compare:
        col_curr = f"{col}-curr"
        col_prev = f"{col}-prev"