Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (C) 2010 Google Inc. All rights reserved. | 1 # Copyright (C) 2010 Google Inc. All rights reserved. |
| 2 # Copyright (C) 2010 Gabor Rapcsanyi (rgabor@inf.u-szeged.hu), University of Sze ged | 2 # Copyright (C) 2010 Gabor Rapcsanyi (rgabor@inf.u-szeged.hu), University of Sze ged |
| 3 # | 3 # |
| 4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
| 5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
| 6 # met: | 6 # met: |
| 7 # | 7 # |
| 8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
| 9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
| 10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 78 self._printer = printer | 78 self._printer = printer |
| 79 self._expectations = None | 79 self._expectations = None |
| 80 | 80 |
| 81 self.HTTP_SUBDIR = 'http' + port.TEST_PATH_SEPARATOR | 81 self.HTTP_SUBDIR = 'http' + port.TEST_PATH_SEPARATOR |
| 82 self.INSPECTOR_SUBDIR = 'inspector' + port.TEST_PATH_SEPARATOR | 82 self.INSPECTOR_SUBDIR = 'inspector' + port.TEST_PATH_SEPARATOR |
| 83 self.PERF_SUBDIR = 'perf' | 83 self.PERF_SUBDIR = 'perf' |
| 84 self.WEBSOCKET_SUBDIR = 'websocket' + port.TEST_PATH_SEPARATOR | 84 self.WEBSOCKET_SUBDIR = 'websocket' + port.TEST_PATH_SEPARATOR |
| 85 self.LAYOUT_TESTS_DIRECTORY = 'LayoutTests' | 85 self.LAYOUT_TESTS_DIRECTORY = 'LayoutTests' |
| 86 self.ARCHIVED_RESULTS_LIMIT = 25 | 86 self.ARCHIVED_RESULTS_LIMIT = 25 |
| 87 self._http_server_started = False | 87 self._http_server_started = False |
| 88 self._wptserve_started = False | |
| 88 self._websockets_server_started = False | 89 self._websockets_server_started = False |
| 89 | 90 |
| 90 self._results_directory = self._port.results_directory() | 91 self._results_directory = self._port.results_directory() |
| 91 self._finder = LayoutTestFinder(self._port, self._options) | 92 self._finder = LayoutTestFinder(self._port, self._options) |
| 92 self._runner = LayoutTestRunner(self._options, self._port, self._printer , self._results_directory, self._test_is_slow) | 93 self._runner = LayoutTestRunner(self._options, self._port, self._printer , self._results_directory, self._test_is_slow) |
| 93 | 94 |
| 94 def _collect_tests(self, args): | 95 def _collect_tests(self, args): |
| 95 return self._finder.find_tests(self._options, args) | 96 return self._finder.find_tests(self._options, args) |
| 96 | 97 |
| 97 def _is_http_test(self, test): | 98 def _is_http_test(self, test): |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 325 def _run_tests(self, tests_to_run, tests_to_skip, repeat_each, iterations, n um_workers, retrying): | 326 def _run_tests(self, tests_to_run, tests_to_skip, repeat_each, iterations, n um_workers, retrying): |
| 326 | 327 |
| 327 test_inputs = [] | 328 test_inputs = [] |
| 328 for _ in xrange(iterations): | 329 for _ in xrange(iterations): |
| 329 for test in tests_to_run: | 330 for test in tests_to_run: |
| 330 for _ in xrange(repeat_each): | 331 for _ in xrange(repeat_each): |
| 331 test_inputs.append(self._test_input_for_file(test)) | 332 test_inputs.append(self._test_input_for_file(test)) |
| 332 return self._runner.run_tests(self._expectations, test_inputs, tests_to_ skip, num_workers, retrying) | 333 return self._runner.run_tests(self._expectations, test_inputs, tests_to_ skip, num_workers, retrying) |
| 333 | 334 |
| 334 def _start_servers(self, tests_to_run): | 335 def _start_servers(self, tests_to_run): |
| 336 if self._port.is_wpt_enabled() and any(self._port.is_wpt_test(test) for test in tests_to_run): | |
| 337 self._printer.write_update('Starting WPTServe ...') | |
| 338 self._port.start_wptserve() | |
| 339 self._wptserve_started = True | |
| 340 | |
| 335 if self._port.requires_http_server() or any((self._is_http_test(test) or self._is_inspector_test(test)) for test in tests_to_run): | 341 if self._port.requires_http_server() or any((self._is_http_test(test) or self._is_inspector_test(test)) for test in tests_to_run): |
| 336 self._printer.write_update('Starting HTTP server ...') | 342 self._printer.write_update('Starting HTTP server ...') |
| 337 self._port.start_http_server(additional_dirs={}, number_of_drivers=s elf._options.max_locked_shards) | 343 self._port.start_http_server(additional_dirs={}, number_of_drivers=s elf._options.max_locked_shards) |
| 338 self._http_server_started = True | 344 self._http_server_started = True |
| 339 | 345 |
| 340 if any(self._is_websocket_test(test) for test in tests_to_run): | 346 if any(self._is_websocket_test(test) for test in tests_to_run): |
| 341 self._printer.write_update('Starting WebSocket server ...') | 347 self._printer.write_update('Starting WebSocket server ...') |
| 342 self._port.start_websocket_server() | 348 self._port.start_websocket_server() |
| 343 self._websockets_server_started = True | 349 self._websockets_server_started = True |
| 344 | 350 |
| 345 def _stop_servers(self): | 351 def _stop_servers(self): |
| 352 if self._wptserve_started: | |
| 353 self._printer.write_update('Stopping WPTServe ...') | |
| 354 self._wptserve_started = False | |
| 355 self._port.stop_wptserve() | |
| 346 if self._http_server_started: | 356 if self._http_server_started: |
| 347 self._printer.write_update('Stopping HTTP server ...') | 357 self._printer.write_update('Stopping HTTP server ...') |
| 348 self._http_server_started = False | 358 self._http_server_started = False |
| 349 self._port.stop_http_server() | 359 self._port.stop_http_server() |
| 350 if self._websockets_server_started: | 360 if self._websockets_server_started: |
| 351 self._printer.write_update('Stopping WebSocket server ...') | 361 self._printer.write_update('Stopping WebSocket server ...') |
| 352 self._websockets_server_started = False | 362 self._websockets_server_started = False |
| 353 self._port.stop_websocket_server() | 363 self._port.stop_websocket_server() |
| 354 | 364 |
| 365 | |
|
Dirk Pranke
2015/06/05 18:27:48
nit: you only need one blank line between class me
burnik
2015/06/08 12:37:01
Done.
| |
| 355 def _clean_up_run(self): | 366 def _clean_up_run(self): |
| 356 _log.debug("Flushing stdout") | 367 _log.debug("Flushing stdout") |
| 357 sys.stdout.flush() | 368 sys.stdout.flush() |
| 358 _log.debug("Flushing stderr") | 369 _log.debug("Flushing stderr") |
| 359 sys.stderr.flush() | 370 sys.stderr.flush() |
| 360 _log.debug("Stopping helper") | 371 _log.debug("Stopping helper") |
| 361 self._port.stop_helper() | 372 self._port.stop_helper() |
| 362 _log.debug("Cleaning up port") | 373 _log.debug("Cleaning up port") |
| 363 self._port.clean_up_test_run() | 374 self._port.clean_up_test_run() |
| 364 | 375 |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 496 return int(worker_name.split('/')[1]) if worker_name else -1 | 507 return int(worker_name.split('/')[1]) if worker_name else -1 |
| 497 | 508 |
| 498 stats = {} | 509 stats = {} |
| 499 for result in initial_results.results_by_name.values(): | 510 for result in initial_results.results_by_name.values(): |
| 500 if result.type != test_expectations.SKIP: | 511 if result.type != test_expectations.SKIP: |
| 501 stats[result.test_name] = {'results': (_worker_number(result.wor ker_name), result.test_number, result.pid, int(result.test_run_time * 1000), int (result.total_run_time * 1000))} | 512 stats[result.test_name] = {'results': (_worker_number(result.wor ker_name), result.test_number, result.pid, int(result.test_run_time * 1000), int (result.total_run_time * 1000))} |
| 502 stats_trie = {} | 513 stats_trie = {} |
| 503 for name, value in stats.iteritems(): | 514 for name, value in stats.iteritems(): |
| 504 json_results_generator.add_path_to_trie(name, value, stats_trie) | 515 json_results_generator.add_path_to_trie(name, value, stats_trie) |
| 505 return stats_trie | 516 return stats_trie |
| OLD | NEW |