Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / src / tracing / importer / linux_perf / power_parser_test.js
1 // Copyright (c) 2013 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
5 'use strict';
6
7 tvcm.require('tracing.test_utils');
8 tvcm.require('tracing.importer.linux_perf_importer');
9
10 tvcm.unittest.testSuite('tracing.importer.linux_perf.power_parser_test', function() { // @suppress longLineCheck
11   test('powerFrequencyImport', function() {
12     var lines = [
13       ' kworker/0:3-6880  [000]  2784.783015: power_frequency: ' +
14                  'type=2 state=1000000 cpu_id=0',
15       ' kworker/1:2-7269  [001]  2784.788993: power_frequency: ' +
16                  'type=2 state=800000 cpu_id=1',
17       ' kworker/1:2-7269  [001]  2784.993120: power_frequency: ' +
18                  'type=2 state=1300000 cpu_id=1'
19     ];
20     var m = new tracing.TraceModel(lines.join('\n'), false);
21     assertFalse(m.hasImportWarnings);
22
23     var c0 = m.kernel.cpus[0];
24     assertEquals(0, c0.slices.length);
25     assertEquals(1, c0.counters['Clock Frequency'].series[0].samples.length);
26
27     var c1 = m.kernel.cpus[1];
28     assertEquals(0, c1.slices.length);
29     assertEquals(2, c1.counters['Clock Frequency'].series[0].samples.length);
30   });
31
32   test('cpuFrequencyImport', function() {
33     var lines = [
34       '     kworker/1:0-9665  [001] 15051.007301: cpu_frequency: ' +
35                      'state=800000 cpu_id=1',
36       '     kworker/1:0-9665  [001] 15051.010278: cpu_frequency: ' +
37                      'state=1300000 cpu_id=1',
38       '     kworker/0:2-7972  [000] 15051.010278: cpu_frequency: ' +
39                      'state=1000000 cpu_id=0',
40       '     kworker/0:2-7972  [000] 15051.020304: cpu_frequency: ' +
41                      'state=800000 cpu_id=0'
42     ];
43     var m = new tracing.TraceModel(lines.join('\n'), false);
44     assertFalse(m.hasImportWarnings);
45
46     var c0 = m.kernel.cpus[0];
47     assertEquals(0, c0.slices.length);
48     assertEquals(2, c0.counters['Clock Frequency'].series[0].samples.length);
49
50     var c1 = m.kernel.cpus[1];
51     assertEquals(0, c1.slices.length);
52     assertEquals(2, c1.counters['Clock Frequency'].series[0].samples.length);
53   });
54
55   test('cpuIdleImport', function() {
56     var lines = [
57       '          <idle>-0     [000] 15050.992883: cpu_idle: ' +
58           'state=1 cpu_id=0',
59       '          <idle>-0     [000] 15050.993027: cpu_idle: ' +
60           'state=4294967295 cpu_id=0',
61       '          <idle>-0     [001] 15050.993132: cpu_idle: ' +
62           'state=1 cpu_id=1',
63       '          <idle>-0     [001] 15050.993276: cpu_idle: ' +
64           'state=4294967295 cpu_id=1',
65       '          <idle>-0     [001] 15050.993279: cpu_idle: ' +
66           'state=3 cpu_id=1',
67       '          <idle>-0     [001] 15050.993457: cpu_idle: ' +
68           'state=4294967295 cpu_id=1'
69     ];
70     var m = new tracing.TraceModel(lines.join('\n'), false);
71     assertFalse(m.hasImportWarnings);
72
73     var c0 = m.kernel.cpus[0];
74     assertEquals(0, c0.slices.length);
75     assertEquals(2, c0.counters['C-State'].series[0].samples.length);
76
77     var c1 = m.kernel.cpus[1];
78     assertEquals(0, c1.slices.length);
79     assertEquals(4, c1.counters['C-State'].series[0].samples.length);
80   });
81 });