Ensure we copy mutable kwargs when constructing browser_args.
Otherwise modifying them affects future calls to browser_kwargs.
diff --git a/tools/wptrunner/wptrunner/browsers/firefox.py b/tools/wptrunner/wptrunner/browsers/firefox.py
index f9395cc..c525926 100644
--- a/tools/wptrunner/wptrunner/browsers/firefox.py
+++ b/tools/wptrunner/wptrunner/browsers/firefox.py
@@ -107,9 +107,9 @@
def browser_kwargs(logger, test_type, run_info_data, config, subsuite, **kwargs):
browser_kwargs = {"binary": kwargs["binary"],
"webdriver_binary": kwargs["webdriver_binary"],
- "webdriver_args": kwargs["webdriver_args"],
+ "webdriver_args": kwargs["webdriver_args"].copy(),
"prefs_root": kwargs["prefs_root"],
- "extra_prefs": kwargs["extra_prefs"],
+ "extra_prefs": kwargs["extra_prefs"].copy(),
"test_type": test_type,
"debug_info": kwargs["debug_info"],
"symbols_path": kwargs["symbols_path"],
@@ -119,7 +119,7 @@
"e10s": kwargs["gecko_e10s"],
"enable_fission": run_info_data["fission"],
"stackfix_dir": kwargs["stackfix_dir"],
- "binary_args": kwargs["binary_args"],
+ "binary_args": kwargs["binary_args"].copy(),
"timeout_multiplier": get_timeout_multiplier(test_type,
run_info_data,
**kwargs),
diff --git a/tools/wptrunner/wptrunner/browsers/firefox_android.py b/tools/wptrunner/wptrunner/browsers/firefox_android.py
index 40a829a..8437dd2 100644
--- a/tools/wptrunner/wptrunner/browsers/firefox_android.py
+++ b/tools/wptrunner/wptrunner/browsers/firefox_android.py
@@ -45,11 +45,11 @@
def browser_kwargs(logger, test_type, run_info_data, config, **kwargs):
return {"adb_binary": kwargs["adb_binary"],
"webdriver_binary": kwargs["webdriver_binary"],
- "webdriver_args": kwargs["webdriver_args"],
+ "webdriver_args": kwargs["webdriver_args"].copy(),
"package_name": kwargs["package_name"],
"device_serial": kwargs["device_serial"],
"prefs_root": kwargs["prefs_root"],
- "extra_prefs": kwargs["extra_prefs"],
+ "extra_prefs": kwargs["extra_prefs"].copy(),
"test_type": test_type,
"debug_info": kwargs["debug_info"],
"symbols_path": kwargs["symbols_path"],
@@ -57,7 +57,7 @@
"certutil_binary": kwargs["certutil_binary"],
"ca_certificate_path": config.ssl_config["ca_cert_path"],
"stackfix_dir": kwargs["stackfix_dir"],
- "binary_args": kwargs["binary_args"],
+ "binary_args": kwargs["binary_args"].copy(),
"timeout_multiplier": get_timeout_multiplier(test_type,
run_info_data,
**kwargs),