Parse --chaos argument as hex
Differential Revision: https://phabricator.services.mozilla.com/D162407
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1670824
gecko-commit: 9ed95ae6403a80ff53babba936344ab59818cb07
gecko-reviewers: mccr8
diff --git a/tools/wptrunner/wptrunner/browsers/firefox.py b/tools/wptrunner/wptrunner/browsers/firefox.py
index 36ab48a..3e005ef 100644
--- a/tools/wptrunner/wptrunner/browsers/firefox.py
+++ b/tools/wptrunner/wptrunner/browsers/firefox.py
@@ -251,7 +251,7 @@
# Disable window occlusion. Bug 1733955
env["MOZ_WINDOW_OCCLUSION"] = "0"
if chaos_mode_flags is not None:
- env["MOZ_CHAOSMODE"] = str(chaos_mode_flags)
+ env["MOZ_CHAOSMODE"] = hex(chaos_mode_flags)
if headless:
env["MOZ_HEADLESS"] = "1"
return env
diff --git a/tools/wptrunner/wptrunner/browsers/firefox_android.py b/tools/wptrunner/wptrunner/browsers/firefox_android.py
index a909e04..6e41854 100644
--- a/tools/wptrunner/wptrunner/browsers/firefox_android.py
+++ b/tools/wptrunner/wptrunner/browsers/firefox_android.py
@@ -106,7 +106,7 @@
env["MOZ_DISABLE_NONLOCAL_CONNECTIONS"] = "1"
env["STYLO_THREADS"] = str(stylo_threads)
if chaos_mode_flags is not None:
- env["MOZ_CHAOSMODE"] = str(chaos_mode_flags)
+ env["MOZ_CHAOSMODE"] = hex(chaos_mode_flags)
return env
diff --git a/tools/wptrunner/wptrunner/wptcommandline.py b/tools/wptrunner/wptrunner/wptcommandline.py
index 22ce801..eec0130 100644
--- a/tools/wptrunner/wptrunner/wptcommandline.py
+++ b/tools/wptrunner/wptrunner/wptcommandline.py
@@ -333,7 +333,7 @@
choices=["always", "fail", "unexpected"], default=None,
help="With --reftest-internal, when to take a screenshot")
gecko_group.add_argument("--chaos", dest="chaos_mode_flags", action="store",
- nargs="?", const=0xFFFFFFFF, type=int,
+ nargs="?", const=0xFFFFFFFF, type=lambda x: int(x, 16),
help="Enable chaos mode with the specified feature flag "
"(see http://searchfox.org/mozilla-central/source/mfbt/ChaosMode.h for "
"details). If no value is supplied, all features are activated")