Title: [281958] trunk/Tools
Revision
281958
Author
clo...@igalia.com
Date
2021-09-02 15:09:41 -0700 (Thu, 02 Sep 2021)

Log Message

[run-perf-tests] Add support for python3 and use it by default
https://bugs.webkit.org/show_bug.cgi?id=229783

Reviewed by Jonathan Bedard.

Make the script compatible with python3 and set it to use python3
by default. The script is still compatible with python2.

* CISupport/build-webkit-org/steps.py:
(RunAndUploadPerfTests):
* Scripts/run-perf-tests:
* Scripts/webkitpy/common/net/file_uploader.py:
(FileUploader._upload_data.callback):
(FileUploader):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.test_upload_json):

Modified Paths

Diff

Modified: trunk/Tools/CISupport/build-webkit-org/steps.py (281957 => 281958)


--- trunk/Tools/CISupport/build-webkit-org/steps.py	2021-09-02 22:00:58 UTC (rev 281957)
+++ trunk/Tools/CISupport/build-webkit-org/steps.py	2021-09-02 22:09:41 UTC (rev 281958)
@@ -1024,7 +1024,7 @@
     name = "perf-test"
     description = ["perf-tests running"]
     descriptionDone = ["perf-tests"]
-    command = ["python", "./Tools/Scripts/run-perf-tests",
+    command = ["python3", "./Tools/Scripts/run-perf-tests",
                "--output-json-path", "perf-test-results.json",
                "--worker-config-json-path", "../../perf-test-config.json",
                "--no-show-results",

Modified: trunk/Tools/ChangeLog (281957 => 281958)


--- trunk/Tools/ChangeLog	2021-09-02 22:00:58 UTC (rev 281957)
+++ trunk/Tools/ChangeLog	2021-09-02 22:09:41 UTC (rev 281958)
@@ -1,3 +1,23 @@
+2021-09-02  Carlos Alberto Lopez Perez  <clo...@igalia.com>
+
+        [run-perf-tests] Add support for python3 and use it by default
+        https://bugs.webkit.org/show_bug.cgi?id=229783
+
+        Reviewed by Jonathan Bedard.
+
+        Make the script compatible with python3 and set it to use python3
+        by default. The script is still compatible with python2.
+
+        * CISupport/build-webkit-org/steps.py:
+        (RunAndUploadPerfTests):
+        * Scripts/run-perf-tests:
+        * Scripts/webkitpy/common/net/file_uploader.py:
+        (FileUploader._upload_data.callback):
+        (FileUploader):
+        * Scripts/webkitpy/performance_tests/perftestsrunner.py:
+        * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
+        (MainTest.test_upload_json):
+
 2021-09-02  Jonathan Bedard  <jbed...@apple.com>
 
         [contributors.json] Relocation (Part 6)

Modified: trunk/Tools/Scripts/run-perf-tests (281957 => 281958)


--- trunk/Tools/Scripts/run-perf-tests	2021-09-02 22:00:58 UTC (rev 281957)
+++ trunk/Tools/Scripts/run-perf-tests	2021-09-02 22:09:41 UTC (rev 281958)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # Copyright (C) 2012 Google Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without

Modified: trunk/Tools/Scripts/webkitpy/common/net/file_uploader.py (281957 => 281958)


--- trunk/Tools/Scripts/webkitpy/common/net/file_uploader.py	2021-09-02 22:00:58 UTC (rev 281957)
+++ trunk/Tools/Scripts/webkitpy/common/net/file_uploader.py	2021-09-02 22:09:41 UTC (rev 281958)
@@ -31,6 +31,7 @@
 import sys
 
 from webkitpy.common.net.networktransaction import NetworkTransaction, NetworkTimeout
+from webkitcorepy import string_utils, unicode
 
 if sys.version_info > (3, 0):
     from urllib.request import Request, urlopen
@@ -105,7 +106,7 @@
             # FIXME: Setting a timeout, either globally using socket.setdefaulttimeout()
             # or in urlopen(), doesn't appear to work on Mac 10.5 with Python 2.7.
             # For now we will ignore the timeout value and hope for the best.
-            request = Request(self._url, data, {"Content-Type": content_type})
+            request = Request(self._url, string_utils.encode(data), {string_utils.encode(b'Content-Type'): string_utils.encode(content_type)})
             return urlopen(request)
 
         return NetworkTransaction(timeout_seconds=self._timeout_seconds).run(callback)

Modified: trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py (281957 => 281958)


--- trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py	2021-09-02 22:00:58 UTC (rev 281957)
+++ trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py	2021-09-02 22:09:41 UTC (rev 281958)
@@ -32,6 +32,7 @@
 import json
 import logging
 import optparse
+import sys
 import time
 import datetime
 
@@ -42,6 +43,7 @@
 from webkitpy.common.net.file_uploader import FileUploader
 from webkitpy.performance_tests.perftest import PerfTestFactory
 from webkitpy.performance_tests.perftest import DEFAULT_TEST_RUNNER_COUNT
+from webkitcorepy import string_utils
 
 
 _log = logging.getLogger(__name__)
@@ -285,7 +287,7 @@
             'buildNumber': int(build_number) if build_number else None}
 
         contents = {'tests': {}}
-        for key, value in meta_info.items():
+        for key, value in list(meta_info.items()):
             if value:
                 contents[key] = value
 
@@ -354,7 +356,7 @@
             _log.error("Failed to upload JSON file to %s in 120s: %s" % (url, error))
             return False
 
-        response_body = [line.strip('\n') for line in response]
+        response_body = [string_utils.decode(line, target_type=str).strip('\n') for line in response]
         if response_body != ['OK']:
             try:
                 parsed_response = json.loads('\n'.join(response_body))

Modified: trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py (281957 => 281958)


--- trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py	2021-09-02 22:00:58 UTC (rev 281957)
+++ trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py	2021-09-02 22:09:41 UTC (rev 281958)
@@ -33,7 +33,7 @@
 import logging
 import unittest
 
-from webkitcorepy import StringIO
+from webkitcorepy import BytesIO
 
 from webkitpy.common.host_mock import MockHost
 from webkitpy.port.test import TestPort
@@ -203,16 +203,16 @@
                     raise Exception
                 return mock.upload_single_text_file_return_value
 
-        MockFileUploader.upload_single_text_file_return_value = StringIO('OK')
+        MockFileUploader.upload_single_text_file_return_value = BytesIO(b'OK')
         self.assertTrue(runner._upload_json('https://some.host', 'some.json', '/some/path', MockFileUploader))
         self.assertEqual(MockFileUploader.called, ['FileUploader', 'upload_single_text_file'])
 
         MockFileUploader.reset()
-        MockFileUploader.upload_single_text_file_return_value = StringIO('OK')
+        MockFileUploader.upload_single_text_file_return_value = BytesIO(b'OK')
         self.assertTrue(runner._upload_json('some.host', 'some.json', '/some/path', MockFileUploader))
 
         MockFileUploader.reset()
-        MockFileUploader.upload_single_text_file_return_value = StringIO('Some error')
+        MockFileUploader.upload_single_text_file_return_value = BytesIO(b'Some error')
         with OutputCapture(level=logging.INFO) as captured:
             self.assertFalse(runner._upload_json('https://some.host', 'some.json', '/some/path', MockFileUploader))
         self.assertEqual(
@@ -227,12 +227,12 @@
         self.assertEqual(MockFileUploader.called, ['FileUploader', 'upload_single_text_file'])
 
         MockFileUploader.reset()
-        MockFileUploader.upload_single_text_file_return_value = StringIO('{"status": "OK"}')
+        MockFileUploader.upload_single_text_file_return_value = BytesIO(b'{"status": "OK"}')
         self.assertTrue(runner._upload_json('https://some.host', 'some.json', '/some/path', MockFileUploader))
         self.assertEqual(MockFileUploader.called, ['FileUploader', 'upload_single_text_file'])
 
         MockFileUploader.reset()
-        MockFileUploader.upload_single_text_file_return_value = StringIO('{"status": "SomethingHasFailed", "failureStored": false}')
+        MockFileUploader.upload_single_text_file_return_value = BytesIO(b'{"status": "SomethingHasFailed", "failureStored": false}')
         with OutputCapture(level=logging.INFO) as captured:
             self.assertFalse(runner._upload_json('https://some.host', 'some.json', '/some/path', MockFileUploader))
         serialized_json = json.dumps({'status': 'SomethingHasFailed', 'failureStored': False}, indent=4)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to