Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(267)

Side by Side Diff: content/test/gpu/page_sets/gpu_process_tests.py

Issue 2195743005: Fix ineffective --disable-gpu-driver-bug-workarounds (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/browser/gpu/gpu_process_host.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 shared_page_state_class=NoTransparentVisualsShared, 562 shared_page_state_class=NoTransparentVisualsShared,
563 expectations=expectations, 563 expectations=expectations,
564 expected_workaround='disable_transparent_visuals', 564 expected_workaround='disable_transparent_visuals',
565 unexpected_workaround=None) 565 unexpected_workaround=None)
566 566
567 def Validate(self, tab, results): 567 def Validate(self, tab, results):
568 if sys.platform.startswith('linux'): 568 if sys.platform.startswith('linux'):
569 super(NoTransparentVisualsGpuProcessPage, self).Validate(tab, results) 569 super(NoTransparentVisualsGpuProcessPage, self).Validate(tab, results)
570 570
571 571
572 class OnlyOneWorkaroundSharedPageState(GpuProcessSharedPageState):
573 def __init__(self, test, finder_options, story_set):
574 super(OnlyOneWorkaroundSharedPageState, self).__init__(
575 test, finder_options, story_set)
576 options = finder_options.browser_options
577 options.AppendExtraBrowserArgs('--disable-gpu-driver-bug-workarounds')
578 options.AppendExtraBrowserArgs('--use_gpu_driver_workaround_for_testing')
579
580 class OnlyOneWorkaroundPage(gpu_test_base.PageBase):
581 def __init__(self, story_set, expectations):
582 super(OnlyOneWorkaroundPage, self).__init__(
583 url='chrome:gpu',
584 name='GpuProcess.only_one_workaround',
585 page_set=story_set,
586 shared_page_state_class=OnlyOneWorkaroundSharedPageState,
587 expectations=expectations)
588
589 def Validate(self, tab, results):
590 browser_list = tab.EvaluateJavaScript('GetDriverBugWorkarounds()')
591 gpu_list = tab.EvaluateJavaScript( \
592 'chrome.gpuBenchmarking.getGpuDriverBugWorkarounds()')
593
594 if browser_list != ['use_gpu_driver_workaround_for_testing'] or \
595 gpu_list != browser_list:
596 print 'Test failed. Printing page contents:'
597 print tab.EvaluateJavaScript('document.body.innerHTML')
598 raise page_test.Failure('Browser or GPU process lists are not reduced ' \
599 'to only force_discrete_gpu workaround: %s != %s' % \
Ken Russell (switch to Gerrit) 2016/08/01 21:53:50 Should this be "to only use_gpu_driver_workaround_
Julien Isorce Samsung 2016/08/02 13:12:19 Done, thx!
600 (browser_list, gpu_list))
601
602
572 class GpuProcessTestsStorySet(story_set_module.StorySet): 603 class GpuProcessTestsStorySet(story_set_module.StorySet):
573 604
574 """ Tests that accelerated content triggers the creation of a GPU process """ 605 """ Tests that accelerated content triggers the creation of a GPU process """
575 606
576 def __init__(self, expectations, is_platform_android): 607 def __init__(self, expectations, is_platform_android):
577 super(GpuProcessTestsStorySet, self).__init__( 608 super(GpuProcessTestsStorySet, self).__init__(
578 serving_dirs=set(['../../../../content/test/data'])) 609 serving_dirs=set(['../../../../content/test/data']))
579 610
580 urls_and_names_list = [ 611 urls_and_names_list = [
581 ('file://../../data/gpu/functional_canvas_demo.html', 612 ('file://../../data/gpu/functional_canvas_demo.html',
(...skipping 13 matching lines...) Expand all
595 self.AddStory(SoftwareGpuProcessPage(self, expectations)) 626 self.AddStory(SoftwareGpuProcessPage(self, expectations))
596 self.AddStory(DriverBugWorkaroundsInGpuProcessPage(self, expectations)) 627 self.AddStory(DriverBugWorkaroundsInGpuProcessPage(self, expectations))
597 self.AddStory(IdentifyActiveGpuPage1(self, expectations)) 628 self.AddStory(IdentifyActiveGpuPage1(self, expectations))
598 self.AddStory(IdentifyActiveGpuPage2(self, expectations)) 629 self.AddStory(IdentifyActiveGpuPage2(self, expectations))
599 self.AddStory(IdentifyActiveGpuPage3(self, expectations)) 630 self.AddStory(IdentifyActiveGpuPage3(self, expectations))
600 self.AddStory(IdentifyActiveGpuPage4(self, expectations)) 631 self.AddStory(IdentifyActiveGpuPage4(self, expectations))
601 self.AddStory(ReadbackWebGLGpuProcessPage(self, expectations)) 632 self.AddStory(ReadbackWebGLGpuProcessPage(self, expectations))
602 self.AddStory(DriverBugWorkaroundsUponGLRendererPage(self, expectations)) 633 self.AddStory(DriverBugWorkaroundsUponGLRendererPage(self, expectations))
603 self.AddStory(EqualBugWorkaroundsInBrowserAndGpuProcessPage(self, 634 self.AddStory(EqualBugWorkaroundsInBrowserAndGpuProcessPage(self,
604 expectations)) 635 expectations))
636 self.AddStory(OnlyOneWorkaroundPage(self, expectations))
637
605 if not is_platform_android: 638 if not is_platform_android:
606 self.AddStory(SkipGpuProcessPage(self, expectations)) 639 self.AddStory(SkipGpuProcessPage(self, expectations))
607 self.AddStory(HasTransparentVisualsGpuProcessPage(self, expectations)) 640 self.AddStory(HasTransparentVisualsGpuProcessPage(self, expectations))
608 self.AddStory(NoTransparentVisualsGpuProcessPage(self, expectations)) 641 self.AddStory(NoTransparentVisualsGpuProcessPage(self, expectations))
609 642
610 @property 643 @property
611 def allow_mixed_story_states(self): 644 def allow_mixed_story_states(self):
612 # Return True here in order to be able to run pages with different browser 645 # Return True here in order to be able to run pages with different browser
613 # command line arguments. 646 # command line arguments.
614 return True 647 return True
OLDNEW
« no previous file with comments | « content/browser/gpu/gpu_process_host.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698