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 measurements
import oilpan_gc_times
6 from telemetry
.core
import wpr_modes
7 from telemetry
.unittest_util
import options_for_unittests
8 from telemetry
.unittest_util
import page_test_test_case
9 from telemetry
.unittest_util
import test
11 class OilpanGCTimesTest(page_test_test_case
.PageTestTestCase
):
12 """Smoke test for Oilpan GC pause time measurements.
14 Runs OilpanGCTimes measurement on some simple pages and verifies
15 that all metrics were added to the results. The test is purely functional,
16 i.e. it only checks if the metrics are present and non-zero.
19 self
._options
= options_for_unittests
.GetCopy()
21 def testForSmoothness(self
):
22 ps
= self
.CreatePageSetFromFileInUnittestDataDir('create_many_objects.html')
23 measurement
= oilpan_gc_times
.OilpanGCTimesForSmoothness()
24 results
= self
.RunMeasurement(measurement
, ps
, options
=self
._options
)
25 self
.assertEquals(0, len(results
.failures
))
27 precise_mark
= results
.FindAllPageSpecificValuesNamed('oilpan_precise_mark')
28 self
.assertLess(0, len(precise_mark
))
30 def testForBlinkPerf(self
):
31 ps
= self
.CreatePageSetFromFileInUnittestDataDir('create_many_objects.html')
32 measurement
= oilpan_gc_times
.OilpanGCTimesForBlinkPerf()
33 results
= self
.RunMeasurement(measurement
, ps
, options
=self
._options
)
34 self
.assertEquals(0, len(results
.failures
))
36 precise_mark
= results
.FindAllPageSpecificValuesNamed('oilpan_precise_mark')
37 self
.assertLess(0, len(precise_mark
))