| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 import sys | 4 import sys |
| 5 from telemetry.story import story_set as story_set_module | 5 from telemetry.story import story_set as story_set_module |
| 6 from telemetry.page import page_test | 6 from telemetry.page import page_test |
| 7 | 7 |
| 8 from gpu_tests import gpu_test_base | 8 from gpu_tests import gpu_test_base |
| 9 | 9 |
| 10 class GpuProcessSharedPageState(gpu_test_base.GpuSharedPageState): | 10 class GpuProcessSharedPageState(gpu_test_base.GpuSharedPageState): |
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 | 515 |
| 516 diff = set(browser_list).symmetric_difference(set(gpu_list)) | 516 diff = set(browser_list).symmetric_difference(set(gpu_list)) |
| 517 if len(diff) > 0: | 517 if len(diff) > 0: |
| 518 print 'Test failed. Printing page contents:' | 518 print 'Test failed. Printing page contents:' |
| 519 print tab.EvaluateJavaScript('document.body.innerHTML') | 519 print tab.EvaluateJavaScript('document.body.innerHTML') |
| 520 raise page_test.Failure('Browser and GPU process list of driver bug' \ | 520 raise page_test.Failure('Browser and GPU process list of driver bug' \ |
| 521 'workarounds are not equal: %s != %s, diff: %s' % \ | 521 'workarounds are not equal: %s != %s, diff: %s' % \ |
| 522 (browser_list, gpu_list, list(diff))) | 522 (browser_list, gpu_list, list(diff))) |
| 523 | 523 |
| 524 | 524 |
| 525 class HasTransparentVisualsShared(GpuProcessSharedPageState): | |
| 526 def __init__(self, test, finder_options, story_set): | |
| 527 super(HasTransparentVisualsShared, self).__init__( | |
| 528 test, finder_options, story_set) | |
| 529 options = finder_options.browser_options | |
| 530 if sys.platform.startswith('linux'): | |
| 531 # Hit id 173 from kGpuDriverBugListJson. | |
| 532 options.AppendExtraBrowserArgs('--gpu-testing-gl-version=3.0 Mesa ' \ | |
| 533 '12.1') | |
| 534 | |
| 535 class HasTransparentVisualsGpuProcessPage(DriverBugWorkaroundsTestsPage): | |
| 536 def __init__(self, story_set, expectations): | |
| 537 super(HasTransparentVisualsGpuProcessPage, self).__init__( | |
| 538 name='GpuProcess.has_transparent_visuals_gpu_process', | |
| 539 page_set=story_set, | |
| 540 shared_page_state_class=HasTransparentVisualsShared, | |
| 541 expectations=expectations, | |
| 542 expected_workaround=None, | |
| 543 unexpected_workaround='disable_transparent_visuals') | |
| 544 | |
| 545 def Validate(self, tab, results): | |
| 546 if sys.platform.startswith('linux'): | |
| 547 super(HasTransparentVisualsGpuProcessPage, self).Validate(tab, results) | |
| 548 | |
| 549 | |
| 550 class NoTransparentVisualsShared(GpuProcessSharedPageState): | |
| 551 def __init__(self, test, finder_options, story_set): | |
| 552 super(NoTransparentVisualsShared, self).__init__( | |
| 553 test, finder_options, story_set) | |
| 554 options = finder_options.browser_options | |
| 555 if sys.platform.startswith('linux'): | |
| 556 # Hit id 173 from kGpuDriverBugListJson. | |
| 557 options.AppendExtraBrowserArgs('--gpu-testing-gl-version=4.5.0 ' \ | |
| 558 'NVIDIA 352.41') | |
| 559 | |
| 560 class NoTransparentVisualsGpuProcessPage(DriverBugWorkaroundsTestsPage): | |
| 561 def __init__(self, story_set, expectations): | |
| 562 super(NoTransparentVisualsGpuProcessPage, self).__init__( | |
| 563 name='GpuProcess.no_transparent_visuals_gpu_process', | |
| 564 page_set=story_set, | |
| 565 shared_page_state_class=NoTransparentVisualsShared, | |
| 566 expectations=expectations, | |
| 567 expected_workaround='disable_transparent_visuals', | |
| 568 unexpected_workaround=None) | |
| 569 | |
| 570 def Validate(self, tab, results): | |
| 571 if sys.platform.startswith('linux'): | |
| 572 super(NoTransparentVisualsGpuProcessPage, self).Validate(tab, results) | |
| 573 | |
| 574 | |
| 575 class GpuProcessTestsStorySet(story_set_module.StorySet): | 525 class GpuProcessTestsStorySet(story_set_module.StorySet): |
| 576 | 526 |
| 577 """ Tests that accelerated content triggers the creation of a GPU process """ | 527 """ Tests that accelerated content triggers the creation of a GPU process """ |
| 578 | 528 |
| 579 def __init__(self, expectations, is_platform_android): | 529 def __init__(self, expectations, is_platform_android): |
| 580 super(GpuProcessTestsStorySet, self).__init__( | 530 super(GpuProcessTestsStorySet, self).__init__( |
| 581 serving_dirs=set(['../../../../content/test/data'])) | 531 serving_dirs=set(['../../../../content/test/data'])) |
| 582 | 532 |
| 583 urls_and_names_list = [ | 533 urls_and_names_list = [ |
| 584 ('file://../../data/gpu/functional_canvas_demo.html', | 534 ('file://../../data/gpu/functional_canvas_demo.html', |
| (...skipping 15 matching lines...) Expand all Loading... |
| 600 self.AddStory(SkipGpuProcessPage(self, expectations)) | 550 self.AddStory(SkipGpuProcessPage(self, expectations)) |
| 601 self.AddStory(DriverBugWorkaroundsInGpuProcessPage(self, expectations)) | 551 self.AddStory(DriverBugWorkaroundsInGpuProcessPage(self, expectations)) |
| 602 self.AddStory(IdentifyActiveGpuPage1(self, expectations)) | 552 self.AddStory(IdentifyActiveGpuPage1(self, expectations)) |
| 603 self.AddStory(IdentifyActiveGpuPage2(self, expectations)) | 553 self.AddStory(IdentifyActiveGpuPage2(self, expectations)) |
| 604 self.AddStory(IdentifyActiveGpuPage3(self, expectations)) | 554 self.AddStory(IdentifyActiveGpuPage3(self, expectations)) |
| 605 self.AddStory(IdentifyActiveGpuPage4(self, expectations)) | 555 self.AddStory(IdentifyActiveGpuPage4(self, expectations)) |
| 606 self.AddStory(ReadbackWebGLGpuProcessPage(self, expectations)) | 556 self.AddStory(ReadbackWebGLGpuProcessPage(self, expectations)) |
| 607 self.AddStory(DriverBugWorkaroundsUponGLRendererPage(self, expectations)) | 557 self.AddStory(DriverBugWorkaroundsUponGLRendererPage(self, expectations)) |
| 608 self.AddStory(EqualBugWorkaroundsInBrowserAndGpuProcessPage(self, | 558 self.AddStory(EqualBugWorkaroundsInBrowserAndGpuProcessPage(self, |
| 609 expectations)) | 559 expectations)) |
| 610 self.AddStory(HasTransparentVisualsGpuProcessPage(self, expectations)) | |
| 611 self.AddStory(NoTransparentVisualsGpuProcessPage(self, expectations)) | |
| 612 | 560 |
| 613 @property | 561 @property |
| 614 def allow_mixed_story_states(self): | 562 def allow_mixed_story_states(self): |
| 615 # Return True here in order to be able to run pages with different browser | 563 # Return True here in order to be able to run pages with different browser |
| 616 # command line arguments. | 564 # command line arguments. |
| 617 return True | 565 return True |
| OLD | NEW |