summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/tools/wpt/update.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /testing/web-platform/tests/tools/wpt/update.py
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/tools/wpt/update.py')
-rw-r--r--testing/web-platform/tests/tools/wpt/update.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/testing/web-platform/tests/tools/wpt/update.py b/testing/web-platform/tests/tools/wpt/update.py
new file mode 100644
index 0000000000..41faeac54f
--- /dev/null
+++ b/testing/web-platform/tests/tools/wpt/update.py
@@ -0,0 +1,56 @@
+# mypy: allow-untyped-defs
+
+import os
+import sys
+
+from mozlog import commandline
+
+wpt_root = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))
+sys.path.insert(0, os.path.abspath(os.path.join(wpt_root, "tools")))
+
+
+def manifest_update(test_paths):
+ from manifest import manifest # type: ignore
+ for url_base, paths in test_paths.items():
+ manifest.load_and_update(
+ paths["tests_path"],
+ paths["manifest_path"],
+ url_base)
+
+
+def create_parser_update():
+ from wptrunner import wptcommandline
+
+ return wptcommandline.create_parser_metadata_update()
+
+
+def update_expectations(_, **kwargs):
+ from wptrunner import metadata, wptcommandline
+
+ commandline.setup_logging("web-platform-tests",
+ kwargs,
+ {"mach": sys.stdout},
+ formatter_defaults=None)
+
+ if not kwargs["tests_root"]:
+ kwargs["tests_root"] = wpt_root
+
+ # This matches the manifest path we end up using in `wpt run`
+ if not kwargs["manifest_path"]:
+ kwargs["manifest_path"] = os.path.join(wpt_root, "MANIFEST.json")
+
+ kwargs = wptcommandline.check_args_metadata_update(kwargs)
+
+ update_properties = metadata.get_properties(properties_file=kwargs["properties_file"],
+ extra_properties=kwargs["extra_property"],
+ config=kwargs["config"],
+ product=kwargs["product"])
+
+ manifest_update(kwargs["test_paths"])
+ metadata.update_expected(kwargs["test_paths"],
+ kwargs["run_log"],
+ update_properties=update_properties,
+ full_update=False,
+ disable_intermittent=kwargs["update_intermittent"],
+ update_intermittent=kwargs["update_intermittent"],
+ remove_intermittent=kwargs["update_intermittent"])