예제 #1
0
def get_loader(test_paths,
               product,
               debug=None,
               run_info_extras=None,
               chunker_kwargs=None,
               test_groups=None,
               **kwargs):
    if run_info_extras is None:
        run_info_extras = {}

    run_info = wpttest.get_run_info(
        kwargs["run_info"],
        product,
        browser_version=kwargs.get("browser_version"),
        browser_channel=kwargs.get("browser_channel"),
        verify=kwargs.get("verify"),
        debug=debug,
        extras=run_info_extras,
        enable_webrender=kwargs.get("enable_webrender"))

    test_manifests = testloader.ManifestLoader(
        test_paths,
        force_manifest_update=kwargs["manifest_update"],
        manifest_download=kwargs["manifest_download"]).load()

    manifest_filters = []

    include = kwargs["include"]
    if kwargs["include_file"]:
        include.extend(
            testloader.read_include_from_file(kwargs["include_file"]))
    if test_groups:
        include = testloader.update_include_for_groups(test_groups, include)

    if include or kwargs["exclude"] or kwargs["include_manifest"] or kwargs[
            "default_exclude"]:
        manifest_filters.append(
            testloader.TestFilter(include=include,
                                  exclude=kwargs["exclude"],
                                  manifest_path=kwargs["include_manifest"],
                                  test_manifests=test_manifests,
                                  explicit=kwargs["default_exclude"]))

    ssl_enabled = sslutils.get_cls(kwargs["ssl_type"]).ssl_enabled
    h2_enabled = wptserve.utils.http2_compatible()
    test_loader = testloader.TestLoader(
        test_manifests,
        kwargs["test_types"],
        run_info,
        manifest_filters=manifest_filters,
        chunk_type=kwargs["chunk_type"],
        total_chunks=kwargs["total_chunks"],
        chunk_number=kwargs["this_chunk"],
        include_https=ssl_enabled,
        include_h2=h2_enabled,
        include_quic=kwargs["enable_quic"],
        skip_timeout=kwargs["skip_timeout"],
        skip_implementation_status=kwargs["skip_implementation_status"],
        chunker_kwargs=chunker_kwargs)
    return run_info, test_loader
예제 #2
0
def get_loader(test_paths, product, debug=None, run_info_extras=None, **kwargs):
    if run_info_extras is None:
        run_info_extras = {}

    run_info = wpttest.get_run_info(kwargs["run_info"], product,
                                    browser_version=kwargs.get("browser_version"),
                                    browser_channel=kwargs.get("browser_channel"),
                                    verify=kwargs.get("verify"),
                                    debug=debug,
                                    extras=run_info_extras)

    test_manifests = testloader.ManifestLoader(test_paths, force_manifest_update=kwargs["manifest_update"],
                                               manifest_download=kwargs["manifest_download"]).load()

    manifest_filters = []

    if kwargs["include"] or kwargs["exclude"] or kwargs["include_manifest"] or kwargs["default_exclude"]:
        manifest_filters.append(testloader.TestFilter(include=kwargs["include"],
                                                      exclude=kwargs["exclude"],
                                                      manifest_path=kwargs["include_manifest"],
                                                      test_manifests=test_manifests,
                                                      explicit=kwargs["default_exclude"]))

    ssl_enabled = sslutils.get_cls(kwargs["ssl_type"]).ssl_enabled
    test_loader = testloader.TestLoader(test_manifests,
                                        kwargs["test_types"],
                                        run_info,
                                        manifest_filters=manifest_filters,
                                        chunk_type=kwargs["chunk_type"],
                                        total_chunks=kwargs["total_chunks"],
                                        chunk_number=kwargs["this_chunk"],
                                        include_https=ssl_enabled,
                                        skip_timeout=kwargs["skip_timeout"])
    return run_info, test_loader
예제 #3
0
def get_loader(test_paths, product, debug=None, run_info_extras=None, **kwargs):
    if run_info_extras is None:
        run_info_extras = {}

    run_info = wpttest.get_run_info(kwargs["run_info"], product,
                                    browser_version=kwargs.get("browser_version"),
                                    debug=debug,
                                    extras=run_info_extras)

    test_manifests = testloader.ManifestLoader(test_paths, force_manifest_update=kwargs["manifest_update"],
                                               manifest_download=kwargs["manifest_download"]).load()

    manifest_filters = []
    meta_filters = []

    if kwargs["include"] or kwargs["exclude"] or kwargs["include_manifest"]:
        manifest_filters.append(testloader.TestFilter(include=kwargs["include"],
                                                      exclude=kwargs["exclude"],
                                                      manifest_path=kwargs["include_manifest"],
                                                      test_manifests=test_manifests))
    if kwargs["tags"]:
        meta_filters.append(testloader.TagFilter(tags=kwargs["tags"]))

    ssl_enabled = sslutils.get_cls(kwargs["ssl_type"]).ssl_enabled
    test_loader = testloader.TestLoader(test_manifests,
                                        kwargs["test_types"],
                                        run_info,
                                        manifest_filters=manifest_filters,
                                        meta_filters=meta_filters,
                                        chunk_type=kwargs["chunk_type"],
                                        total_chunks=kwargs["total_chunks"],
                                        chunk_number=kwargs["this_chunk"],
                                        include_https=ssl_enabled,
                                        skip_timeout=kwargs["skip_timeout"])
    return run_info, test_loader