Changeset 252616 in webkit
- Timestamp:
- Nov 18, 2019, 5:51:17 PM (6 years ago)
- Location:
- trunk/Tools
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r252609 r252616 1 2019-11-18 Jonathan Bedard <jbedard@apple.com> 2 3 Python 3: Support run-api-tests 4 https://bugs.webkit.org/show_bug.cgi?id=204252 5 6 Rubber-stamped by Aakash Jain. 7 8 * Scripts/webkitpy/api_tests/manager.py: 9 (Manager._collect_tests): Use items over iteritems. 10 (Manager._print_tests_result_with_status): Use compatible iteritems. 11 (Manager.run): Use range over xrange, use compatible iteritems. 12 * Scripts/webkitpy/api_tests/runner.py: 13 (Runner.run): Use compatible iteritems. 14 (Runner.result_map_by_status): Ditto. 15 (_Worker._run_single_test): Server process returns byte arrays, not strings. 16 (_Worker.handle): Use items over iteritems, use range over xrange. 17 * Scripts/webkitpy/common/message_pool.py: 18 (_MessagePool.run): Use range over xrange. 19 (_MessagePool._start_workers): Ditto. 20 * Scripts/webkitpy/common/multiprocessing_bootstrap.py: Remove version check. 21 * Scripts/webkitpy/port/base.py: 22 (Port.check_api_test_build):Use items over iteritems. 23 (Port.commits_for_upload): Ditto. 24 * Scripts/webkitpy/port/server_process.py: 25 (ServerProcess._reset): Use byte array over string. 26 (ServerProcess._pop_stdout_line_if_ready): Check for bytes newline. 27 (ServerProcess._pop_stderr_line_if_ready): Ditto. 28 1 29 2019-11-18 Andres Gonzalez <andresg_22@apple.com> 2 30 -
trunk/Tools/Scripts/webkitpy/api_tests/manager.py
r244942 r252616 26 26 27 27 from webkitpy.api_tests.runner import Runner 28 from webkitpy.common.iteration_compatibility import iteritems 28 29 from webkitpy.common.system.executive import ScriptError 29 30 from webkitpy.results.upload import Upload 30 31 31 from webkitpy.xcode.simulated_device import DeviceRequest, SimulatedDeviceManager 32 32 … … 92 92 available_tests = [] 93 93 specified_binaries = self._binaries_for_arguments(args) 94 for canonicalized_binary, path in self._port.path_to_api_test_binaries().ite ritems():94 for canonicalized_binary, path in self._port.path_to_api_test_binaries().items(): 95 95 if canonicalized_binary not in specified_binaries: 96 96 continue … … 125 125 self._stream.writeln('') 126 126 need_newline = False 127 for test, output in mapping.iteritems():127 for test, output in iteritems(mapping): 128 128 need_newline = Manager._print_test_result(self._stream, test, output) 129 129 if need_newline: … … 183 183 return Manager.SUCCESS 184 184 185 test_names = [test for test in test_names for _ in xrange(self._options.repeat_each)]185 test_names = [test for test in test_names for _ in range(self._options.repeat_each)] 186 186 if self._options.repeat_each != 1: 187 187 _log.debug('Repeating each test {} times'.format(self._options.iterations)) … … 190 190 _log.info('Running tests') 191 191 runner = Runner(self._port, self._stream) 192 for i in xrange(self._options.iterations):192 for i in range(self._options.iterations): 193 193 _log.debug('\nIteration {}'.format(i + 1)) 194 194 runner.run(test_names, int(self._options.child_processes) if self._options.child_processes else self._port.default_child_processes()) … … 236 236 self._print_tests_result_with_status(runner.STATUS_TIMEOUT, runner) 237 237 238 for test, result in runner.results.iteritems():238 for test, result in iteritems(runner.results): 239 239 status_to_string = { 240 240 runner.STATUS_FAILED: 'Failed', … … 272 272 ), 273 273 results={test: Upload.create_test_result(actual=status_to_test_result[result[0]]) 274 for test, result in runner.results.iteritems() if result[0] in status_to_test_result},274 for test, result in iteritems(runner.results) if result[0] in status_to_test_result}, 275 275 ) 276 276 for url in self._options.report_urls: -
trunk/Tools/Scripts/webkitpy/api_tests/runner.py
r234962 r252616 26 26 27 27 from webkitpy.common import message_pool 28 from webkitpy.common.iteration_compatibility import iteritems 28 29 from webkitpy.port.server_process import ServerProcess, _log as server_process_logger 29 30 from webkitpy.xcode.simulated_device import SimulatedDeviceManager 31 from webkitpy.common.unicode_compatibility import decode_for 30 32 31 33 … … 91 93 self._num_workers = min(num_workers, len(shards)) 92 94 with message_pool.get(self, lambda caller: _Worker(caller, self.port, shards), self._num_workers) as pool: 93 pool.run(('test', shard) for shard, _ in shards.iteritems())95 pool.run(('test', shard) for shard, _ in iteritems(shards)) 94 96 finally: 95 97 server_process_logger.setLevel(original_level) … … 130 132 def result_map_by_status(self, status=None): 131 133 map = {} 132 for test_name, result in self.results.iteritems():134 for test_name, result in iteritems(self.results): 133 135 if result[0] == status: 134 136 map[test_name] = result[1] … … 178 180 179 181 if stderr_line: 182 stderr_line = decode_for(stderr_line, str) 180 183 stderr_buffer += stderr_line 181 184 self.post('log', output=stderr_line[:-1]) 182 185 if stdout_line: 186 stdout_line = decode_for(stdout_line, str) 183 187 if '**PASS**' in stdout_line: 184 188 status = Runner.STATUS_PASSED … … 199 203 200 204 finally: 201 remaining_stderr = server_process.pop_all_buffered_stderr()202 remaining_stdout = server_process.pop_all_buffered_stdout()205 remaining_stderr = decode_for(server_process.pop_all_buffered_stderr(), str) 206 remaining_stdout = decode_for(server_process.pop_all_buffered_stdout(), str) 203 207 self.post('log', output=remaining_stderr + remaining_stdout) 204 208 output_buffer = stderr_buffer + stdout_buffer + remaining_stderr + remaining_stdout … … 291 295 binary_map[split_test_name[0]] = [] 292 296 binary_map[split_test_name[0]].append('.'.join(split_test_name[1:])) 293 for binary_name, test_list in binary_map.ite ritems():297 for binary_name, test_list in binary_map.items(): 294 298 self._run_shard_with_binary(binary_name, test_list) -
trunk/Tools/Scripts/webkitpy/common/message_pool.py
r252443 r252616 99 99 self._messages_to_worker.put(_Message(self._name, message[0], message[1:], from_user=True, logs=())) 100 100 101 for _ in xrange(self._num_workers):101 for _ in range(self._num_workers): 102 102 self._messages_to_worker.put(_Message(self._name, 'stop', message_args=(), from_user=False, logs=())) 103 103 … … 111 111 host = self._host 112 112 113 for worker_number in xrange(self._num_workers):113 for worker_number in range(self._num_workers): 114 114 worker = _Worker(host, self._messages_to_manager, self._messages_to_worker, self._worker_factory, worker_number, self._running_inline, self if self._running_inline else None, self._worker_log_level()) 115 115 self._workers.append(worker) -
trunk/Tools/Scripts/webkitpy/common/multiprocessing_bootstrap.py
r169614 r252616 39 39 import sys 40 40 41 from webkitpy.common import version_check # 'unused import' pylint: disable=W061142 43 41 44 42 def run(*parts): -
trunk/Tools/Scripts/webkitpy/port/base.py
r252443 r252616 252 252 return False 253 253 254 for binary, path in self.path_to_api_test_binaries().ite ritems():254 for binary, path in self.path_to_api_test_binaries().items(): 255 255 if binary not in canonicalized_binaries: 256 256 continue … … 1606 1606 1607 1607 commits = [] 1608 for repo_id, path in repos.ite ritems():1608 for repo_id, path in repos.items(): 1609 1609 scm = SCMDetector(self._filesystem, self._executive).detect_scm_system(path) 1610 1610 commits.append(Upload.create_commit( -
trunk/Tools/Scripts/webkitpy/port/server_process.py
r245544 r252616 111 111 112 112 self._proc = None 113 self._output = str() # bytesarray() once we require Python 2.6114 self._error = str() # bytesarray() once we require Python 2.6113 self._output = b'' 114 self._error = b'' 115 115 self._crashed = False 116 116 self.timed_out = False … … 189 189 190 190 def _pop_stdout_line_if_ready(self): 191 index_after_newline = self._output.find( '\n') + 1191 index_after_newline = self._output.find(b'\n') + 1 192 192 if index_after_newline > 0: 193 193 return self._pop_output_bytes(index_after_newline) … … 195 195 196 196 def _pop_stderr_line_if_ready(self): 197 index_after_newline = self._error.find( '\n') + 1197 index_after_newline = self._error.find(b'\n') + 1 198 198 if index_after_newline > 0: 199 199 return self._pop_error_bytes(index_after_newline)
Note:
See TracChangeset
for help on using the changeset viewer.