Lines Matching refs:self
110 def __init__(self): argument
111 self.hostname = platform.node()
112 if(self.hostname == ''):
113 self.hostname = 'localhost'
120 self.rtcpath = rtc
121 def setOutputFile(self): argument
122 if((self.htmlfile == '') and (self.dmesgfile != '')):
123 m = re.match('(?P<name>.*)_dmesg\.txt$', self.dmesgfile)
125 self.htmlfile = m.group('name')+'.html'
126 if((self.htmlfile == '') and (self.ftracefile != '')):
127 m = re.match('(?P<name>.*)_ftrace\.txt$', self.ftracefile)
129 self.htmlfile = m.group('name')+'.html'
130 if(self.htmlfile == ''):
131 self.htmlfile = 'output.html'
132 def initTestOutput(self, subdir): argument
133 if(not self.android):
134 self.prefix = self.hostname
138 self.prefix = 'android'
139 v = os.popen(self.adb+' shell cat /proc/version').read().strip()
143 self.testdir = subdir+"/"+testtime
145 self.testdir = testtime
146 self.teststamp = \
147 '# '+testtime+' '+self.prefix+' '+self.suspendmode+' '+kver
148 self.dmesgfile = \
149 self.testdir+'/'+self.prefix+'_'+self.suspendmode+'_dmesg.txt'
150 self.ftracefile = \
151 self.testdir+'/'+self.prefix+'_'+self.suspendmode+'_ftrace.txt'
152 self.htmlfile = \
153 self.testdir+'/'+self.prefix+'_'+self.suspendmode+'.html'
154 os.mkdir(self.testdir)
155 def setDeviceFilter(self, devnames): argument
156 self.devicefilter = string.split(devnames)
157 def rtcWakeAlarm(self): argument
158 os.system('echo 0 > '+self.rtcpath+'/wakealarm')
159 outD = open(self.rtcpath+'/date', 'r').read().strip()
160 outT = open(self.rtcpath+'/time', 'r').read().strip()
173 alarm = nowtime + self.rtcwaketime
174 os.system('echo %d > %s/wakealarm' % (alarm, self.rtcpath))
186 def __init__(self, nodename, nodedepth): argument
187 self.name = nodename
188 self.children = []
189 self.depth = nodedepth
231 def __init__(self, num): argument
233 self.testnumber = num
234 self.idstr = idchar[num]
235 self.dmesgtext = []
236 self.phases = []
237 self.dmesg = { # fixed list of 10 phases
259 self.phases = self.sortedPhases()
260 def getStart(self): argument
261 return self.dmesg[self.phases[0]]['start']
262 def setStart(self, time): argument
263 self.start = time
264 self.dmesg[self.phases[0]]['start'] = time
265 def getEnd(self): argument
266 return self.dmesg[self.phases[-1]]['end']
267 def setEnd(self, time): argument
268 self.end = time
269 self.dmesg[self.phases[-1]]['end'] = time
270 def isTraceEventOutsideDeviceCalls(self, pid, time): argument
271 for phase in self.phases:
272 list = self.dmesg[phase]['list']
279 def addIntraDevTraceEvent(self, action, name, pid, time): argument
292 for phase in self.phases:
293 list = self.dmesg[phase]['list']
305 def capIntraDevTraceEvent(self, action, name, pid, time): argument
306 for phase in self.phases:
307 list = self.dmesg[phase]['list']
321 def trimTimeVal(self, t, t0, dT, left): argument
336 def trimTime(self, t0, dT, left): argument
337 self.tSuspended = self.trimTimeVal(self.tSuspended, t0, dT, left)
338 self.tResumed = self.trimTimeVal(self.tResumed, t0, dT, left)
339 self.start = self.trimTimeVal(self.start, t0, dT, left)
340 self.end = self.trimTimeVal(self.end, t0, dT, left)
341 for phase in self.phases:
342 p = self.dmesg[phase]
343 p['start'] = self.trimTimeVal(p['start'], t0, dT, left)
344 p['end'] = self.trimTimeVal(p['end'], t0, dT, left)
348 d['start'] = self.trimTimeVal(d['start'], t0, dT, left)
349 d['end'] = self.trimTimeVal(d['end'], t0, dT, left)
352 cg.start = self.trimTimeVal(cg.start, t0, dT, left)
353 cg.end = self.trimTimeVal(cg.end, t0, dT, left)
355 line.time = self.trimTimeVal(line.time, t0, dT, left)
358 e.time = self.trimTimeVal(e.time, t0, dT, left)
359 def normalizeTime(self, tZero): argument
361 if(self.tSuspended != self.tResumed):
362 if(self.tResumed > tZero):
363 self.trimTime(self.tSuspended, \
364 self.tResumed-self.tSuspended, True)
366 self.trimTime(self.tSuspended, \
367 self.tResumed-self.tSuspended, False)
369 self.tSuspended -= tZero
370 self.tResumed -= tZero
371 self.start -= tZero
372 self.end -= tZero
373 for phase in self.phases:
374 p = self.dmesg[phase]
391 def newPhaseWithSingleAction(self, phasename, devname, start, end, color): argument
392 for phase in self.phases:
393 self.dmesg[phase]['order'] += 1
394 self.html_device_id += 1
395 devid = '%s%d' % (self.idstr, self.html_device_id)
400 self.dmesg[phasename] = \
403 self.phases = self.sortedPhases()
404 def newPhase(self, phasename, start, end, color, order): argument
406 order = len(self.phases)
407 for phase in self.phases[order:]:
408 self.dmesg[phase]['order'] += 1
410 p = self.phases[order-1]
411 self.dmesg[p]['end'] = start
412 if(order < len(self.phases)):
413 p = self.phases[order]
414 self.dmesg[p]['start'] = end
416 self.dmesg[phasename] = \
419 self.phases = self.sortedPhases()
420 def setPhase(self, phase, ktime, isbegin): argument
422 self.dmesg[phase]['start'] = ktime
424 self.dmesg[phase]['end'] = ktime
425 def dmesgSortVal(self, phase): argument
426 return self.dmesg[phase]['order']
427 def sortedPhases(self): argument
428 return sorted(self.dmesg, key=self.dmesgSortVal)
429 def sortedDevices(self, phase): argument
430 list = self.dmesg[phase]['list']
439 def fixupInitcalls(self, phase, end): argument
441 phaselist = self.dmesg[phase]['list']
447 def deviceFilter(self, devicefilter): argument
450 for phase in self.phases:
451 list = self.dmesg[phase]['list']
458 children = self.deviceDescendants(name, phase)
462 for phase in self.phases:
463 list = self.dmesg[phase]['list']
471 def fixupInitcallsThatDidntReturn(self): argument
473 for phase in self.phases:
474 self.fixupInitcalls(phase, self.getEnd())
475 def newActionGlobal(self, name, start, end): argument
479 for phase in self.phases:
480 pstart = self.dmesg[phase]['start']
481 pend = self.dmesg[phase]['end']
486 if targetphase in self.phases:
487 self.newAction(targetphase, name, -1, '', start, end, '')
490 def newAction(self, phase, name, pid, parent, start, end, drv): argument
492 self.html_device_id += 1
493 devid = '%s%d' % (self.idstr, self.html_device_id)
494 list = self.dmesg[phase]['list']
500 def deviceIDs(self, devlist, phase): argument
502 list = self.dmesg[phase]['list']
507 def deviceParentID(self, devname, phase): argument
510 list = self.dmesg[phase]['list']
516 def deviceChildren(self, devname, phase): argument
518 list = self.dmesg[phase]['list']
523 def deviceDescendants(self, devname, phase): argument
524 children = self.deviceChildren(devname, phase)
527 family += self.deviceDescendants(child, phase)
529 def deviceChildrenIDs(self, devname, phase): argument
530 devlist = self.deviceChildren(devname, phase)
531 return self.deviceIDs(devlist, phase)
532 def printDetails(self): argument
533 vprint(' test start: %f' % self.start)
534 for phase in self.phases:
535 dc = len(self.dmesg[phase]['list'])
537 self.dmesg[phase]['start'], self.dmesg[phase]['end'], dc))
538 vprint(' test end: %f' % self.end)
539 def masterTopology(self, name, list, depth): argument
542 clist = self.deviceChildren(cname, 'resume')
543 cnode = self.masterTopology(cname, clist, depth+1)
546 def printTopology(self, node): argument
551 for phase in self.phases:
552 list = self.dmesg[phase]['list']
566 html += self.printTopology(cnode)
569 def rootDeviceList(self): argument
572 for phase in self.dmesg:
573 list = self.dmesg[phase]['list']
579 for phase in self.dmesg:
580 list = self.dmesg[phase]['list']
588 def deviceTopology(self): argument
589 rootlist = self.rootDeviceList()
590 master = self.masterTopology('', rootlist, 0)
591 return self.printTopology(master)
603 def __init__(self, a, n, c, t): argument
604 self.action = a
605 self.name = n
606 self.color = c
607 self.time = t
629 def __init__(self, t, m, d): argument
630 self.time = float(t)
643 self.name = emm.group('msg')
644 self.type = emm.group('call')
646 self.name = msg
647 self.fevent = True
651 self.length = float(d)/1000000
656 self.depth = self.getDepth(match.group('d'))
660 self.freturn = True
665 self.name = match.group('n')
668 self.fcall = True
673 self.name = match.group('n')
676 self.freturn = True
679 self.name = match.group('n')
682 self.name = m
683 def getDepth(self, str): argument
685 def debugPrint(self, dev): argument
686 if(self.freturn and self.fcall):
687 print('%s -- %f (%02d): %s(); (%.3f us)' % (dev, self.time, \
688 self.depth, self.name, self.length*1000000))
689 elif(self.freturn):
690 print('%s -- %f (%02d): %s} (%.3f us)' % (dev, self.time, \
691 self.depth, self.name, self.length*1000000))
693 print('%s -- %f (%02d): %s() { (%.3f us)' % (dev, self.time, \
694 self.depth, self.name, self.length*1000000))
708 def __init__(self): argument
709 self.start = -1.0
710 self.end = -1.0
711 self.list = []
712 self.depth = 0
713 def setDepth(self, line): argument
715 line.depth = self.depth
716 self.depth += 1
718 self.depth -= 1
719 line.depth = self.depth
721 line.depth = self.depth
722 def addLine(self, line, match): argument
723 if(not self.invalid):
724 self.setDepth(line)
726 if(self.start < 0):
727 self.start = line.time
728 self.end = line.time
729 self.list.append(line)
731 if(self.invalid):
733 if(len(self.list) >= 1000000 or self.depth < 0):
734 if(len(self.list) > 0):
735 first = self.list[0]
736 self.list = []
737 self.list.append(first)
738 self.invalid = True
742 window = '(%f - %f)' % (self.start, line.time)
743 if(self.depth < 0):
750 self.list.append(line)
751 if(self.start < 0):
752 self.start = line.time
754 def slice(self, t0, tN): argument
758 for l in self.list:
773 def sanityCheck(self): argument
776 for l in self.list:
790 def debugPrint(self, filename): argument
792 print('[%f - %f]') % (self.start, self.end)
793 for l in self.list:
807 for l in self.list:
831 def __init__(self): argument
832 self.html = {
837 def setRows(self, rows): argument
838 self.maxrows = int(rows)
839 self.scaleH = 100.0/float(self.maxrows)
840 self.height = self.maxrows*self.row_height_pixels
841 r = float(self.maxrows - 1)
844 self.rowH = (100.0 - self.scaleH)/r
866 def __init__(self, dataobj): argument
867 self.data = dataobj
868 self.ftemp = dict()
869 self.ttemp = dict()
870 def isReady(self): argument
874 def setTracerType(self, tracer): argument
875 self.tracertype = tracer
877 self.cgformat = True
878 self.ftrace_line_fmt = self.ftrace_line_fmt_fg
880 self.ftrace_line_fmt = self.ftrace_line_fmt_nop