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

Side by Side Diff: content/test/gpu/gpu_tests/memory.py

Issue 270343004: Added more details to failures of memory_test on the GPU bots. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | 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 (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 import memory_expectations 4 import memory_expectations
5 5
6 from telemetry import test 6 from telemetry import test
7 from telemetry.page import page_test 7 from telemetry.page import page_test
8 from telemetry.core.timeline import counter 8 from telemetry.core.timeline import counter
9 from telemetry.core.timeline import model 9 from telemetry.core.timeline import model
10 10
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 class _MemoryValidator(page_test.PageTest): 56 class _MemoryValidator(page_test.PageTest):
57 def ValidatePage(self, page, tab, results): 57 def ValidatePage(self, page, tab, results):
58 timeline_data = tab.browser.StopTracing() 58 timeline_data = tab.browser.StopTracing()
59 timeline_model = model.TimelineModel(timeline_data) 59 timeline_model = model.TimelineModel(timeline_data)
60 for process in timeline_model.GetAllProcesses(): 60 for process in timeline_model.GetAllProcesses():
61 if 'gpu.GpuMemoryUsage' in process.counters: 61 if 'gpu.GpuMemoryUsage' in process.counters:
62 counter = process.GetCounter('gpu', 'GpuMemoryUsage') 62 counter = process.GetCounter('gpu', 'GpuMemoryUsage')
63 mb_used = counter.samples[-1] / 1048576 63 mb_used = counter.samples[-1] / 1048576
64 64
65 if mb_used + WIGGLE_ROOM_MB < SINGLE_TAB_LIMIT_MB: 65 if mb_used + WIGGLE_ROOM_MB < SINGLE_TAB_LIMIT_MB:
66 raise page_test.Failure('Memory allocation too low') 66 raise page_test.Failure(self._FormatException('low', mb_used))
67 67
68 if mb_used - WIGGLE_ROOM_MB > MEMORY_LIMIT_MB: 68 if mb_used - WIGGLE_ROOM_MB > MEMORY_LIMIT_MB:
69 raise page_test.Failure('Memory allocation too high') 69 raise page_test.Failure(self._FormatException('high', mb_used))
70 70
71 def CustomizeBrowserOptions(self, options): 71 def CustomizeBrowserOptions(self, options):
72 options.AppendExtraBrowserArgs('--enable-logging') 72 options.AppendExtraBrowserArgs('--enable-logging')
73 options.AppendExtraBrowserArgs( 73 options.AppendExtraBrowserArgs(
74 '--force-gpu-mem-available-mb=%s' % MEMORY_LIMIT_MB) 74 '--force-gpu-mem-available-mb=%s' % MEMORY_LIMIT_MB)
75 75
76 def WillNavigateToPage(self, page, tab): 76 def WillNavigateToPage(self, page, tab):
77 custom_categories = ['webkit.console', 'gpu'] 77 custom_categories = ['webkit.console', 'gpu']
78 tab.browser.StartTracing(','.join(custom_categories), 60) 78 tab.browser.StartTracing(','.join(custom_categories), 60)
79 79
80 def _FormatException(self, low_or_high, mb_used):
81 return 'Memory allocation too %s (was %d MB, should be %d MB +/- %d MB)' % (
82 low_or_high, mb_used, SINGLE_TAB_LIMIT_MB, WIGGLE_ROOM_MB)
83
80 class Memory(test.Test): 84 class Memory(test.Test):
81 """Tests GPU memory limits""" 85 """Tests GPU memory limits"""
82 test = _MemoryValidator 86 test = _MemoryValidator
83 page_set = 'page_sets/memory_tests.py' 87 page_set = 'page_sets/memory_tests.py'
84 88
85 def CreateExpectations(self, page_set): 89 def CreateExpectations(self, page_set):
86 return memory_expectations.MemoryExpectations() 90 return memory_expectations.MemoryExpectations()
87 91
88 def CreatePageSet(self, options): 92 def CreatePageSet(self, options):
89 page_set = super(Memory, self).CreatePageSet(options) 93 page_set = super(Memory, self).CreatePageSet(options)
90 for page in page_set.pages: 94 for page in page_set.pages:
91 page.script_to_evaluate_on_commit = test_harness_script 95 page.script_to_evaluate_on_commit = test_harness_script
92 return page_set 96 return page_set
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698