diff options
author | Gopinath <gelanchezhian@google.com> | 2016-09-21 15:55:29 -0700 |
---|---|---|
committer | Gopinath <gelanchezhian@google.com> | 2016-09-23 12:28:00 -0700 |
commit | 7fcf9d0df3d851e583e1ece3fd0d9336dd9631aa (patch) | |
tree | f92e7b8ce4829de5cd2fd1f7101e9fc1d11425e3 /tests/src/com/android | |
parent | 6e5b7933fca2fc960ddc52993d237a8bfbb2ade4 (diff) | |
download | loganalysis-7fcf9d0df3d851e583e1ece3fd0d9336dd9631aa.tar.gz |
Add parser to track the latency info printed from sysui
Bug 31629439
Change-Id: I86627a8da8ae95acfb1bcf0d1369330dc5cb7a5c
Diffstat (limited to 'tests/src/com/android')
-rw-r--r-- | tests/src/com/android/loganalysis/UnitTests.java | 2 | ||||
-rw-r--r-- | tests/src/com/android/loganalysis/parser/EventsLogParserTest.java | 152 |
2 files changed, 114 insertions, 40 deletions
diff --git a/tests/src/com/android/loganalysis/UnitTests.java b/tests/src/com/android/loganalysis/UnitTests.java index 638c2f7..ac890e2 100644 --- a/tests/src/com/android/loganalysis/UnitTests.java +++ b/tests/src/com/android/loganalysis/UnitTests.java @@ -30,6 +30,7 @@ import com.android.loganalysis.parser.AbstractSectionParserTest; import com.android.loganalysis.parser.AnrParserTest; import com.android.loganalysis.parser.BugreportParserTest; import com.android.loganalysis.parser.CompactMemInfoParserTest; +import com.android.loganalysis.parser.EventsLogParserTest; import com.android.loganalysis.parser.InterruptParserTest; import com.android.loganalysis.parser.JavaCrashParserTest; import com.android.loganalysis.parser.KernelLogParserTest; @@ -81,6 +82,7 @@ public class UnitTests extends TestSuite { addTestSuite(AnrParserTest.class); addTestSuite(BugreportParserTest.class); addTestSuite(CompactMemInfoParserTest.class); + addTestSuite(EventsLogParserTest.class); addTestSuite(InterruptParserTest.class); addTestSuite(JavaCrashParserTest.class); addTestSuite(KernelLogParserTest.class); diff --git a/tests/src/com/android/loganalysis/parser/EventsLogParserTest.java b/tests/src/com/android/loganalysis/parser/EventsLogParserTest.java index 092473e..735ae8a 100644 --- a/tests/src/com/android/loganalysis/parser/EventsLogParserTest.java +++ b/tests/src/com/android/loganalysis/parser/EventsLogParserTest.java @@ -16,16 +16,16 @@ package com.android.loganalysis.parser; +import com.android.loganalysis.item.LatencyItem; import com.android.loganalysis.item.TransitionDelayItem; -import com.android.loganalysis.parser.EventsLogParser; -import java.io.BufferedWriter; import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; -import java.io.FileWriter; import java.io.FileInputStream; -import java.io.InputStreamReader; +import java.io.FileWriter; import java.io.IOException; +import java.io.InputStreamReader; import java.util.Arrays; import java.util.List; @@ -45,7 +45,7 @@ public class EventsLogParserTest extends TestCase { List<String> lines = Arrays.asList(""); List<TransitionDelayItem> transitionItems = (new EventsLogParser()). parseTransitionDelayInfo(readInputBuffer(getTempFile(lines))); - assertTrue("Transition Delay items list should be empty", transitionItems.size() == 0); + assertEquals("Transition Delay items list should be empty", 0,transitionItems.size()); } /** @@ -61,28 +61,30 @@ public class EventsLogParserTest extends TestCase { "08-25 12:56:15.852 1152 8968 I wm_stack_removed: 1"); List<TransitionDelayItem> transitionItems = (new EventsLogParser()). parseTransitionDelayInfo(readInputBuffer(getTempFile(lines))); - assertTrue("Transition Delay items list should be empty", transitionItems.size() == 0); + assertEquals("Transition Delay items list should be empty", 0, + transitionItems.size()); } /** * Test for Cold launch transition delay info */ public void testColdLaunchTransitionDelay() throws IOException { - List<String> lines = Arrays.asList("08-25 13:01:19.412 1152 9031 I am_restart_activity: [0,85290699,38,com.google.android.gm/.ConversationListActivityGmail]", + List<String> lines = Arrays + .asList("08-25 13:01:19.412 1152 9031 I am_restart_activity: [0,85290699,38,com.google.android.gm/.ConversationListActivityGmail]", "08-25 13:01:19.437 1152 1226 I sysui_action: [321,85]", "08-25 13:01:19.437 1152 1226 I sysui_action: [320,1]", "08-25 13:01:19.437 1152 1226 I sysui_action: [319,85]"); List<TransitionDelayItem> transitionItems = (new EventsLogParser()). parseTransitionDelayInfo(readInputBuffer(getTempFile(lines))); - assertTrue("Transition Delay items list should have one item", - transitionItems.size() == 1); - assertTrue("Component name not parsed correctly", - transitionItems.get(0).getComponentName().equals( - "com.google.android.gm/.ConversationListActivityGmail")); - assertTrue("Cold launch info is not set correctly", - transitionItems.get(0).getStartingWindowDelay() == 85); - assertTrue("Hot launch info is set which is not expected", - transitionItems.get(0).getTransitionDelay() == -1); + assertEquals("Transition Delay items list should have one item", 1, + transitionItems.size()); + assertEquals("Component name not parsed correctly", + "com.google.android.gm/.ConversationListActivityGmail", + transitionItems.get(0).getComponentName()); + assertEquals("Cold launch info is not set correctly", 85, + transitionItems.get(0).getStartingWindowDelay()); + assertEquals("Hot launch info is set which is not expected", -1, + transitionItems.get(0).getTransitionDelay()); } /** @@ -96,15 +98,15 @@ public class EventsLogParserTest extends TestCase { "08-25 13:02:04.755 1152 1226 I sysui_action: [319,37]"); List<TransitionDelayItem> transitionItems = (new EventsLogParser()). parseTransitionDelayInfo(readInputBuffer(getTempFile(lines))); - assertTrue("Transition Delay items list shopuld have one item", - transitionItems.size() == 1); - assertTrue("Component name not parsed correctly", - transitionItems.get(0).getComponentName().equals( - "com.google.android.gm/.ConversationListActivityGmail")); - assertTrue("Cold launch info is set which is not expected", - transitionItems.get(0).getStartingWindowDelay() == -1); - assertTrue("Hot launch info is not set correctly", - transitionItems.get(0).getTransitionDelay() == 37); + assertEquals("Transition Delay items list shopuld have one item", 1, + transitionItems.size()); + assertEquals("Component name not parsed correctly", + "com.google.android.gm/.ConversationListActivityGmail", + transitionItems.get(0).getComponentName()); + assertEquals("Cold launch info is set which is not expected", -1, + transitionItems.get(0).getStartingWindowDelay()); + assertEquals("Hot launch info is not set correctly", 37, + transitionItems.get(0).getTransitionDelay()); } /** @@ -127,12 +129,12 @@ public class EventsLogParserTest extends TestCase { "08-25 13:02:04.755 1152 1226 I sysui_action: [319,37]"); List<TransitionDelayItem> transitionItems = (new EventsLogParser()). parseTransitionDelayInfo(readInputBuffer(getTempFile(lines))); - assertTrue("Transition Delay items list should have two items", - transitionItems.size() == 2); - assertTrue("Cold launch transition delay is not the first item", - (transitionItems.get(0).getStartingWindowDelay() == 85)); - assertTrue("Hot launch transition delay is not the second item", - (transitionItems.get(1).getTransitionDelay() == 37)); + assertEquals("Transition Delay items list should have two items", 2, + transitionItems.size()); + assertEquals("Cold launch transition delay is not the first item", 85, + transitionItems.get(0).getStartingWindowDelay()); + assertEquals("Hot launch transition delay is not the second item", 37, + transitionItems.get(1).getTransitionDelay()); } /** @@ -157,14 +159,14 @@ public class EventsLogParserTest extends TestCase { "08-25 13:03:35.569 1152 1226 I sysui_action: [319,92]"); List<TransitionDelayItem> transitionItems = (new EventsLogParser()). parseTransitionDelayInfo(readInputBuffer(getTempFile(lines))); - assertTrue("Transition Delay items list should have two items", - transitionItems.size() == 2); - assertTrue("Gmail is not the first transition delay item", - transitionItems.get(0).getComponentName().equals( - "com.google.android.gm/.ConversationListActivityGmail")); - assertTrue("Maps is not the second transition delay item", - transitionItems.get(1).getComponentName().equals( - "com.google.android.apps.maps/com.google.android.maps.MapsActivity")); + assertEquals("Transition Delay items list should have two items", 2, + transitionItems.size()); + assertEquals("Gmail is not the first transition delay item", + "com.google.android.gm/.ConversationListActivityGmail", + transitionItems.get(0).getComponentName()); + assertEquals("Maps is not the second transition delay item", + "com.google.android.apps.maps/com.google.android.maps.MapsActivity", + transitionItems.get(1).getComponentName()); } /** @@ -187,7 +189,77 @@ public class EventsLogParserTest extends TestCase { "08-25 13:02:04.755 1152 1226 I sysui_action: [319,37]"); List<TransitionDelayItem> transitionItems = (new EventsLogParser()). parseTransitionDelayInfo(readInputBuffer(getTempFile(lines))); - assertTrue("Transition Delay items list should be empty", transitionItems.size() == 0); + assertEquals("Transition Delay items list should be empty", 0, + transitionItems.size()); + } + + /** + * Test for valid latency item + */ + public void testValidLatencyInfo() throws IOException { + List<String> lines = Arrays + .asList("08-25 13:01:19.412 1152 9031 I am_restart_activity: [com.google.android.gm/.ConversationListActivityGmail,0,85290699,38]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [321,85]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [320,1]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [319,85]", + "08-25 12:56:15.850 1152 8968 I am_focused_stack: [0,0,1,appDied setFocusedActivity]", + "09-19 11:53:16.893 1080 1160 I sysui_latency: [1,50]"); + List<LatencyItem> latencyItems = (new EventsLogParser()). + parseLatencyInfo(readInputBuffer(getTempFile(lines))); + assertEquals("One latency item should present in the list", 1, latencyItems.size()); + assertEquals("Action Id is not correct", 1, latencyItems.get(0).getActionId()); + assertEquals("Delay is not correct", 50L, latencyItems.get(0).getDelay()); + } + + /** + * Test for empty delay info + */ + public void testInvalidLatencyInfo() throws IOException { + List<String> lines = Arrays + .asList("08-25 13:01:19.412 1152 9031 I am_restart_activity: [com.google.android.gm/.ConversationListActivityGmail,0,85290699,38]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [321,85]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [320,1]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [319,85]", + "08-25 12:56:15.850 1152 8968 I am_focused_stack: [0,0,1,appDied setFocusedActivity]", + "09-19 11:53:16.893 1080 1160 I sysui_latency: [1]"); + List<LatencyItem> latencyItems = (new EventsLogParser()). + parseLatencyInfo(readInputBuffer(getTempFile(lines))); + assertEquals("Latency items list should be empty", 0, latencyItems.size()); + } + + /** + * Test for empty latency info + */ + public void testEmptyLatencyInfo() throws IOException { + List<String> lines = Arrays + .asList("08-25 13:01:19.412 1152 9031 I am_restart_activity: [com.google.android.gm/.ConversationListActivityGmail,0,85290699,38]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [321,85]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [320,1]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [319,85]", + "08-25 12:56:15.850 1152 8968 I am_focused_stack: [0,0,1,appDied setFocusedActivity]", + "09-19 11:53:16.893 1080 1160 I sysui_latency: []"); + List<LatencyItem> latencyItems = (new EventsLogParser()). + parseLatencyInfo(readInputBuffer(getTempFile(lines))); + assertEquals("Latency items list should be empty", 0, latencyItems.size()); + } + + + /** + * Test for order of the latency items + */ + public void testLatencyInfoOrder() throws IOException { + List<String> lines = Arrays + .asList("09-19 11:53:16.893 1080 1160 I sysui_latency: [1,50]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [321,85]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [320,1]", + "08-25 13:01:19.437 1152 1226 I sysui_action: [319,85]", + "08-25 12:56:15.850 1152 8968 I am_focused_stack: [0,0,1,appDied setFocusedActivity]", + "09-19 11:53:16.893 1080 1160 I sysui_latency: [2,100]"); + List<LatencyItem> latencyItems = (new EventsLogParser()). + parseLatencyInfo(readInputBuffer(getTempFile(lines))); + assertEquals("Latency list should have 2 items", 2, latencyItems.size()); + assertEquals("First latency id is not 1", 1, latencyItems.get(0).getActionId()); + assertEquals("Second latency id is not 2", 2, latencyItems.get(1).getActionId()); } /** |