[Telemetry] Remove smoothness's reliance on auto issuing marker feature of smoothness...
[chromium-blink-merge.git] / tools / perf / profile_creators / history_profile_extender_unittest.py
blobc0b0b0f05b4a9fb4ed673cf335441ee824d5d572
1 # Copyright 2015 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.
4 import os
5 import shutil
6 import tempfile
7 import unittest
9 from profile_creators.history_profile_extender import HistoryProfileExtender
10 from telemetry.core import util
11 from telemetry import decorators
12 from telemetry.unittest_util import options_for_unittests
14 util.AddDirToPythonPath(util.GetTelemetryDir(), 'third_party', 'mock')
15 import mock
18 # Testing private method.
19 # pylint: disable=protected-access
20 class HistoryProfileExtenderTest(unittest.TestCase):
21 # The profile extender does not work on Android or ChromeOS.
22 @decorators.Disabled('android', 'chromeos')
23 def testFullFunctionality(self):
24 extender = HistoryProfileExtender()
26 # Stop the extender at the earliest possible opportunity.
27 extender.ShouldExitAfterBatchNavigation = mock.MagicMock(return_value=True)
28 # Normally, the number of tabs depends on the number of cores. Use a
29 # static, small number to increase the speed of the test.
30 extender._NUM_TABS = 3
32 options = options_for_unittests.GetCopy()
33 options.output_profile_path = tempfile.mkdtemp()
35 try:
36 extender.Run(options)
37 self.assertEquals(extender.profile_path, options.output_profile_path)
38 self.assertTrue(os.path.exists(extender.profile_path))
39 history_db_path = os.path.join(extender.profile_path, "Default",
40 "History")
41 stat_info = os.stat(history_db_path)
42 self.assertGreater(stat_info.st_size, 1000)
43 finally:
44 shutil.rmtree(options.output_profile_path)