summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/mach_test_package_commands.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/mach_test_package_commands.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/mach_test_package_commands.py')
-rw-r--r--testing/web-platform/mach_test_package_commands.py79
1 files changed, 79 insertions, 0 deletions
diff --git a/testing/web-platform/mach_test_package_commands.py b/testing/web-platform/mach_test_package_commands.py
new file mode 100644
index 0000000000..99cdf82e63
--- /dev/null
+++ b/testing/web-platform/mach_test_package_commands.py
@@ -0,0 +1,79 @@
+# 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 os
+import sys
+
+from mach.decorators import Command
+from mach_commands_base import WebPlatformTestsRunner, create_parser_wpt
+
+
+class WebPlatformTestsRunnerSetup(object):
+ default_log_type = "tbpl"
+
+ def __init__(self, context):
+ self.context = context
+
+ def kwargs_firefox(self, kwargs):
+ from wptrunner import wptcommandline
+
+ if kwargs["config"] is None:
+ kwargs["config"] = os.path.join(
+ self.context.package_root, "web-platform", "wptrunner.ini"
+ )
+ if kwargs["binary"] is None:
+ kwargs["binary"] = self.context.firefox_bin
+ if kwargs["prefs_root"] is None:
+ kwargs["prefs_root"] = os.path.join(
+ self.context.package_root, "web-platform", "prefs"
+ )
+ if kwargs["certutil_binary"] is None:
+ kwargs["certutil_binary"] = os.path.join(self.context.bin_dir, "certutil")
+ if kwargs["stackfix_dir"] is None:
+ kwargs["stackfix_dir"] = self.context.bin_dir
+ if kwargs["ssl_type"] in (None, "pregenerated"):
+ cert_root = os.path.join(
+ self.context.package_root, "web-platform", "tests", "tools", "certs"
+ )
+ if kwargs["ca_cert_path"] is None:
+ kwargs["ca_cert_path"] = os.path.join(cert_root, "cacert.pem")
+ if kwargs["host_key_path"] is None:
+ kwargs["host_key_path"] = os.path.join(
+ cert_root, "web-platform.test.key"
+ )
+ if kwargs["host_cert_path"] is None:
+ kwargs["host_cert_path"] = os.path.join(
+ cert_root, "web-platform.test.pem"
+ )
+ kwargs["capture_stdio"] = True
+
+ if (
+ kwargs["exclude"] is None
+ and kwargs["include"] is None
+ and not sys.platform.startswith("linux")
+ ):
+ kwargs["exclude"] = ["css"]
+
+ if kwargs["webdriver_binary"] is None:
+ kwargs["webdriver_binary"] = os.path.join(
+ self.context.bin_dir, "geckodriver"
+ )
+
+ return wptcommandline.check_args(kwargs)
+
+ def kwargs_wptrun(self, kwargs):
+ raise NotImplementedError
+
+
+@Command("web-platform-tests", category="testing", parser=create_parser_wpt)
+def run_web_platform_tests(command_context, **kwargs):
+ command_context._mach_context.activate_mozharness_venv()
+ return WebPlatformTestsRunner(
+ WebPlatformTestsRunnerSetup(command_context._mach_context)
+ ).run(**kwargs)
+
+
+@Command("wpt", category="testing", parser=create_parser_wpt)
+def run_wpt(command_context, **params):
+ return command_context.run_web_platform_tests(**params)