166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Copyright (c) 2013 The Chromium Authors. All rights reserved.
266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Use of this source code is governed by a BSD-style license that can be
366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// found in the LICENSE file.
466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis'use strict';
666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.test_utils');
866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.importer.linux_perf_importer');
966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
1066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.unittest.testSuite('tracing.importer.linux_perf.exynos_parser',
1166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis                        function() {
1266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis      test('exynosImport', function() {
1366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        var lines = [
1466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis          ' X-945   [001] ....   113.995549: exynos_flip_request: pipe=0',
1566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis          ' X-945   [001] ....   113.995561: exynos_flip_complete: pipe=0'
1666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        ];
1766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        var m = new tracing.TraceModel(lines.join('\n'), false);
1866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        assertEquals(0, m.importErrors.length);
1966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
2066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        var threads = m.getAllThreads();
2166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        assertEquals(1, threads.length);
2266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
2366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        var gfxFlipThread = threads[0];
2466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        assertEquals('exynos_flip', gfxFlipThread.name);
2566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        assertEquals(1, gfxFlipThread.sliceGroup.length);
2666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis      });
2766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
2866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis      test('exynosBusfreqImport', function() {
2966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        var lines = [
3066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis          '     kworker/1:0-4177  [001] ....  2803.129806: ' +
3166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis              'exynos_busfreq_target_int: frequency=200000',
3266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis          '     kworker/1:0-4177  [001] ....  2803.229207: ' +
3366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis              'exynos_busfreq_target_int: frequency=267000',
3466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis          '     kworker/1:0-4177  [001] ....  2803.329031: ' +
3566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis              'exynos_busfreq_target_int: frequency=160000',
3666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis          '     kworker/1:0-4177  [001] ....  2805.729039: ' +
3766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis              'exynos_busfreq_target_mif: frequency=200000'
3866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        ];
3966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        var m = new tracing.TraceModel(lines.join('\n'), false);
4066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        assertEquals(0, m.importErrors.length);
4166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
4266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        var c0 = m.kernel.cpus[0];
4366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis        assertEquals(0, c0.slices.length);
446833e18b1d4077bf3a727b4422cc2acdbeee35a7Jamie Gennis        assertEquals(3, c0.counters['INT Frequency'].series[0].samples.length);
456833e18b1d4077bf3a727b4422cc2acdbeee35a7Jamie Gennis        assertEquals(1, c0.counters['MIF Frequency'].series[0].samples.length);
4666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis      });
4766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    });
48