1c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen// Use of this source code is governed by a BSD-style license that can be 3c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen// found in the LICENSE file. 4c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 5c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen'use strict'; 6c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 7c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsenbase.require('tracing.test_utils'); 8c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsenbase.require('tracing.importer.linux_perf_importer'); 9c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 10c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsenbase.unittest.testSuite('tracing.importer.linux_perf.irq_parser', function() { // @suppress longLineCheck 11c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen test('irqImport', function() { 12c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen var lines = [ 13c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen ' kworker/u4:1-31907 (31907) [001] d.h3 14063.748288: ' + 14c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 'irq_handler_entry: irq=27 name=arch_timer', 15c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen ' kworker/u4:1-31907 (31907) [001] dNh3 14063.748384: ' + 16c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 'irq_handler_exit: irq=27 ret=handled', 17c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen ' kworker/u4:2-31908 (31908) [000] ..s3 14063.477231: ' + 18c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 'softirq_entry: vec=9 [action=RCU]', 19c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen ' kworker/u4:2-31908 (31908) [000] ..s3 14063.477246: ' + 20c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 'softirq_exit: vec=9 [action=RCU]', 21c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen ]; 22c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen var m = new tracing.TraceModel(lines.join('\n'), false); 23c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen assertEquals(0, m.importErrors.length); 24c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 25c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen var threads = m.getAllThreads(); 26c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen assertEquals(2, threads.length); 27c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 28c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen var threads = m.findAllThreadsNamed('irqs cpu 1'); 29c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen assertEquals(1, threads.length); 30c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen assertEquals(1, threads[0].sliceGroup.length); 31c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen 32c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen var threads = m.findAllThreadsNamed('softirq cpu 0'); 33c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen assertEquals(1, threads.length); 34c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen assertEquals(1, threads[0].sliceGroup.length); 35c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen }); 36c7271240bb39a5a3209208ff2842b89258e33869Dan Willemsen}); 37