| #!/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: |