summaryrefslogtreecommitdiff
path: root/tests/src/com/android/loganalysis/parser/BugreportParserTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/loganalysis/parser/BugreportParserTest.java')
-rw-r--r--tests/src/com/android/loganalysis/parser/BugreportParserTest.java325
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);
}
}
-