コード例 #1
0
ファイル: compare_test_results.py プロジェクト: bertinia/cime
def compare_history(case, baseline_name, baseline_root, log_id):
###############################################################################
    real_user = case.get_value("REALUSER")
    with EnvironmentContext(USER=real_user):
        baseline_full_dir = os.path.join(baseline_root, baseline_name, case.get_value("CASEBASEID"))

        outfile_suffix = "{}.{}".format(baseline_name, log_id)
        try:
            result, comments = compare_baseline(case, baseline_dir=baseline_full_dir,
                                                outfile_suffix=outfile_suffix)
        except IOError:
            result, comments = compare_baseline(case, baseline_dir=baseline_full_dir,
                                                outfile_suffix=None)

        return result, comments
コード例 #2
0
ファイル: compare_test_results.py プロジェクト: apcraig/cime
def compare_history(case, baseline_name, baseline_root, log_id, compiler):
###############################################################################
    if get_model() == "acme":
        baseline_full_dir = os.path.join(baseline_root, compiler, baseline_name, case.get_value("CASEBASEID"))
    else:
        baseline_full_dir = os.path.join(baseline_root, baseline_name, case.get_value("CASEBASEID"))

    outfile_suffix = "{}.{}".format(baseline_name, log_id)
    try:
        result, comments = compare_baseline(case, baseline_dir=baseline_full_dir,
                                            outfile_suffix=outfile_suffix)
    except IOError:
        result, comments = compare_baseline(case, baseline_dir=baseline_full_dir,
                                            outfile_suffix=None)

    return result, comments
コード例 #3
0
ファイル: bless_test_results.py プロジェクト: bertinia/cime
def bless_history(test_name, test_dir, baseline_name, baseline_root, report_only, force):
###############################################################################
    with Case(test_dir) as case:
        real_user = case.get_value("REALUSER")
        with EnvironmentContext(USER=real_user):
            if baseline_name is None:
                baseline_name = case.get_value("BASELINE_NAME_CMP")
                if not baseline_name:
                    baseline_name = CIME.utils.get_current_branch(repo=CIME.utils.get_cime_root())

            if baseline_root is None:
                baseline_root = case.get_value("BASELINE_ROOT")

            baseline_full_dir = os.path.join(baseline_root, baseline_name, case.get_value("CASEBASEID"))

            cmp_result, cmp_comments = compare_baseline(case, baseline_dir=baseline_full_dir, outfile_suffix=None)
            if cmp_result:
                logger.info("Diff appears to have been already resolved.")
                return True, None
            else:
                logger.info(cmp_comments)
                if (not report_only and
                    (force or six.moves.input("Update this diff (y/n)? ").upper() in ["Y", "YES"])):
                    gen_result, gen_comments = generate_baseline(case, baseline_dir=baseline_full_dir)
                    if not gen_result:
                        logger.warning("Hist file bless FAILED for test {}".format(test_name))
                        return False, "Generate baseline failed: {}".format(gen_comments)
                    else:
                        logger.info(gen_comments)
                        return True, None
                else:
                    return True, None
コード例 #4
0
def compare_history(case, baseline_name, baseline_root, log_id):
###############################################################################
    baseline_full_dir = os.path.join(baseline_root, baseline_name, case.get_value("CASEBASEID"))
    outfile_suffix = "%s.%s" % (baseline_name, log_id)
    result, comments = compare_baseline(case, baseline_dir=baseline_full_dir,
                                        outfile_suffix=outfile_suffix)

    return result, comments
コード例 #5
0
def compare_history(testcase_dir_for_test, baseline_name, baseline_root):
###############################################################################
    with Case(testcase_dir_for_test) as case:
        baseline_full_dir = os.path.join(baseline_root, baseline_name, case.get_value("CASEBASEID"))
        result, comments = compare_baseline(case, baseline_dir=baseline_full_dir)
        if result:
            return True, None
        else:
            logging.info(comments)
            return False, "Diff'd"
コード例 #6
0
ファイル: bless_test_results.py プロジェクト: mnlevy1981/cime
def bless_history(test_name, testcase_dir_for_test, baseline_name, baseline_root, report_only, force):
###############################################################################
    with Case(testcase_dir_for_test) as case:
        baseline_full_dir = os.path.join(baseline_root, baseline_name, case.get_value("CASEBASEID"))
        result, comments = compare_baseline(case, baseline_dir=baseline_full_dir)
        if result:
            return True, None
        else:
            print comments
            if (not report_only and
                (force or raw_input("Update this diff (y/n)? ").upper() in ["Y", "YES"])):
                result, comments = generate_baseline(case, baseline_dir=baseline_full_dir)
                if not result:
                    logging.warning("Hist file bless FAILED for test %s" % test_name)
                    return False, "Generate baseline failed: %s" % comments
                else:
                    print comments
                    return True, None
            else:
                return True, None
コード例 #7
0
ファイル: bless_test_results.py プロジェクト: apcraig/cime
def bless_history(test_name, testcase_dir_for_test, baseline_name, baseline_root, compiler, report_only, force):
###############################################################################
    with Case(testcase_dir_for_test) as case:
        if get_model() == "acme":
            baseline_full_dir = os.path.join(baseline_root, compiler, baseline_name, case.get_value("CASEBASEID"))
        else:
            baseline_full_dir = os.path.join(baseline_root, baseline_name, case.get_value("CASEBASEID"))

        result, comments = compare_baseline(case, baseline_dir=baseline_full_dir, outfile_suffix=None)
        if result:
            return True, None
        else:
            print(comments)
            if (not report_only and
                (force or six.moves.input("Update this diff (y/n)? ").upper() in ["Y", "YES"])):
                result, comments = generate_baseline(case, baseline_dir=baseline_full_dir)
                if not result:
                    logging.warning("Hist file bless FAILED for test {}".format(test_name))
                    return False, "Generate baseline failed: {}".format(comments)
                else:
                    print(comments)
                    return True, None
            else:
                return True, None