| Index: tools/telemetry/telemetry/value/trace_unittest.py
|
| diff --git a/tools/telemetry/telemetry/value/trace_unittest.py b/tools/telemetry/telemetry/value/trace_unittest.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..70d8dc9e6029f55901084d4390b74f15e8602789
|
| --- /dev/null
|
| +++ b/tools/telemetry/telemetry/value/trace_unittest.py
|
| @@ -0,0 +1,58 @@
|
| +# Copyright 2014 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +import os
|
| +import shutil
|
| +import unittest
|
| +
|
| +from telemetry.page import page_set
|
| +from telemetry.timeline import timeline_data
|
| +from telemetry.value import trace
|
| +
|
| +class TestBase(unittest.TestCase):
|
| + def setUp(self):
|
| + self.page_set = page_set.PageSet(file_path=os.path.dirname(__file__))
|
| + self.page_set.AddPageWithDefaultRunNavigate("http://www.bar.com/")
|
| + self.page_set.AddPageWithDefaultRunNavigate("http://www.baz.com/")
|
| + self.page_set.AddPageWithDefaultRunNavigate("http://www.foo.com/")
|
| +
|
| + @property
|
| + def pages(self):
|
| + return self.page_set.pages
|
| +
|
| +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 ValueTest(TestBase):
|
| + def testCreateAndCopyAndRead(self):
|
| + # Windows does not support opening a tempfile twice so we make a copy.
|
| + v = trace.TraceValue(None, 'bar', TimelineDataForTest())
|
| + path = v.GetAssociatedFileHandle().GetRelPath('.')
|
| +
|
| + shutil.copy(path, 'test_create_and_copy_000')
|
| + f = open('test_create_and_copy_000')
|
| + s = f.read()
|
| + f.close()
|
| + os.remove('test_create_and_copy_000')
|
| +
|
| + self.assertEqual(s, 'foo')
|
| +
|
| + def testAsDict(self):
|
| + v = trace.TraceValue(None, 'bar', TimelineDataForTest())
|
| + fh_id = v.GetAssociatedFileHandle().id
|
| +
|
| + d = v.AsDict()
|
| +
|
| + self.assertEqual(d['file_id'], fh_id)
|
|
|