blob: c5c0b3e464bd5ebe1207f181fc3652c3a80e0fa9 [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="/core/test_utils.html">
<link rel="import" href="/extras/importer/linux_perf/ftrace_importer.html">
<script>
'use strict';
tr.b.unittest.testSuite(function() {
test('cpuFreqTargetImport', function() {
var lines = [
'<idle>-0 [000] ..s3 1043.718825: cpufreq_interactive_target: ' +
'cpu=0 load=2 cur=2000000 targ=300000\n',
'<idle>-0 [000] ..s3 1043.718825: cpufreq_interactive_target: ' +
'cpu=0 load=12 cur=1000000 actual=1000000 targ=200000\n'
];
var m = new tr.Model(lines.join('\n'), false);
assert.isFalse(m.hasImportWarnings);
var threads = m.getAllThreads();
assert.equal(threads.length, 1);
var thread = threads[0];
assert.equal(thread.sliceGroup.slices[0].args['cpu'], 0);
assert.equal(thread.sliceGroup.slices[0].args['load'], 2);
assert.equal(thread.sliceGroup.slices[0].args['cur'], 2000000);
assert.equal(thread.sliceGroup.slices[0].args['targ'], 300000);
assert.equal(thread.sliceGroup.slices[1].args['cpu'], 0);
assert.equal(thread.sliceGroup.slices[1].args['load'], 12);
assert.equal(thread.sliceGroup.slices[1].args['cur'], 1000000);
assert.equal(thread.sliceGroup.slices[1].args['actual'], 1000000);
assert.equal(thread.sliceGroup.slices[1].args['targ'], 200000);
});
test('cpuFreqNotYetImport', function() {
var lines = [
'<idle>-0 [001] ..s3 1043.718832: cpufreq_interactive_notyet: ' +
'cpu=1 load=10 cur=700000 targ=200000\n',
'<idle>-0 [001] ..s3 1043.718832: cpufreq_interactive_notyet: ' +
'cpu=1 load=10 cur=700000 actual=1000000 targ=200000\n'
];
var m = new tr.Model(lines.join('\n'), false);
assert.isFalse(m.hasImportWarnings);
var threads = m.getAllThreads();
assert.equal(threads.length, 1);
var thread = threads[0];
assert.equal(thread.sliceGroup.slices[0].args['cpu'], 1);
assert.equal(thread.sliceGroup.slices[0].args['load'], 10);
assert.equal(thread.sliceGroup.slices[0].args['cur'], 700000);
assert.equal(thread.sliceGroup.slices[0].args['targ'], 200000);
assert.equal(thread.sliceGroup.slices[1].args['cpu'], 1);
assert.equal(thread.sliceGroup.slices[1].args['load'], 10);
assert.equal(thread.sliceGroup.slices[1].args['cur'], 700000);
assert.equal(thread.sliceGroup.slices[1].args['actual'], 1000000);
assert.equal(thread.sliceGroup.slices[1].args['targ'], 200000);
});
test('cpuFreqSetSpeedImport', function() {
var lines = [
'cfinteractive-23 [001] ...1 1043.719688: ' +
'cpufreq_interactive_setspeed: cpu=0 targ=200000 actual=700000\n'
];
var m = new tr.Model(lines.join('\n'), false);
assert.isFalse(m.hasImportWarnings);
var threads = m.getAllThreads();
assert.equal(threads.length, 1);
var thread = threads[0];
assert.equal(thread.sliceGroup.slices[0].args['cpu'], 0);
assert.equal(thread.sliceGroup.slices[0].args['targ'], 200000);
assert.equal(thread.sliceGroup.slices[0].args['actual'], 700000);
});
test('cpuFreqAlreadyImport', function() {
var lines = [
'<idle>-0 [000] ..s3 1043.738822: cpufreq_interactive_already: cpu=0 load=18 cur=200000 actual=700000 targ=200000\n' // @suppress longLineCheck
];
var m = new tr.Model(lines.join('\n'), false);
assert.isFalse(m.hasImportWarnings);
var threads = m.getAllThreads();
assert.equal(threads.length, 1);
var thread = threads[0];
assert.equal(thread.sliceGroup.slices[0].args['cpu'], 0);
assert.equal(thread.sliceGroup.slices[0].args['load'], 18);
assert.equal(thread.sliceGroup.slices[0].args['cur'], 200000);
assert.equal(thread.sliceGroup.slices[0].args['actual'], 700000);
assert.equal(thread.sliceGroup.slices[0].args['targ'], 200000);
});
test('cpuFreqBoostImport', function() {
var lines = [
'InputDispatcher-465 [001] ...1 1044.213948: ' +
'cpufreq_interactive_boost: pulse\n'
];
var m = new tr.Model(lines.join('\n'), false);
assert.isFalse(m.hasImportWarnings);
var threads = m.getAllThreads();
assert.equal(threads.length, 1);
var thread = threads[0];
assert.equal(thread.sliceGroup.slices[0].args['type'], 'pulse');
});
test('cpuFreqUnBoostImport', function() {
var lines = [
'InputDispatcher-465 [001] ...1 1044.213948: ' +
'cpufreq_interactive_unboost: pulse\n'
];
var m = new tr.Model(lines.join('\n'), false);
assert.isFalse(m.hasImportWarnings);
var threads = m.getAllThreads();
assert.equal(threads.length, 1);
var thread = threads[0];
assert.equal(thread.sliceGroup.slices[0].args['type'], 'pulse');
});
test('cpuFreqUpImport', function() {
var lines = [
'kinteractive-69 [003] .... 414324.164432: ' +
'cpufreq_interactive_up: cpu=1 targ=1400000 actual=800000'
];
var m = new tr.Model(lines.join('\n'), false);
assert.isFalse(m.hasImportWarnings);
var threads = m.getAllThreads();
assert.equal(threads.length, 1);
var thread = threads[0];
assert.equal(thread.sliceGroup.slices[0].args['cpu'], 1);
assert.equal(thread.sliceGroup.slices[0].args['targ'], 1400000);
assert.equal(thread.sliceGroup.slices[0].args['actual'], 800000);
});
test('cpuFreqDownImport', function() {
var lines = [
'kinteractive-69 [003] .... 414365.834193: ' +
'cpufreq_interactive_down: cpu=3 targ=800000 actual=1000000'
];
var m = new tr.Model(lines.join('\n'), false);
assert.isFalse(m.hasImportWarnings);
var threads = m.getAllThreads();
assert.equal(threads.length, 1);
var thread = threads[0];
assert.equal(thread.sliceGroup.slices[0].args['cpu'], 3);
assert.equal(thread.sliceGroup.slices[0].args['targ'], 800000);
assert.equal(thread.sliceGroup.slices[0].args['actual'], 1000000);
});
});
</script>