Use six.iteritems to iterate over dictionary's items in tools
This corresponds to dictionary.iteritems() on Python 2 and
dictionary.items() on Python 3.
diff --git a/tools/manifest/manifest.py b/tools/manifest/manifest.py
index 599015d..74d8020 100644
--- a/tools/manifest/manifest.py
+++ b/tools/manifest/manifest.py
@@ -141,7 +141,7 @@
tpath_len = len(tpath)
for type_tests in self._data.values():
- for path, tests in type_tests.iteritems():
+ for path, tests in iteritems(type_tests):
if path[:tpath_len] == tpath:
for test in tests:
yield test
diff --git a/tools/runner/report.py b/tools/runner/report.py
index 5eb8d67..e9986fd 100644
--- a/tools/runner/report.py
+++ b/tools/runner/report.py
@@ -5,10 +5,11 @@
import argparse
import json
import sys
+import types
+
from cgi import escape
from collections import defaultdict
-
-import types
+from six import iteritems
def html_escape(item, escape_quote=False):
@@ -44,7 +45,7 @@
attrs_unicode = " " + " ".join("%s=\"%s\"" % (html_escape(key),
html_escape(value,
escape_quote=True))
- for key, value in self.attrs.iteritems())
+ for key, value in iteritems(self.attrs))
else:
attrs_unicode = ""
return "<%s%s>%s</%s>\n" % (self.name,
@@ -157,7 +158,7 @@
def all_tests(data):
tests = defaultdict(set)
- for UA, results in data.iteritems():
+ for UA, results in iteritems(data):
for result in results["results"]:
id = test_id(result["test"])
tests[id] |= {subtest["name"] for subtest in result["subtests"]}
@@ -185,7 +186,7 @@
results_by_test = defaultdict(result)
- for UA, results in data.iteritems():
+ for UA, results in iteritems(data):
for test_data in results["results"]:
id = test_id(test_data["test"])
result = results_by_test[id]
@@ -230,10 +231,10 @@
def summary(UAs, results_by_test):
"""Render the implementation report summary"""
not_passing = []
- for test, results in results_by_test.iteritems():
+ for test, results in iteritems(results_by_test):
if not any(item[0] in ("PASS", "OK") for item in results["harness"].values()):
not_passing.append((test, None))
- for subtest_name, subtest_results in results["subtests"].iteritems():
+ for subtest_name, subtest_results in iteritems(results["subtests"]):
if not any(item[0] == "PASS" for item in subtest_results.values()):
not_passing.append((test, subtest_name))
if not_passing:
@@ -260,7 +261,7 @@
class_="test"
)
- for name, subtest_result in sorted(result["subtests"].iteritems()):
+ for name, subtest_result in sorted(iteritems(result["subtests"])):
yield h.tr(
h.td(name),
[status_cell(status, message)
@@ -271,7 +272,7 @@
def result_bodies(UAs, results_by_test):
return [h.tbody(result_rows(UAs, test, result))
- for test, result in sorted(results_by_test.iteritems())]
+ for test, result in sorted(iteritems(results_by_test))]
def generate_html(UAs, results_by_test):
diff --git a/tools/wptrunner/test/test.py b/tools/wptrunner/test/test.py
index 0e3b30c..42e7abb 100644
--- a/tools/wptrunner/test/test.py
+++ b/tools/wptrunner/test/test.py
@@ -6,6 +6,7 @@
from mozlog import structuredlog
from mozlog.handlers import BaseHandler, StreamHandler
from mozlog.formatters import MachFormatter
+from six import iteritems
from six.moves.configparser import ConfigParser
from wptrunner import wptcommandline, wptrunner
@@ -83,7 +84,7 @@
def settings_to_argv(settings):
rv = []
- for name, value in settings.iteritems():
+ for name, value in iteritems(settings):
key = "--%s" % name
if not value:
rv.append(key)
@@ -109,7 +110,7 @@
logger.suite_start(tests=[])
- for product, product_settings in config["products"].iteritems():
+ for product, product_settings in iteritems(config["products"]):
if args.product and product not in args.product:
continue
diff --git a/tools/wptrunner/wptrunner/executors/executormarionette.py b/tools/wptrunner/wptrunner/executors/executormarionette.py
index 7f576e6..4739d09 100644
--- a/tools/wptrunner/wptrunner/executors/executormarionette.py
+++ b/tools/wptrunner/wptrunner/executors/executormarionette.py
@@ -5,6 +5,7 @@
import traceback
import uuid
+from six import iteritems
from six.moves.urllib.parse import urljoin
errors = None
@@ -608,7 +609,7 @@
else:
self.prefs.set(name, value)
- for name, value in new_environment.get("prefs", {}).iteritems():
+ for name, value in iteritems(new_environment.get("prefs", {})):
self.executor.original_pref_values[name] = self.prefs.get(name)
self.prefs.set(name, value)
@@ -893,7 +894,8 @@
data = {"screenshot": screenshot}
if self.executor.group_metadata is not None:
data["urlCount"] = {urljoin(self.executor.server_url(key[0]), key[1]):value
- for key, value in self.executor.group_metadata.get("url_count", {}).iteritems()
+ for key, value in iteritems(
+ self.executor.group_metadata.get("url_count", {}))
if value > 1}
self.executor.protocol.marionette.set_context(self.executor.protocol.marionette.CONTEXT_CHROME)
self.executor.protocol.marionette._send_message("reftest:setup", data)
diff --git a/tools/wptrunner/wptrunner/metadata.py b/tools/wptrunner/wptrunner/metadata.py
index 1f815f7..73b6de9 100644
--- a/tools/wptrunner/wptrunner/metadata.py
+++ b/tools/wptrunner/wptrunner/metadata.py
@@ -128,7 +128,7 @@
files_changed = set(files_changed)
root_manifest = None
- for manifest, paths in manifests.iteritems():
+ for manifest, paths in iteritems(manifests):
if paths["url_base"] == "/":
root_manifest = manifest
break
@@ -258,7 +258,7 @@
manifests = manifest_loader.load()
id_test_map = {}
- for test_manifest, paths in manifests.iteritems():
+ for test_manifest, paths in iteritems(manifests):
id_test_map.update(create_test_tree(paths["metadata_path"],
test_manifest))
return id_test_map
diff --git a/tools/wptrunner/wptrunner/wpttest.py b/tools/wptrunner/wptrunner/wpttest.py
index 2f24bed..e8c2674 100644
--- a/tools/wptrunner/wptrunner/wpttest.py
+++ b/tools/wptrunner/wptrunner/wpttest.py
@@ -2,7 +2,7 @@
import subprocess
from six.moves.urllib.parse import urljoin
from collections import defaultdict
-from six import string_types
+from six import iteritems, string_types
from .wptmanifest.parser import atoms
@@ -291,7 +291,7 @@
rv = {}
for meta in self.itermeta(None):
threshold = meta.leak_threshold
- for key, value in threshold.iteritems():
+ for key, value in iteritems(threshold):
if key not in rv:
rv[key] = value
return rv