Quelle gen_test_packages_manifest.py
Sprache: Python
#!/usr/bin/python # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/.
import json from argparse import ArgumentParser
ALL_HARNESSES = [ "common", # Harnesses without a specific package will look here. "condprof", "mochitest", "reftest", "xpcshell", "cppunittest", "jittest", "mozbase", "web-platform", "talos", "raptor", "awsy", "gtest", "updater-dep", "jsreftest", "perftests", "fuzztest",
]
# These packages are not present for every build configuration.
OPTIONAL_PACKAGES = [ "gtest",
]
def parse_args():
parser = ArgumentParser(
description="Generate a test_packages.json file to tell automation which harnesses " "require which test packages."
)
parser.add_argument( "--common",
required=True,
action="store",
dest="tests_common",
help='Name of the "common" archive, a package to be used by all '"harnesses.",
)
parser.add_argument( "--jsshell",
required=True,
action="store",
dest="jsshell",
help="Name of the jsshell zip.",
) for harness in PACKAGE_SPECIFIED_HARNESSES:
parser.add_argument( "--%s" % harness,
required=True,
action="store",
dest=harness,
help="Name of the %s zip." % harness,
) for harness in OPTIONAL_PACKAGES:
parser.add_argument( "--%s" % harness,
required=False,
action="store",
dest=harness,
help="Name of the %s zip." % harness,
)
parser.add_argument( "--dest-file",
required=True,
action="store",
dest="destfile",
help="Path to the output file to be written.",
) return parser.parse_args()
def generate_package_data(args): # Generate a dictionary mapping test harness names (exactly as they're known to # mozharness and testsuite-targets.mk, ideally) to the set of archive names that # harness depends on to run. # mozharness will use this file to determine what test zips to download, # which will be an optimization once parts of the main zip are split to harness # specific zips.
tests_common = args.tests_common
jsshell = args.jsshell
harness_requirements = dict([(k, [tests_common]) for k in ALL_HARNESSES])
harness_requirements["jittest"].append(jsshell)
harness_requirements["jsreftest"].append(args.reftest)
harness_requirements["common"].append("target.condprof.tests.tar.gz") for harness in PACKAGE_SPECIFIED_HARNESSES + OPTIONAL_PACKAGES:
pkg_name = getattr(args, harness, None) if pkg_name isNone: continue
harness_requirements[harness].append(pkg_name)
harness_requirements[harness].append("target.condprof.tests.tar.gz") return harness_requirements
if __name__ == "__main__":
args = parse_args()
packages_data = generate_package_data(args) with open(args.destfile, "w") as of:
json.dump(packages_data, of, indent=4)
Messung V0.5
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.