- Revision
- 252477
- Author
- [email protected]
- Date
- 2019-11-14 19:14:02 -0800 (Thu, 14 Nov 2019)
Log Message
Python 3: Add support in webkitpy.layout_tests.layout_package
https://bugs.webkit.org/show_bug.cgi?id=204212
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.layout_package.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(convert_trie_to_flat_paths): Use compatible iteritems.
(JSONResultsGenerator._insert_failure_summaries): Use compatible iterkeys.
(JSONResultsGenerator._convert_json_to_current_version): Use compatible iteritems.
(JSONResultsGenerator._convert_tests_to_trie): Use compatible iterkeys.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
(JSONGeneratorTest._verify_json_results): Use items instead of iteritems.
(JSONGeneratorTest.test_test_timings_trie): Python 3's json decoder is sensitive to ordering.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (252476 => 252477)
--- trunk/Tools/ChangeLog 2019-11-15 02:57:26 UTC (rev 252476)
+++ trunk/Tools/ChangeLog 2019-11-15 03:14:02 UTC (rev 252477)
@@ -1,3 +1,20 @@
+2019-11-14 Jonathan Bedard <[email protected]>
+
+ Python 3: Add support in webkitpy.layout_tests.layout_package
+ https://bugs.webkit.org/show_bug.cgi?id=204212
+
+ Reviewed by Stephanie Lewis.
+
+ * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.layout_package.
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+ (convert_trie_to_flat_paths): Use compatible iteritems.
+ (JSONResultsGenerator._insert_failure_summaries): Use compatible iterkeys.
+ (JSONResultsGenerator._convert_json_to_current_version): Use compatible iteritems.
+ (JSONResultsGenerator._convert_tests_to_trie): Use compatible iterkeys.
+ * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
+ (JSONGeneratorTest._verify_json_results): Use items instead of iteritems.
+ (JSONGeneratorTest.test_test_timings_trie): Python 3's json decoder is sensitive to ordering.
+
2019-11-14 Alex Christensen <[email protected]>
Flaky API Test TestWebKitAPI.ServiceWorkers.ThrottleCrash
Modified: trunk/Tools/Scripts/test-webkitpy-python3 (252476 => 252477)
--- trunk/Tools/Scripts/test-webkitpy-python3 2019-11-15 02:57:26 UTC (rev 252476)
+++ trunk/Tools/Scripts/test-webkitpy-python3 2019-11-15 03:14:02 UTC (rev 252477)
@@ -36,6 +36,7 @@
PYTHON3_COMPATIBLE_DIRECTORIES = [
'webkitpy.common',
'webkitpy.layout_tests.controllers',
+ 'webkitpy.layout_tests.layout_package',
'webkitpy.layout_tests.models',
'webkitpy.layout_tests.servers',
'webkitpy.port',
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py (252476 => 252477)
--- trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py 2019-11-15 02:57:26 UTC (rev 252476)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py 2019-11-15 03:14:02 UTC (rev 252477)
@@ -33,6 +33,10 @@
import time
import xml.dom.minidom
+from webkitpy.common.checkout.scm.detection import SCMDetector
+from webkitpy.common.iteration_compatibility import iteritems, iterkeys
+from webkitpy.common.net.file_uploader import FileUploader
+
if sys.version_info > (3, 0):
from urllib.error import HTTPError, URLError
from urllib.parse import quote
@@ -40,9 +44,6 @@
else:
from urllib2 import HTTPError, quote, URLError, urlopen
-from webkitpy.common.checkout.scm.detection import SCMDetector
-from webkitpy.common.net.file_uploader import FileUploader
-
# A JSON results generator for generic tests.
# FIXME: move this code out of the layout_package directory.
@@ -80,7 +81,7 @@
def convert_trie_to_flat_paths(trie, prefix=None):
"""Converts the directory structure in the given trie to flat paths, prepending a prefix to each."""
result = {}
- for name, data in trie.iteritems():
+ for name, data in iteritems(trie):
if prefix:
name = prefix + "/" + name
@@ -522,7 +523,7 @@
# Create a test modifiers (FAILS, FLAKY etc) summary dictionary.
entry = {}
- for test_name in self._test_results_map.iterkeys():
+ for test_name in iterkeys(self._test_results_map):
result_char = self._get_modifier_char(test_name)
entry[result_char] = entry.get(result_char, 0) + 1
@@ -631,7 +632,7 @@
# version 3->4
if archive_version == 3:
num_results = len(results_json.values())
- for builder, results in results_json.iteritems():
+ for builder, results in iteritems(results_json):
self._convert_tests_to_trie(results)
results_json[self.VERSION_KEY] = self.VERSION
@@ -642,7 +643,7 @@
test_results = results[self.TESTS]
test_results_trie = {}
- for test in test_results.iterkeys():
+ for test in iterkeys(test_results):
single_test_result = test_results[test]
add_path_to_trie(test, single_test_result, test_results_trie)
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py (252476 => 252477)
--- trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py 2019-11-15 02:57:26 UTC (rev 252476)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py 2019-11-15 03:14:02 UTC (rev 252477)
@@ -132,7 +132,7 @@
if tests_set or DISABLED_count:
fixable = {}
for fixable_items in buildinfo[JRG.FIXABLE]:
- for (type, count) in fixable_items.iteritems():
+ for (type, count) in fixable_items.items():
if type in fixable:
fixable[type] = fixable[type] + count
else:
@@ -156,7 +156,7 @@
if failed_count_map:
tests = buildinfo[JRG.TESTS]
- for test_name in failed_count_map.iterkeys():
+ for test_name in failed_count_map.keys():
test = self._find_test_in_trie(test_name, tests)
failed = 0
@@ -217,12 +217,12 @@
trie = json_results_generator.test_timings_trie(test_port, individual_test_timings)
expected_trie = {
- 'bar.html': 0,
'foo': {
'bar': {
'baz.html': 1200,
}
- }
+ },
+ 'bar.html': 0,
}
self.assertEqual(json.dumps(trie), json.dumps(expected_trie))