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.workqueue_parser', function() { // @suppress longLineCheck 1166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis test('workQueueImport', function() { 1266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var lines = [ 1366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' kworker/0:3-6880 [000] 2784.771958: workqueue_execute_start: ' + 1466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'work struct ffff8800a5083a20: function intel_unpin_work_fn', 1566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' kworker/0:3-6880 [000] 2784.771966: workqueue_execute_end: ' + 1666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'work struct ffff8800a5083a20', 1766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' kworker/1:2-7269 [001] 2784.805966: workqueue_execute_start: ' + 1866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'work struct ffff88014fb0f158: function do_dbs_timer', 1966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ' kworker/1:2-7269 [001] 2784.805975: workqueue_execute_end: ' + 2066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 'work struct ffff88014fb0f158' 2166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis ]; 2266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis var m = new tracing.TraceModel(lines.join('\n'), false); 2366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(0, m.importErrors.length); 2466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis 2566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1, m.processes['6880'].threads['6880'].sliceGroup.length); 2666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis assertEquals(1, m.processes['7269'].threads['7269'].sliceGroup.length); 2766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis }); 2866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis}); 29