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 666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis'use strict'; 766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.test_utils'); 966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.importer.linux_perf_importer'); 1066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 1166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.unittest.testSuite('tracing.importer.linux_perf.sync_parser', function() { // @suppress longLineCheck 1266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis test('syncEventImport', function() { 1366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var lines = [ 1466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 's3c-fb-92 ( 0) [000] ...1 7206.550061: sync_timeline: name=s3c-fb value=7094', // @suppress longLineCheck 1566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'TimedEventQueue-2700 ( 0) [001] ...1 7206.569027: sync_wait: begin name=SurfaceView:6 state=1', // @suppress longLineCheck 1666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'TimedEventQueue-2700 ( 0) [001] ...1 7206.569038: sync_pt: name=malitl_124_0x40b6406c value=7289', // @suppress longLineCheck 1766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'TimedEventQueue-2700 ( 0) [001] ...1 7206.569056: sync_pt: name=exynos-gsc.0-src value=25', // @suppress longLineCheck 1866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'TimedEventQueue-2700 ( 0) [001] ...1 7206.569068: sync_wait: end name=SurfaceView:6 state=1', // @suppress longLineCheck 1966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'irq/128-s5p-mfc-62 ( 0) [000] d..3 7206.572402: sync_timeline: name=vb2 value=37', // @suppress longLineCheck 2066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'irq/128-s5p-mfc-62 ( 0) [000] d..3 7206.572475: sync_timeline: name=vb2 value=33', // @suppress longLineCheck 2166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'SurfaceFlinger-225 ( 0) [001] ...1 7206.584769: sync_timeline: name=malitl_124_0x40b6406c value=7290', // @suppress longLineCheck 2266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'kworker/u:5-2269 ( 0) [000] ...1 7206.586745: sync_wait: begin name=display state=1', // @suppress longLineCheck 2366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'kworker/u:5-2269 ( 0) [000] ...1 7206.586750: sync_pt: name=s3c-fb value=7093', // @suppress longLineCheck 2466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'kworker/u:5-2269 ( 0) [000] ...1 7206.586760: sync_wait: end name=display state=1', // @suppress longLineCheck 2566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 's3c-fb-92 ( 0) [000] ...1 7206.587193: sync_wait: begin name=vb2 state=0', // @suppress longLineCheck 2666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 's3c-fb-92 ( 0) [000] ...1 7206.587198: sync_pt: name=exynos-gsc.0-dst value=27', // @suppress longLineCheck 2766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis '<idle>-0 ( 0) [000] d.h4 7206.591133: sync_timeline: name=exynos-gsc.0-src value=27', // @suppress longLineCheck 2866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis '<idle>-0 ( 0) [000] d.h4 7206.591152: sync_timeline: name=exynos-gsc.0-dst value=27', // @suppress longLineCheck 2966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 's3c-fb-92 ( 0) [000] ...1 7206.591244: sync_wait: end name=vb2 state=1' // @suppress longLineCheck 3066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ]; 3166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 3266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var m = new tracing.TraceModel(lines.join('\n'), false); 3366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(0, m.importErrors.length); 3466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 3566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var threads = m.getAllThreads(); 3666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(4, threads.length); 3766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 3866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var threads = m.findAllThreadsNamed('s3c-fb'); 3966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1, threads.length); 4066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1, threads[0].sliceGroup.length); 4166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 4266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var threads = m.findAllThreadsNamed('kworker/u:5'); 4366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1, threads.length); 4466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1, threads[0].sliceGroup.length); 4566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals('fence_wait("display")', 4666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis threads[0].sliceGroup.slices[0].title); 4766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }); 4866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis}); 49