Ejemplo n.º 1
0
def define_test_for(context, filename, basename, tests):

    known_failure = False

    mocdp_base = os.path.join(dir_from_package_name("mocdp"), "..", "..")
    outdir = os.path.join(mocdp_base, "out", "mcdp_lang_tests")

    for test in tests:
        n = test.__name__.replace("assert_", "").replace("_ndp", "")
        p_job_id = "%s-%s" % (basename, n)

        if not known_failure:
            p_job = context.comp_config(test_one, test, filename, job_id=p_job_id)
        else:
            context.comp_config(known_fail, test_one, test, filename, job_id=p_job_id)

    if not known_failure:
        if assert_parsable_to_connected_ndp_fn in tests or assert_parsable_to_unconnected_ndp_fn in tests:
            job_id = "%s-%s" % (basename, "report_ndp1")
            r = context.comp_config(test_report_ndp1, filename, outdir, basename, job_id=job_id, extra_dep=[p_job])
            context.add_report(r, "examples_report_ndp1", file=basename)

        if assert_parsable_to_connected_ndp_fn in tests:
            job_id = "%s-%s" % (basename, "report_dp1")
            r = context.comp_config(test_report_dp1, filename, outdir, basename, job_id=job_id, extra_dep=[p_job])
            context.add_report(r, "examples_report_dp1", file=basename)
Ejemplo n.º 2
0
def define_tests(context):
    """ Define other mcdp_lang_tests """
    filenames = []
    folder = dir_from_package_name("mcdp_lang_tests.ok")

    filenames.extend(locate_files(folder, "*.mcdp"))

    context = context.child("examples")
    found = set()

    def get_unique_basename(f):
        orig = os.path.splitext(os.path.basename(f))[0]
        if orig in found:
            for i in range(10):
                bn = "%s_%d" % (orig, i + 1)
                if not bn in found:
                    return bn
            assert False, (orig, found)
        else:
            found.add(orig)
            return orig

    if False:
        folder = os.path.join(dir_from_package_name("mocdp"), "../../libraries")
        examples2 = list(locate_files(folder, "*.mcdp"))
        print("Other files found: %s" % examples2)
        filenames.extend(examples2)
    else:
        examples2 = []

    for f in filenames:

        basename = get_unique_basename(f)
        print("defining %s - %s" % (basename, f))
        if f in examples2:
            contents = open(f).read()
            if "..." in contents:
                tests = [assert_semantic_error_fn]
            else:
                tests = [assert_parsable_to_connected_ndp_fn]
        else:
            tests = get_marked_tests(f)
        define_test_for(context, f, basename, tests)
Ejemplo n.º 3
0
def get_test_librarian():
    package = dir_from_package_name('mcdp_data')
    folder = os.path.join(package, 'libraries')

    if not os.path.exists(folder):
        raise_desc(ValueError, 'Test folders not found.' , folder=folder)

    librarian = Librarian()
    librarian.find_libraries(folder)
    
    libraries = librarian.get_libraries()

    n = len(libraries)
    if n <= 1:
        msg = 'Expected more libraries.'
        raise_desc(ValueError, msg, folder, libraries=libraries)


    return librarian