blob: c4ca0ca8e72e485bb739f157e58f5ee1eb25b706 [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright (c) 2013 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.
-->
<link rel="import" href="/tracing/core/test_utils.html">
<link rel="import" href="/tracing/model/model.html">
<link rel="import" href="/tracing/model/kernel.html">
<script>
'use strict';
tr.b.unittest.testSuite(function() {
function newModel(events, callback) {
return tr.c.TestUtils.newModelWithEvents([events], {
shiftWorldToZero: false,
pruneContainers: false,
customizeModelCallback: callback
});
}
test('bestGuessAtCpuCountWithNoData', function() {
var m = newModel([]);
assert.isUndefined(m.kernel.bestGuessAtCpuCount);
});
test('bestGuessAtCpuCountWithCpuData', function() {
var m = newModel([], function(m) {
var c1 = m.kernel.getOrCreateCpu(1);
var c2 = m.kernel.getOrCreateCpu(2);
});
assert.equal(m.kernel.bestGuessAtCpuCount, 2);
});
test('bestGuessAtCpuCountWithSoftwareCpuCount', function() {
var m = newModel([], function(m) {
m.kernel.softwareMeasuredCpuCount = 2;
});
assert.equal(m.kernel.bestGuessAtCpuCount, 2);
});
test('kernelStableId', function() {
var model = newModel([]);
assert.equal(model.kernel.stableId, 'Kernel');
});
test('kernelTimeShifting', function() {
var m = newModel([]);
var ctr1 = m.kernel.getOrCreateCounter('cat', 'ctr1');
var series1 = new tr.model.CounterSeries('a', 0);
series1.addCounterSample(100, 5);
series1.addCounterSample(200, 5);
ctr1.addSeries(series1);
var ctr2 = m.kernel.getOrCreateCpu(1).getOrCreateCounter('cat', 'ctr2');
var series2 = new tr.model.CounterSeries('b', 0);
series2.addCounterSample(300, 5);
series2.addCounterSample(400, 5);
ctr2.addSeries(series2);
m.kernel.shiftTimestampsForward(2);
assert.equal(ctr1.series[0].samples[0].timestamp, 102);
assert.equal(ctr1.series[0].samples[1].timestamp, 202);
assert.equal(ctr2.series[0].samples[0].timestamp, 302);
assert.equal(ctr2.series[0].samples[1].timestamp, 402);
});
});
</script>