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