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