<!DOCTYPE html> <html> <!-- Copyright (c) 2012 The Chromium Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --> <head> <title>LinuxPerfSchedParser tests</title> <script src="base.js"></script> </head> <body> <script> 'use strict'; base.require('unittest'); base.require('test_utils'); base.require('linux_perf_importer'); function testSchedSwitchRE() { var re = tracing._LinuxPerfSchedParserTestExports.schedSwitchRE; var x = re.exec('prev_comm=swapper prev_pid=0 prev_prio=120 prev_state=R ' + '==> next_comm=SurfaceFlinger next_pid=178 next_prio=112'); assertNotNull(x); assertEquals('swapper', x[1]); assertEquals('0', x[2]); assertEquals('120', x[3]); assertEquals('R', x[4]); assertEquals('SurfaceFlinger', x[5]); assertEquals('178', x[6]); assertEquals('112', x[7]); var x = re.exec('prev_comm=.android.chrome prev_pid=1562 prev_prio=120 ' + 'prev_state=R ==> next_comm=Binder Thread # next_pid=195 next_prio=120'); assertNotNull(x); assertEquals('.android.chrome', x[1]); assertEquals('Binder Thread #', x[5]); var x = re.exec('prev_comm=Binder Thread # prev_pid=1562 prev_prio=120 ' + 'prev_state=R ==> next_comm=.android.chrome next_pid=195 next_prio=120'); assertNotNull(x); assertEquals('Binder Thread #', x[1]); assertEquals('.android.chrome', x[5]); // explict test for prev_state of D|W var x = re.exec('prev_comm=.android.chrome prev_pid=1562 prev_prio=120 ' + 'prev_state=D|W ==> next_comm=Binder Thread # next_pid=195 ' + 'next_prio=120'); assertNotNull(x); assertEquals('D|W', x[4]); } function testSchedWakeupRE() { var re = tracing._LinuxPerfSchedParserTestExports.schedWakeupRE; var x = re.exec( 'comm=SensorService pid=207 prio=112 success=1 target_cpu=000'); assertNotNull(x); assertEquals('SensorService', x[1]); assertEquals('207', x[2]); assertEquals('112', x[3]); assertEquals('1', x[4]); assertEquals('000', x[5]); } function testImportOneSequenceWithSchedWakeUp() { // TODO(nduca): write test for this. } </script> </body> </html>