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
3 # found in the LICENSE file.
5 from telemetry
import value
as value_module
8 class SkipValue(value_module
.Value
):
10 def __init__(self
, page
, reason
, description
=None):
11 """A value representing a skipped page.
14 page: The skipped page object.
15 reason: The string reason the page was skipped.
17 super(SkipValue
, self
).__init
__(page
, 'skip', '', True, description
, None,
22 page_name
= self
.page
.display_name
23 return 'SkipValue(%s, %s, description=%s)' % (page_name
, self
._reason
,
30 def GetBuildbotDataType(self
, output_context
):
33 def GetBuildbotValue(self
):
36 def GetChartAndTraceNameForPerPageResult(self
):
39 def GetRepresentativeNumber(self
):
42 def GetRepresentativeString(self
):
46 def GetJSONTypeName():
50 d
= super(SkipValue
, self
).AsDict()
51 d
['reason'] = self
._reason
55 def FromDict(value_dict
, page_dict
):
56 kwargs
= value_module
.Value
.GetConstructorKwArgs(value_dict
, page_dict
)
59 if 'important' in kwargs
:
60 del kwargs
['important']
61 kwargs
['reason'] = value_dict
['reason']
62 if 'tir_label' in kwargs
:
63 del kwargs
['tir_label']
64 if 'grouping_keys' in kwargs
:
65 del kwargs
['grouping_keys']
67 return SkipValue(**kwargs
)
70 def MergeLikeValuesFromSamePage(cls
, values
):
71 assert False, 'Should not be called.'
74 def MergeLikeValuesFromDifferentPages(cls
, values
):
75 assert False, 'Should not be called.'