1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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:
|
|