You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.7 KiB
97 lines
2.7 KiB
#!/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:
|
|
|