| Index: tools/telemetry/telemetry/results/json_output_formatter_unittest.py
|
| diff --git a/tools/telemetry/telemetry/results/json_output_formatter_unittest.py b/tools/telemetry/telemetry/results/json_output_formatter_unittest.py
|
| index 8c5af58e07ecb990163c90fb75e3caaae640911e..13f2c864a76b3bc0c0b39942ec01a843cba3d077 100644
|
| --- a/tools/telemetry/telemetry/results/json_output_formatter_unittest.py
|
| +++ b/tools/telemetry/telemetry/results/json_output_formatter_unittest.py
|
| @@ -10,8 +10,9 @@ from telemetry import benchmark
|
| from telemetry.page import page_set
|
| from telemetry.results import json_output_formatter
|
| from telemetry.results import page_test_results
|
| +from telemetry.timeline import timeline_data
|
| from telemetry.value import scalar
|
| -
|
| +from telemetry.value import trace
|
|
|
| def _MakePageSet():
|
| ps = page_set.PageSet(file_path=os.path.dirname(__file__))
|
| @@ -25,6 +26,20 @@ def _HasPage(pages, page):
|
| def _HasValueNamed(values, name):
|
| return len([x for x in values if x['name'] == name]) == 1
|
|
|
| +class TimelineDataForTest(timeline_data.TimelineData):
|
| + def __init__(self):
|
| + super(TimelineDataForTest, self).__init__()
|
| + self._event_data = 'foo'
|
| +
|
| + def Serialize(self, f):
|
| + f.write(self._event_data)
|
| + f.flush()
|
| + os.fsync(f)
|
| +
|
| + def EventData(self):
|
| + return self._event_data
|
| +
|
| +
|
| class JsonOutputFormatterTest(unittest.TestCase):
|
| def setUp(self):
|
| self._output = StringIO.StringIO()
|
| @@ -96,3 +111,26 @@ class JsonOutputFormatterTest(unittest.TestCase):
|
|
|
| self.assertFalse(d['pages'])
|
| self.assertTrue(_HasValueNamed(d['summary_values'], 'baz'))
|
| +
|
| + def testAsDictWithFile(self):
|
| + results = page_test_results.PageTestResults()
|
| + v = trace.TraceValue(None, 'foo', TimelineDataForTest())
|
| + results.AddSummaryValue(v)
|
| +
|
| + d = json_output_formatter.ResultsAsDict(results,
|
| + self._formatter.benchmark_metadata)
|
| +
|
| + file_id = v.GetAssociatedFileHandle().id
|
| + expected_name = str(file_id) + '.html'
|
| + actual_name = os.path.split(d['files'][file_id])[1]
|
| + self.assertEquals(expected_name, actual_name)
|
| +
|
| + def testAsDictWithoutFile(self):
|
| + results = page_test_results.PageTestResults()
|
| + v = scalar.ScalarValue(None, 'baz', 'seconds', 5)
|
| + results.AddSummaryValue(v)
|
| +
|
| + d = json_output_formatter.ResultsAsDict(results,
|
| + self._formatter.benchmark_metadata)
|
| +
|
| + self.assertNotIn('files', d)
|
|
|