1<!DOCTYPE html> 2<html> 3<!-- 4Copyright (c) 2012 The Chromium Authors. All rights reserved. 5Use of this source code is governed by a BSD-style license that can be 6found in the LICENSE file. 7--> 8<head> 9<title>LinuxPerfSchedParser tests</title> 10<script src="base.js"></script> 11</head> 12<body> 13<script> 14'use strict'; 15 16base.require('unittest'); 17base.require('test_utils'); 18base.require('linux_perf_importer'); 19 20function testSchedSwitchRE() { 21 var re = tracing._LinuxPerfSchedParserTestExports.schedSwitchRE; 22 var x = re.exec('prev_comm=swapper prev_pid=0 prev_prio=120 prev_state=R ' + 23 '==> next_comm=SurfaceFlinger next_pid=178 next_prio=112'); 24 assertNotNull(x); 25 assertEquals('swapper', x[1]); 26 assertEquals('0', x[2]); 27 assertEquals('120', x[3]); 28 assertEquals('R', x[4]); 29 assertEquals('SurfaceFlinger', x[5]); 30 assertEquals('178', x[6]); 31 assertEquals('112', x[7]); 32 33 var x = re.exec('prev_comm=.android.chrome prev_pid=1562 prev_prio=120 ' + 34 'prev_state=R ==> next_comm=Binder Thread # next_pid=195 next_prio=120'); 35 assertNotNull(x); 36 assertEquals('.android.chrome', x[1]); 37 assertEquals('Binder Thread #', x[5]); 38 39 var x = re.exec('prev_comm=Binder Thread # prev_pid=1562 prev_prio=120 ' + 40 'prev_state=R ==> next_comm=.android.chrome next_pid=195 next_prio=120'); 41 assertNotNull(x); 42 assertEquals('Binder Thread #', x[1]); 43 assertEquals('.android.chrome', x[5]); 44 45 // explict test for prev_state of D|W 46 var x = re.exec('prev_comm=.android.chrome prev_pid=1562 prev_prio=120 ' + 47 'prev_state=D|W ==> next_comm=Binder Thread # next_pid=195 ' + 48 'next_prio=120'); 49 assertNotNull(x); 50 assertEquals('D|W', x[4]); 51} 52 53function testSchedWakeupRE() { 54 var re = tracing._LinuxPerfSchedParserTestExports.schedWakeupRE; 55 var x = re.exec( 56 'comm=SensorService pid=207 prio=112 success=1 target_cpu=000'); 57 assertNotNull(x); 58 assertEquals('SensorService', x[1]); 59 assertEquals('207', x[2]); 60 assertEquals('112', x[3]); 61 assertEquals('1', x[4]); 62 assertEquals('000', x[5]); 63} 64 65function testImportOneSequenceWithSchedWakeUp() { 66 // TODO(nduca): write test for this. 67} 68 69</script> 70</body> 71</html> 72