Add logblame and some log buffer tests.
A utility to read a logcat and print statistics about who is spamming the log. And tests that use it Bug: 37252687 Test: ./test_analyze.py ; test_logs.py ; test_ps.py Change-Id: I811ba482b4be9779047f97c3f3b7ea5f996bd503
This commit is contained in:
97
tools/logblame/test_ps.py
Executable file
97
tools/logblame/test_ps.py
Executable file
@@ -0,0 +1,97 @@
|
||||
#!/usr/bin/env python2.7 -B
|
||||
|
||||
import ps
|
||||
|
||||
|
||||
def test_pids():
|
||||
text = """USER PID PPID VSIZE RSS WCHAN PC NAME
|
||||
root 1 0 10632 776 SyS_epoll_ 0000000000 S /init
|
||||
root 2 0 0 0 kthreadd 0000000000 S kthreadd
|
||||
u0_a22 7308 633 1808572 79760 SyS_epoll_ 0000000000 S com.google.android.dialer
|
||||
u0_a19 7370 633 1841228 37828 SyS_epoll_ 0000000000 S com.google.android.gms.feedback
|
||||
u0_a136 7846 634 1320656 119964 SyS_epoll_ 0000000000 S com.sonos.acr
|
||||
"""
|
||||
|
||||
actual = ps.ParsePs(text)
|
||||
|
||||
expected = [
|
||||
('root', '1', '0', '/init'),
|
||||
('root', '2', '0', 'kthreadd'),
|
||||
('u0_a22', '7308', '633', 'com.google.android.dialer'),
|
||||
('u0_a19', '7370', '633', 'com.google.android.gms.feedback'),
|
||||
('u0_a136', '7846', '634', 'com.sonos.acr')
|
||||
]
|
||||
|
||||
if actual != expected:
|
||||
print "Expected:"
|
||||
print expected
|
||||
print
|
||||
print "Actual:"
|
||||
print actual
|
||||
raise Exception("test failed")
|
||||
|
||||
|
||||
def test_uids():
|
||||
text = """vers,1
|
||||
vrfy,com.android.vending,10035
|
||||
ifv,com.google.android.gms,10019
|
||||
lib,com.vzw.apnlib,jar,/system/app/VZWAPNLib/VZWAPNLib.apk
|
||||
lib,com.google.android.media.effects,jar,/system/framework/com.google.android.media.effects.jar
|
||||
pkg,com.amazon.mShop.android.shopping,10118,116434610,1486361139496,1491403362196,com.android.vending
|
||||
pkg-splt,base,0
|
||||
pkg-usr,0,IbsusL,0,com.android.vending
|
||||
pkg,com.getgoodcode.bart,10129,21,1486361637815,1486361637815,com.android.vending
|
||||
pkg-splt,base,0
|
||||
pkg-usr,0,IbsuSl,0,?
|
||||
pkg,com.flightaware.android.liveFlightTracker,10115,138,1486361042695,1486361042695,com.android.vending
|
||||
pkg-splt,base,0
|
||||
pkg-usr,0,IbsuSl,0,?
|
||||
pkg,com.android.cts.priv.ctsshim,10010,24,1230796800000,1230796800000,?
|
||||
pkg-splt,base,0
|
||||
pkg-usr,0,IbsusL,0,?
|
||||
"""
|
||||
actual = ps.ParseUids(text)
|
||||
|
||||
expected = [
|
||||
('10118', 'com.amazon.mShop.android.shopping'),
|
||||
('10129', 'com.getgoodcode.bart'),
|
||||
('10115', 'com.flightaware.android.liveFlightTracker'),
|
||||
('10010', 'com.android.cts.priv.ctsshim')
|
||||
]
|
||||
|
||||
if actual != expected:
|
||||
print "Expected:"
|
||||
print expected
|
||||
print
|
||||
print "Actual:"
|
||||
print actual
|
||||
raise Exception("test failed")
|
||||
|
||||
|
||||
def test_update():
|
||||
"""Requires an attached device."""
|
||||
processes = ps.ProcessSet()
|
||||
processes.Update()
|
||||
processes.Update()
|
||||
processes.Print()
|
||||
process = processes.FindPid("0", "0")
|
||||
print "process:", process
|
||||
print "uid:", process.uid.uid
|
||||
print "username:", process.uid.name
|
||||
print "pid:", process.pid
|
||||
print "ppid:", process.ppid
|
||||
print "name:", process.name
|
||||
print "displayName:", process.DisplayName()
|
||||
|
||||
|
||||
def main():
|
||||
#test_uids()
|
||||
#test_pids()
|
||||
test_update()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
||||
# vim: set ts=2 sw=2 sts=2 tw=100 nocindent autoindent smartindent expandtab:
|
||||
Reference in New Issue
Block a user