| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import collections | 5 import collections |
| 6 import copy | 6 import copy |
| 7 import logging | 7 import logging |
| 8 import optparse | 8 import optparse |
| 9 import os | 9 import os |
| 10 import random | 10 import random |
| (...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 if expectation == 'skip': | 497 if expectation == 'skip': |
| 498 logging.debug('Skipping test: Skip expectation for %s', page.url) | 498 logging.debug('Skipping test: Skip expectation for %s', page.url) |
| 499 results.AddSkip(page, 'Skipped by test expectations') | 499 results.AddSkip(page, 'Skipped by test expectations') |
| 500 return | 500 return |
| 501 | 501 |
| 502 logging.info('Running %s', page.url) | 502 logging.info('Running %s', page.url) |
| 503 | 503 |
| 504 page_state = PageState(page, test.TabForPage(page, state.browser)) | 504 page_state = PageState(page, test.TabForPage(page, state.browser)) |
| 505 | 505 |
| 506 def ProcessError(): | 506 def ProcessError(): |
| 507 logging.error('%s:', page.url) | |
| 508 exception_formatter.PrintFormattedException() | |
| 509 if expectation == 'fail': | 507 if expectation == 'fail': |
| 510 logging.info('Error was expected\n') | 508 msg = 'Expected exception while running %s' % page.url |
| 511 results.AddSuccess(page) | 509 results.AddSuccess(page) |
| 512 else: | 510 else: |
| 511 msg = 'Exception while running %s' % page.url |
| 513 results.AddError(page, sys.exc_info()) | 512 results.AddError(page, sys.exc_info()) |
| 513 exception_formatter.PrintFormattedException(msg=msg) |
| 514 | 514 |
| 515 try: | 515 try: |
| 516 page_state.PreparePage(test) | 516 page_state.PreparePage(test) |
| 517 if state.repeat_state.ShouldNavigate( | 517 if state.repeat_state.ShouldNavigate( |
| 518 finder_options.skip_navigate_on_repeat): | 518 finder_options.skip_navigate_on_repeat): |
| 519 page_state.ImplicitPageNavigation(test) | 519 page_state.ImplicitPageNavigation(test) |
| 520 test.RunPage(page, page_state.tab, results) | 520 test.RunPage(page, page_state.tab, results) |
| 521 util.CloseConnections(page_state.tab) | 521 util.CloseConnections(page_state.tab) |
| 522 except page_test.TestNotSupportedOnPlatformFailure: | 522 except page_test.TestNotSupportedOnPlatformFailure: |
| 523 raise | 523 raise |
| 524 except page_test.Failure: | 524 except page_test.Failure: |
| 525 if expectation == 'fail': | 525 if expectation == 'fail': |
| 526 logging.info('%s:', page.url) | 526 exception_formatter.PrintFormattedException( |
| 527 exception_formatter.PrintFormattedException() | 527 msg='Expected failure while running %s' % page.url) |
| 528 logging.info('Failure was expected\n') | |
| 529 results.AddSuccess(page) | 528 results.AddSuccess(page) |
| 530 else: | 529 else: |
| 531 logging.warning('%s:', page.url) | 530 exception_formatter.PrintFormattedException( |
| 532 exception_formatter.PrintFormattedException() | 531 msg='Failure while running %s' % page.url) |
| 533 results.AddFailure(page, sys.exc_info()) | 532 results.AddFailure(page, sys.exc_info()) |
| 534 except (util.TimeoutException, exceptions.LoginException, | 533 except (util.TimeoutException, exceptions.LoginException, |
| 535 exceptions.ProfilingException): | 534 exceptions.ProfilingException): |
| 536 ProcessError() | 535 ProcessError() |
| 537 except (exceptions.TabCrashException, exceptions.BrowserGoneException): | 536 except (exceptions.TabCrashException, exceptions.BrowserGoneException): |
| 538 ProcessError() | 537 ProcessError() |
| 539 # Run() catches these exceptions to relaunch the tab/browser, so re-raise. | 538 # Run() catches these exceptions to relaunch the tab/browser, so re-raise. |
| 540 raise | 539 raise |
| 541 except page_action.PageActionNotSupported as e: | 540 except page_action.PageActionNotSupported as e: |
| 542 results.AddSkip(page, 'Unsupported page action: %s' % e) | 541 results.AddSkip(page, 'Unsupported page action: %s' % e) |
| 543 except Exception: | 542 except Exception: |
| 544 logging.warning('While running %s', page.url) | 543 exception_formatter.PrintFormattedException( |
| 545 exception_formatter.PrintFormattedException() | 544 msg='Unhandled exception while running %s' % page.url) |
| 546 results.AddFailure(page, sys.exc_info()) | 545 results.AddFailure(page, sys.exc_info()) |
| 547 else: | 546 else: |
| 548 if expectation == 'fail': | 547 if expectation == 'fail': |
| 549 logging.warning('%s was expected to fail, but passed.\n', page.url) | 548 logging.warning('%s was expected to fail, but passed.\n', page.url) |
| 550 results.AddSuccess(page) | 549 results.AddSuccess(page) |
| 551 finally: | 550 finally: |
| 552 page_state.CleanUpPage(test) | 551 page_state.CleanUpPage(test) |
| 553 | 552 |
| 554 | 553 |
| 555 def _WaitForThermalThrottlingIfNeeded(platform): | 554 def _WaitForThermalThrottlingIfNeeded(platform): |
| (...skipping 11 matching lines...) Expand all Loading... |
| 567 logging.warning('Device is thermally throttled before running ' | 566 logging.warning('Device is thermally throttled before running ' |
| 568 'performance tests, results will vary.') | 567 'performance tests, results will vary.') |
| 569 | 568 |
| 570 | 569 |
| 571 def _CheckThermalThrottling(platform): | 570 def _CheckThermalThrottling(platform): |
| 572 if not platform.CanMonitorThermalThrottling(): | 571 if not platform.CanMonitorThermalThrottling(): |
| 573 return | 572 return |
| 574 if platform.HasBeenThermallyThrottled(): | 573 if platform.HasBeenThermallyThrottled(): |
| 575 logging.warning('Device has been thermally throttled during ' | 574 logging.warning('Device has been thermally throttled during ' |
| 576 'performance tests, results will vary.') | 575 'performance tests, results will vary.') |
| OLD | NEW |