Chromium Code Reviews| Index: testing/chromoting/chromoting_test_driver_launcher.py |
| diff --git a/testing/chromoting/chromoting_test_driver_launcher.py b/testing/chromoting/chromoting_test_driver_launcher.py |
| index 186adb9341d20cd3f19d567f0a9e165f35f28db0..ca6e5a23692d1e9bc899db93fb0044d4f7772239 100644 |
| --- a/testing/chromoting/chromoting_test_driver_launcher.py |
| +++ b/testing/chromoting/chromoting_test_driver_launcher.py |
| @@ -8,6 +8,7 @@ import argparse |
| from chromoting_test_utilities import GetJidFromHostLog |
| from chromoting_test_utilities import InitialiseTestMachineForLinux |
| +from chromoting_test_utilities import MAX_RETRIES |
| from chromoting_test_utilities import PrintHostLogContents |
| from chromoting_test_utilities import PROD_DIR_ID |
| from chromoting_test_utilities import RunCommandInSubProcess |
| @@ -40,22 +41,34 @@ def LaunchCTDCommand(args, command): |
| print 'Host-JID not found in log %s.' % host_log_file_names[-1] |
| return '[Command failed]: %s, %s' % (command, host_log_file_names) |
| - # In order to ensure the host is online with the expected JID, pass in the |
| - # jid obtained from the host-log as a command-line parameter. |
| - command = command.replace('\n', '') + ' --hostjid=%s' % host_jid |
| - |
| - results = RunCommandInSubProcess(command) |
| - |
| - tear_down_index = results.find(TEST_ENVIRONMENT_TEAR_DOWN_INDICATOR) |
| - if tear_down_index == -1: |
| - # The test environment did not tear down. Something went horribly wrong. |
| - return '[Command failed]: ' + command, host_log_file_names |
| - |
| - end_results_list = results[tear_down_index:].split('\n') |
| + retries = 0 |
| failed_tests_list = [] |
| - for result in end_results_list: |
| - if result.startswith(FAILED_INDICATOR): |
| - failed_tests_list.append(result) |
| + # TODO(jamiewalch): Remove this retry-logic once http://crbug/570840 is fixed. |
|
joedow
2016/02/22 21:52:15
I think this should be TODO(anandc): blah...
The
anandc1
2016/02/22 21:56:08
I see. Thanks. Done.
|
| + while retries <= MAX_RETRIES: |
| + # In order to ensure the host is online with the expected JID, pass in the |
| + # jid obtained from the host-log as a command-line parameter. |
| + command = command.replace('\n', '') + ' --hostjid=%s' % host_jid |
| + |
| + results = RunCommandInSubProcess(command) |
| + |
| + tear_down_index = results.find(TEST_ENVIRONMENT_TEAR_DOWN_INDICATOR) |
| + if tear_down_index == -1: |
| + # The test environment did not tear down. Something went horribly wrong. |
| + return '[Command failed]: ' + command, host_log_file_names |
| + |
| + end_results_list = results[tear_down_index:].split('\n') |
| + test_failed = False |
| + for result in end_results_list: |
| + if result.startswith(FAILED_INDICATOR): |
| + test_failed = True |
| + if retries == MAX_RETRIES: |
| + # Test failed and we have no more retries left. |
| + failed_tests_list.append(result) |
| + |
| + if test_failed: |
| + retries += 1 |
| + else: |
| + break |
| if failed_tests_list: |
| test_result = '[Command]: ' + command |