xref: /aosp_15_r20/development/tools/logblame/test_ps.py (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker#!/usr/bin/env python2.7 -B
2*90c8c64dSAndroid Build Coastguard Worker
3*90c8c64dSAndroid Build Coastguard Workerimport ps
4*90c8c64dSAndroid Build Coastguard Worker
5*90c8c64dSAndroid Build Coastguard Worker
6*90c8c64dSAndroid Build Coastguard Workerdef test_pids():
7*90c8c64dSAndroid Build Coastguard Worker  text = """USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
8*90c8c64dSAndroid Build Coastguard Workerroot      1     0     10632  776   SyS_epoll_ 0000000000 S /init
9*90c8c64dSAndroid Build Coastguard Workerroot      2     0     0      0       kthreadd 0000000000 S kthreadd
10*90c8c64dSAndroid Build Coastguard Workeru0_a22    7308  633   1808572 79760 SyS_epoll_ 0000000000 S com.google.android.dialer
11*90c8c64dSAndroid Build Coastguard Workeru0_a19    7370  633   1841228 37828 SyS_epoll_ 0000000000 S com.google.android.gms.feedback
12*90c8c64dSAndroid Build Coastguard Workeru0_a136   7846  634   1320656 119964 SyS_epoll_ 0000000000 S com.sonos.acr
13*90c8c64dSAndroid Build Coastguard Worker"""
14*90c8c64dSAndroid Build Coastguard Worker
15*90c8c64dSAndroid Build Coastguard Worker  actual = ps.ParsePs(text)
16*90c8c64dSAndroid Build Coastguard Worker
17*90c8c64dSAndroid Build Coastguard Worker  expected = [
18*90c8c64dSAndroid Build Coastguard Worker      ('root', '1', '0', '/init'),
19*90c8c64dSAndroid Build Coastguard Worker      ('root', '2', '0', 'kthreadd'),
20*90c8c64dSAndroid Build Coastguard Worker      ('u0_a22', '7308', '633', 'com.google.android.dialer'),
21*90c8c64dSAndroid Build Coastguard Worker      ('u0_a19', '7370', '633', 'com.google.android.gms.feedback'),
22*90c8c64dSAndroid Build Coastguard Worker      ('u0_a136', '7846', '634', 'com.sonos.acr')
23*90c8c64dSAndroid Build Coastguard Worker    ]
24*90c8c64dSAndroid Build Coastguard Worker
25*90c8c64dSAndroid Build Coastguard Worker  if actual != expected:
26*90c8c64dSAndroid Build Coastguard Worker    print "Expected:"
27*90c8c64dSAndroid Build Coastguard Worker    print expected
28*90c8c64dSAndroid Build Coastguard Worker    print
29*90c8c64dSAndroid Build Coastguard Worker    print "Actual:"
30*90c8c64dSAndroid Build Coastguard Worker    print actual
31*90c8c64dSAndroid Build Coastguard Worker    raise Exception("test failed")
32*90c8c64dSAndroid Build Coastguard Worker
33*90c8c64dSAndroid Build Coastguard Worker
34*90c8c64dSAndroid Build Coastguard Workerdef test_uids():
35*90c8c64dSAndroid Build Coastguard Worker  text = """vers,1
36*90c8c64dSAndroid Build Coastguard Workervrfy,com.android.vending,10035
37*90c8c64dSAndroid Build Coastguard Workerifv,com.google.android.gms,10019
38*90c8c64dSAndroid Build Coastguard Workerlib,com.vzw.apnlib,jar,/system/app/VZWAPNLib/VZWAPNLib.apk
39*90c8c64dSAndroid Build Coastguard Workerlib,com.google.android.media.effects,jar,/system/framework/com.google.android.media.effects.jar
40*90c8c64dSAndroid Build Coastguard Workerpkg,com.amazon.mShop.android.shopping,10118,116434610,1486361139496,1491403362196,com.android.vending
41*90c8c64dSAndroid Build Coastguard Workerpkg-splt,base,0
42*90c8c64dSAndroid Build Coastguard Workerpkg-usr,0,IbsusL,0,com.android.vending
43*90c8c64dSAndroid Build Coastguard Workerpkg,com.getgoodcode.bart,10129,21,1486361637815,1486361637815,com.android.vending
44*90c8c64dSAndroid Build Coastguard Workerpkg-splt,base,0
45*90c8c64dSAndroid Build Coastguard Workerpkg-usr,0,IbsuSl,0,?
46*90c8c64dSAndroid Build Coastguard Workerpkg,com.flightaware.android.liveFlightTracker,10115,138,1486361042695,1486361042695,com.android.vending
47*90c8c64dSAndroid Build Coastguard Workerpkg-splt,base,0
48*90c8c64dSAndroid Build Coastguard Workerpkg-usr,0,IbsuSl,0,?
49*90c8c64dSAndroid Build Coastguard Workerpkg,com.android.cts.priv.ctsshim,10010,24,1230796800000,1230796800000,?
50*90c8c64dSAndroid Build Coastguard Workerpkg-splt,base,0
51*90c8c64dSAndroid Build Coastguard Workerpkg-usr,0,IbsusL,0,?
52*90c8c64dSAndroid Build Coastguard Worker"""
53*90c8c64dSAndroid Build Coastguard Worker  actual = ps.ParseUids(text)
54*90c8c64dSAndroid Build Coastguard Worker
55*90c8c64dSAndroid Build Coastguard Worker  expected = [
56*90c8c64dSAndroid Build Coastguard Worker    ('10118', 'com.amazon.mShop.android.shopping'),
57*90c8c64dSAndroid Build Coastguard Worker    ('10129', 'com.getgoodcode.bart'),
58*90c8c64dSAndroid Build Coastguard Worker    ('10115', 'com.flightaware.android.liveFlightTracker'),
59*90c8c64dSAndroid Build Coastguard Worker    ('10010', 'com.android.cts.priv.ctsshim')
60*90c8c64dSAndroid Build Coastguard Worker  ]
61*90c8c64dSAndroid Build Coastguard Worker
62*90c8c64dSAndroid Build Coastguard Worker  if actual != expected:
63*90c8c64dSAndroid Build Coastguard Worker    print "Expected:"
64*90c8c64dSAndroid Build Coastguard Worker    print expected
65*90c8c64dSAndroid Build Coastguard Worker    print
66*90c8c64dSAndroid Build Coastguard Worker    print "Actual:"
67*90c8c64dSAndroid Build Coastguard Worker    print actual
68*90c8c64dSAndroid Build Coastguard Worker    raise Exception("test failed")
69*90c8c64dSAndroid Build Coastguard Worker
70*90c8c64dSAndroid Build Coastguard Worker
71*90c8c64dSAndroid Build Coastguard Workerdef test_update():
72*90c8c64dSAndroid Build Coastguard Worker  """Requires an attached device."""
73*90c8c64dSAndroid Build Coastguard Worker  processes = ps.ProcessSet()
74*90c8c64dSAndroid Build Coastguard Worker  processes.Update()
75*90c8c64dSAndroid Build Coastguard Worker  processes.Update()
76*90c8c64dSAndroid Build Coastguard Worker  processes.Print()
77*90c8c64dSAndroid Build Coastguard Worker  process = processes.FindPid("0", "0")
78*90c8c64dSAndroid Build Coastguard Worker  print "process:", process
79*90c8c64dSAndroid Build Coastguard Worker  print "uid:", process.uid.uid
80*90c8c64dSAndroid Build Coastguard Worker  print "username:", process.uid.name
81*90c8c64dSAndroid Build Coastguard Worker  print "pid:", process.pid
82*90c8c64dSAndroid Build Coastguard Worker  print "ppid:", process.ppid
83*90c8c64dSAndroid Build Coastguard Worker  print "name:", process.name
84*90c8c64dSAndroid Build Coastguard Worker  print "displayName:", process.DisplayName()
85*90c8c64dSAndroid Build Coastguard Worker
86*90c8c64dSAndroid Build Coastguard Worker
87*90c8c64dSAndroid Build Coastguard Workerdef main():
88*90c8c64dSAndroid Build Coastguard Worker  #test_uids()
89*90c8c64dSAndroid Build Coastguard Worker  #test_pids()
90*90c8c64dSAndroid Build Coastguard Worker  test_update()
91*90c8c64dSAndroid Build Coastguard Worker
92*90c8c64dSAndroid Build Coastguard Worker
93*90c8c64dSAndroid Build Coastguard Workerif __name__ == "__main__":
94*90c8c64dSAndroid Build Coastguard Worker    main()
95*90c8c64dSAndroid Build Coastguard Worker
96*90c8c64dSAndroid Build Coastguard Worker
97*90c8c64dSAndroid Build Coastguard Worker# vim: set ts=2 sw=2 sts=2 tw=100 nocindent autoindent smartindent expandtab:
98