| OLD | NEW |
| 1 # Copyright (C) 2011 Google Inc. All rights reserved. | 1 # Copyright (C) 2011 Google Inc. All rights reserved. |
| 2 # | 2 # |
| 3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
| 4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
| 5 # met: | 5 # met: |
| 6 # | 6 # |
| 7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
| 8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
| 9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
| 10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 self._kill_driver() | 276 self._kill_driver() |
| 277 if not self._driver: | 277 if not self._driver: |
| 278 self._driver = self._port.create_driver(self._worker_number) | 278 self._driver = self._port.create_driver(self._worker_number) |
| 279 | 279 |
| 280 if not self._driver: | 280 if not self._driver: |
| 281 # FIXME: Is this the best way to handle a device crashing in the mid
dle of the test, or should we create | 281 # FIXME: Is this the best way to handle a device crashing in the mid
dle of the test, or should we create |
| 282 # a new failure type? | 282 # a new failure type? |
| 283 device_failed = True | 283 device_failed = True |
| 284 return device_failed | 284 return device_failed |
| 285 | 285 |
| 286 _log.debug("%s %s started" % (self._name, test_input.test_name)) |
| 286 self._caller.post('started_test', test_input, test_timeout_sec) | 287 self._caller.post('started_test', test_input, test_timeout_sec) |
| 287 result = single_test_runner.run_single_test(self._port, self._options, s
elf._results_directory, | 288 result = single_test_runner.run_single_test(self._port, self._options, s
elf._results_directory, |
| 288 self._name, self._driver, test_input, stop_when_done) | 289 self._name, self._driver, test_input, stop_when_done) |
| 289 | 290 |
| 290 result.shard_name = shard_name | 291 result.shard_name = shard_name |
| 291 result.worker_name = self._name | 292 result.worker_name = self._name |
| 292 result.total_run_time = time.time() - start | 293 result.total_run_time = time.time() - start |
| 293 result.test_number = self._num_tests | 294 result.test_number = self._num_tests |
| 294 self._num_tests += 1 | 295 self._num_tests += 1 |
| 295 self._caller.post('finished_test', result) | 296 self._caller.post('finished_test', result) |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 def split_at(seq, index): | 498 def split_at(seq, index): |
| 498 return (seq[:index], seq[index:]) | 499 return (seq[:index], seq[index:]) |
| 499 | 500 |
| 500 num_old_per_new = divide_and_round_up(len(old_shards), max_new_shards) | 501 num_old_per_new = divide_and_round_up(len(old_shards), max_new_shards) |
| 501 new_shards = [] | 502 new_shards = [] |
| 502 remaining_shards = old_shards | 503 remaining_shards = old_shards |
| 503 while remaining_shards: | 504 while remaining_shards: |
| 504 some_shards, remaining_shards = split_at(remaining_shards, num_old_p
er_new) | 505 some_shards, remaining_shards = split_at(remaining_shards, num_old_p
er_new) |
| 505 new_shards.append(TestShard('%s_%d' % (shard_name_prefix, len(new_sh
ards) + 1), extract_and_flatten(some_shards))) | 506 new_shards.append(TestShard('%s_%d' % (shard_name_prefix, len(new_sh
ards) + 1), extract_and_flatten(some_shards))) |
| 506 return new_shards | 507 return new_shards |
| OLD | NEW |