diff options
Diffstat (limited to 'tests/src/com/android/loganalysis/parser/BugreportParserTest.java')
-rw-r--r-- | tests/src/com/android/loganalysis/parser/BugreportParserTest.java | 325 |
1 files changed, 171 insertions, 154 deletions
diff --git a/tests/src/com/android/loganalysis/parser/BugreportParserTest.java b/tests/src/com/android/loganalysis/parser/BugreportParserTest.java index b47ea22..4f40820 100644 --- a/tests/src/com/android/loganalysis/parser/BugreportParserTest.java +++ b/tests/src/com/android/loganalysis/parser/BugreportParserTest.java @@ -38,120 +38,128 @@ public class BugreportParserTest extends TestCase { * Test that a bugreport can be parsed. */ public void testParse() throws ParseException { - List<String> lines = Arrays.asList( - "========================================================", - "== dumpstate: 2012-04-25 20:45:10", - "========================================================", - "------ SECTION ------", - "", - "------ MEMORY INFO (/proc/meminfo) ------", - "MemTotal: 353332 kB", - "MemFree: 65420 kB", - "Buffers: 20800 kB", - "Cached: 86204 kB", - "SwapCached: 0 kB", - "", - "------ CPU INFO (top -n 1 -d 1 -m 30 -t) ------", - "", - "User 3%, System 3%, IOW 0%, IRQ 0%", - "User 33 + Nice 0 + Sys 32 + Idle 929 + IOW 0 + IRQ 0 + SIRQ 0 = 994", - "", - "------ PROCRANK (procrank) ------", - " PID Vss Rss Pss Uss cmdline", - " 178 87136K 81684K 52829K 50012K system_server", - " 1313 78128K 77996K 48603K 45812K com.google.android.apps.maps", - " 3247 61652K 61492K 33122K 30972K com.android.browser", - " ------ ------ ------", - " 203624K 163604K TOTAL", - "RAM: 731448K total, 415804K free, 9016K buffers, 108548K cached", - "[procrank: 1.6s elapsed]", - "", - "------ KERNEL LOG (dmesg) ------", - "<6>[ 0.000000] Initializing cgroup subsys cpu", - "<3>[ 1.000000] benign message", - "", - "", - "------ SYSTEM LOG (logcat -v threadtime -d *:v) ------", - "04-25 09:55:47.799 3064 3082 E AndroidRuntime: java.lang.Exception", - "04-25 09:55:47.799 3064 3082 E AndroidRuntime: \tat class.method1(Class.java:1)", - "04-25 09:55:47.799 3064 3082 E AndroidRuntime: \tat class.method2(Class.java:2)", - "04-25 09:55:47.799 3064 3082 E AndroidRuntime: \tat class.method3(Class.java:3)", - "04-25 17:17:08.445 312 366 E ActivityManager: ANR (application not responding) in process: com.android.package", - "04-25 17:17:08.445 312 366 E ActivityManager: Reason: keyDispatchingTimedOut", - "04-25 17:17:08.445 312 366 E ActivityManager: Load: 0.71 / 0.83 / 0.51", - "04-25 17:17:08.445 312 366 E ActivityManager: 33% TOTAL: 21% user + 11% kernel + 0.3% iowait", - "04-25 18:33:27.273 115 115 I DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***", - "04-25 18:33:27.273 115 115 I DEBUG : Build fingerprint: 'product:build:target'", - "04-25 18:33:27.273 115 115 I DEBUG : pid: 3112, tid: 3112 >>> com.google.android.browser <<<", - "04-25 18:33:27.273 115 115 I DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000", - "", - "------ SYSTEM PROPERTIES ------", - "[dalvik.vm.dexopt-flags]: [m=y]", - "[dalvik.vm.heapgrowthlimit]: [48m]", - "[dalvik.vm.heapsize]: [256m]", - "[gsm.version.ril-impl]: [android moto-ril-multimode 1.0]", - "", - "------ LAST KMSG (/proc/last_kmsg) ------", - "[ 0.000000] Initializing cgroup subsys cpu", - "[ 16.203491] benign message", - "", - "------ SECTION ------", - "", - "------ VM TRACES AT LAST ANR (/data/anr/traces.txt: 2012-04-25 17:17:08) ------", - "", - "", - "----- pid 2887 at 2012-04-25 17:17:08 -----", - "Cmd line: com.android.package", - "", - "DALVIK THREADS:", - "(mutexes: tll=0 tsl=0 tscl=0 ghl=0)", - "", - "\"main\" prio=5 tid=1 SUSPENDED", - " | group=\"main\" sCount=1 dsCount=0 obj=0x00000001 self=0x00000001", - " | sysTid=2887 nice=0 sched=0/0 cgrp=foreground handle=0000000001", - " | schedstat=( 0 0 0 ) utm=5954 stm=1017 core=0", - " at class.method1(Class.java:1)", - " at class.method2(Class.java:2)", - " at class.method2(Class.java:2)", - "", - "----- end 2887 -----", - "", - "------ SECTION ------", - "", - "------ DUMPSYS (dumpsys) ------", - "DUMP OF SERVICE batterystats:", - "Battery History (0% used, 1636 used of 256KB, 15 strings using 794):", - " 0 (15) RESET:TIME: 1970-01-10-06-23-28", - " +45s702ms (2) 001 80080000 volt=4187", - " +1m15s525ms (2) 001 80080000 temp=299 volt=4155", - "Statistics since last charged:", - " Time on battery: 1h 5m 2s 4ms (9%) realtime, 1h 5m 2s 4ms (9%) uptime", - " Time on battery screen off: 1h 4m 5s 8ms (9%) realtime, 1h 4m 5s 8ms (9%) uptime", - " All kernel wake locks:", - " Kernel Wake lock PowerManagerService.WakeLocks: 5m 10s 6ms (2 times) realtime", - " Kernel Wake lock msm_serial_hs_rx: 2m 13s 612ms (258 times) realtime", - "", - " All partial wake locks:", - " Wake lock 1001 ProxyController: 1h 4m 47s 565ms (4 times) realtime", - " Wake lock 1013 AudioMix: 1s 979ms (3 times) realtime", - "", - " All wakeup reasons:", - " Wakeup reason 2:bcmsdh_sdmmc:2:qcom,smd:2:msmgio: 1m 5s 4ms (2 times) realtime", - " Wakeup reason 2:qcom,smd-rpm:2:fc4c.qcom,spmi: 7m 1s 914ms (7 times) realtime", - "", - "========================================================", - "== Running Application Services", - "========================================================", - "------ APP SERVICES (dumpsys activity service all) ------", - "SERVICE com.google.android.gms/" - + "com.google.android.location.internal.GoogleLocationManagerService f4c9d pid=14", - " Location Request History By Package:", - "Interval effective/min/max 1/0/0[s] Duration: 140[minutes] [" - + "com.google.android.gms, PRIORITY_NO_POWER, UserLocationProducer] " - + "Num requests: 2 Active: true", - "Interval effective/min/max 284/285/3600[s] Duration: 140[minutes] " - + "[com.google.android.googlequicksearchbox, PRIORITY_BALANCED_POWER_ACCURACY] " - + "Num requests: 5 Active: true"); + List<String> lines = + Arrays.asList( + "========================================================", + "== dumpstate: 2012-04-25 20:45:10", + "========================================================", + "------ SECTION ------", + "", + "------ MEMORY INFO (/proc/meminfo) ------", + "MemTotal: 353332 kB", + "MemFree: 65420 kB", + "Buffers: 20800 kB", + "Cached: 86204 kB", + "SwapCached: 0 kB", + "", + "------ CPU INFO (top -n 1 -d 1 -m 30 -t) ------", + "", + "User 3%, System 3%, IOW 0%, IRQ 0%", + "User 33 + Nice 0 + Sys 32 + Idle 929 + IOW 0 + IRQ 0 + SIRQ 0 = 994", + "", + "------ PROCRANK (procrank) ------", + " PID Vss Rss Pss Uss cmdline", + " 178 87136K 81684K 52829K 50012K system_server", + " 1313 78128K 77996K 48603K 45812K com.google.android.apps.maps", + " 3247 61652K 61492K 33122K 30972K com.android.browser", + " ------ ------ ------", + " 203624K 163604K TOTAL", + "RAM: 731448K total, 415804K free, 9016K buffers, 108548K cached", + "[procrank: 1.6s elapsed]", + "", + "------ KERNEL LOG (dmesg) ------", + "<6>[ 0.000000] Initializing cgroup subsys cpu", + "<3>[ 1.000000] benign message", + "", + "", + "------ SYSTEM LOG (logcat -v threadtime -d *:v) ------", + "04-25 09:55:47.799 3064 3082 E AndroidRuntime: java.lang.Exception", + "04-25 09:55:47.799 3064 3082 E AndroidRuntime: \tat class.method1(Class.java:1)", + "04-25 09:55:47.799 3064 3082 E AndroidRuntime: \tat class.method2(Class.java:2)", + "04-25 09:55:47.799 3064 3082 E AndroidRuntime: \tat class.method3(Class.java:3)", + "04-25 17:17:08.445 312 366 E ActivityManager: ANR (application not responding) in process: com.android.package", + "04-25 17:17:08.445 312 366 E ActivityManager: Reason: keyDispatchingTimedOut", + "04-25 17:17:08.445 312 366 E ActivityManager: Load: 0.71 / 0.83 / 0.51", + "04-25 17:17:08.445 312 366 E ActivityManager: 33% TOTAL: 21% user + 11% kernel + 0.3% iowait", + "04-25 18:33:27.273 115 115 I DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***", + "04-25 18:33:27.273 115 115 I DEBUG : Build fingerprint: 'product:build:target'", + "04-25 18:33:27.273 115 115 I DEBUG : pid: 3112, tid: 3112 >>> com.google.android.browser <<<", + "04-25 18:33:27.273 115 115 I DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000", + "", + "------ SYSTEM PROPERTIES ------", + "[dalvik.vm.dexopt-flags]: [m=y]", + "[dalvik.vm.heapgrowthlimit]: [48m]", + "[dalvik.vm.heapsize]: [256m]", + "[gsm.version.ril-impl]: [android moto-ril-multimode 1.0]", + "", + "------ LAST KMSG (/proc/last_kmsg) ------", + "[ 0.000000] Initializing cgroup subsys cpu", + "[ 16.203491] benign message", + "", + "------ SECTION ------", + "", + "------ VM TRACES AT LAST ANR (/data/anr/traces.txt: 2012-04-25 17:17:08) ------", + "", + "", + "----- pid 2887 at 2012-04-25 17:17:08 -----", + "Cmd line: com.android.package", + "", + "DALVIK THREADS:", + "(mutexes: tll=0 tsl=0 tscl=0 ghl=0)", + "", + "\"main\" prio=5 tid=1 SUSPENDED", + " | group=\"main\" sCount=1 dsCount=0 obj=0x00000001 self=0x00000001", + " | sysTid=2887 nice=0 sched=0/0 cgrp=foreground handle=0000000001", + " | schedstat=( 0 0 0 ) utm=5954 stm=1017 core=0", + " at class.method1(Class.java:1)", + " at class.method2(Class.java:2)", + " at class.method2(Class.java:2)", + "", + "----- end 2887 -----", + "", + "------ SECTION ------", + "", + "------ DUMPSYS (dumpsys) ------", + "DUMP OF SERVICE batterystats:", + "Battery History (0% used, 1636 used of 256KB, 15 strings using 794):", + " 0 (15) RESET:TIME: 1970-01-10-06-23-28", + " +45s702ms (2) 001 80080000 volt=4187", + " +1m15s525ms (2) 001 80080000 temp=299 volt=4155", + "Statistics since last charged:", + " Time on battery: 1h 5m 2s 4ms (9%) realtime, 1h 5m 2s 4ms (9%) uptime", + " Time on battery screen off: 1h 4m 5s 8ms (9%) realtime, 1h 4m 5s 8ms (9%) uptime", + " All kernel wake locks:", + " Kernel Wake lock PowerManagerService.WakeLocks: 5m 10s 6ms (2 times) realtime", + " Kernel Wake lock msm_serial_hs_rx: 2m 13s 612ms (258 times) realtime", + "", + " All partial wake locks:", + " Wake lock 1001 ProxyController: 1h 4m 47s 565ms (4 times) realtime", + " Wake lock 1013 AudioMix: 1s 979ms (3 times) realtime", + "", + " All wakeup reasons:", + " Wakeup reason 2:bcmsdh_sdmmc:2:qcom,smd:2:msmgio: 1m 5s 4ms (2 times) realtime", + " Wakeup reason 2:qcom,smd-rpm:2:fc4c.qcom,spmi: 7m 1s 914ms (7 times) realtime", + "", + "DUMP OF SERVICE package:", + "Package [com.google.android.calculator] (e075c9d):", + " userId=10071", + " secondaryCpuAbi=null", + " versionCode=73000302 minSdk=10000 targetSdk=10000", + " versionName=7.3 (3821978)", + " splits=[base]", + "========================================================", + "== Running Application Services", + "========================================================", + "------ APP SERVICES (dumpsys activity service all) ------", + "SERVICE com.google.android.gms/" + + "com.google.android.location.internal.GoogleLocationManagerService f4c9d pid=14", + " Location Request History By Package:", + "Interval effective/min/max 1/0/0[s] Duration: 140[minutes] [" + + "com.google.android.gms, PRIORITY_NO_POWER, UserLocationProducer] " + + "Num requests: 2 Active: true", + "Interval effective/min/max 284/285/3600[s] Duration: 140[minutes] " + + "[com.google.android.googlequicksearchbox, PRIORITY_BALANCED_POWER_ACCURACY] " + + "Num requests: 5 Active: true"); BugreportItem bugreport = new BugreportParser().parse(lines); assertNotNull(bugreport); @@ -184,6 +192,7 @@ public class BugreportParserTest extends TestCase { assertNotNull(bugreport.getDumpsys()); assertNotNull(bugreport.getDumpsys().getBatteryStats()); + assertNotNull(bugreport.getDumpsys().getPackageStats()); assertNotNull(bugreport.getActivityService()); assertNotNull(bugreport.getActivityService().getLocationDumps().getLocationClients()); @@ -546,48 +555,57 @@ public class BugreportParserTest extends TestCase { * Test that section headers are correctly parsed. */ public void testSectionHeader() { - List<String> lines = Arrays.asList( - "========================================================", - "== dumpstate: 2012-04-25 20:45:10", - "========================================================", - "------ DUMPSYS (dumpsys) ------", - "DUMP OF SERVICE SurfaceFlinger:", - "--DrmDisplayCompositor[0]: num_frames=1456 num_ms=475440 fps=3.06243", - "---- DrmDisplayCompositor Layers: num=3", - "------ DrmDisplayCompositor Layer: plane=17 crtc=20 crtc[x/y/w/h]=0/0/2560/1800", - "------ DrmDisplayCompositor Layer: plane=21 disabled", - "------ DrmDisplayCompositor Layer: plane=22 disabled", - "DUMP OF SERVICE batterystats:", - "Battery History (0% used, 1636 used of 256KB, 15 strings using 794):", - " 0 (15) RESET:TIME: 1970-01-10-06-23-28", - " +45s702ms (2) 001 80080000 volt=4187", - " +1m15s525ms (2) 001 80080000 temp=299 volt=4155", - "Statistics since last charged:", - " Time on battery: 1h 5m 2s 4ms (9%) realtime, 1h 5m 2s 4ms (9%) uptime", - " Time on battery screen off: 1h 4m 5s 8ms (9%) realtime, 1h 4m 5s 8ms (9%) uptime", - " All kernel wake locks:", - " Kernel Wake lock PowerManagerService.WakeLocks: 5m 10s 6ms (2 times) realtime", - " Kernel Wake lock msm_serial_hs_rx: 2m 13s 612ms (258 times) realtime", - "", - " All partial wake locks:", - " Wake lock 1001 ProxyController: 1h 4m 47s 565ms (4 times) realtime", - " Wake lock 1013 AudioMix: 1s 979ms (3 times) realtime", - "", - " All wakeup reasons:", - " Wakeup reason 2:bcmsdh_sdmmc:2:qcom,smd:2:msmgio: 1m 5s 4ms (2 times) realtime", - " Wakeup reason 2:qcom,smd-rpm:2:fc4c.qcom,spmi: 7m 1s 914ms (7 times) realtime", - "DUMP OF SERVICE procstats:", - "COMMITTED STATS FROM 2015-09-30-07-44-54:", - " * system / 1000 / v23:", - " TOTAL: 100% (118MB-118MB-118MB/71MB-71MB-71MB over 1)", - " Persistent: 100% (118MB-118MB-118MB/71MB-71MB-71MB over 1)", - " * com.android.phone / 1001 / v23:", - " TOTAL: 6.7%", - " Persistent: 6.7%", - ""); + List<String> lines = + Arrays.asList( + "========================================================", + "== dumpstate: 2012-04-25 20:45:10", + "========================================================", + "------ DUMPSYS (dumpsys) ------", + "DUMP OF SERVICE SurfaceFlinger:", + "--DrmDisplayCompositor[0]: num_frames=1456 num_ms=475440 fps=3.06243", + "---- DrmDisplayCompositor Layers: num=3", + "------ DrmDisplayCompositor Layer: plane=17 crtc=20 crtc[x/y/w/h]=0/0/2560/1800", + "------ DrmDisplayCompositor Layer: plane=21 disabled", + "------ DrmDisplayCompositor Layer: plane=22 disabled", + "DUMP OF SERVICE batterystats:", + "Battery History (0% used, 1636 used of 256KB, 15 strings using 794):", + " 0 (15) RESET:TIME: 1970-01-10-06-23-28", + " +45s702ms (2) 001 80080000 volt=4187", + " +1m15s525ms (2) 001 80080000 temp=299 volt=4155", + "Statistics since last charged:", + " Time on battery: 1h 5m 2s 4ms (9%) realtime, 1h 5m 2s 4ms (9%) uptime", + " Time on battery screen off: 1h 4m 5s 8ms (9%) realtime, 1h 4m 5s 8ms (9%) uptime", + " All kernel wake locks:", + " Kernel Wake lock PowerManagerService.WakeLocks: 5m 10s 6ms (2 times) realtime", + " Kernel Wake lock msm_serial_hs_rx: 2m 13s 612ms (258 times) realtime", + "", + " All partial wake locks:", + " Wake lock 1001 ProxyController: 1h 4m 47s 565ms (4 times) realtime", + " Wake lock 1013 AudioMix: 1s 979ms (3 times) realtime", + "", + " All wakeup reasons:", + " Wakeup reason 2:bcmsdh_sdmmc:2:qcom,smd:2:msmgio: 1m 5s 4ms (2 times) realtime", + " Wakeup reason 2:qcom,smd-rpm:2:fc4c.qcom,spmi: 7m 1s 914ms (7 times) realtime", + "DUMP OF SERVICE package:", + "Package [com.google.android.calculator] (e075c9d):", + " use rId=10071", + " secondaryCpuAbi=null", + " versionCode=73000302 minSdk=10000 targetSdk=10000", + " versionName=7.3 (3821978)", + " splits=[base]", + "DUMP OF SERVICE procstats:", + "COMMITTED STATS FROM 2015-09-30-07-44-54:", + " * system / 1000 / v23:", + " TOTAL: 100% (118MB-118MB-118MB/71MB-71MB-71MB over 1)", + " Persistent: 100% (118MB-118MB-118MB/71MB-71MB-71MB over 1)", + " * com.android.phone / 1001 / v23:", + " TOTAL: 6.7%", + " Persistent: 6.7%", + ""); BugreportItem bugreport = new BugreportParser().parse(lines); assertNotNull(bugreport.getDumpsys()); assertNotNull(bugreport.getDumpsys().getBatteryStats()); + assertNotNull(bugreport.getDumpsys().getPackageStats()); assertNotNull(bugreport.getDumpsys().getProcStats()); } @@ -673,4 +691,3 @@ public class BugreportParserTest extends TestCase { return formatter.parse(timeStr); } } - |