summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJed Estep <jestep@google.com>2016-01-04 18:27:02 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-01-04 18:27:02 +0000
commit902c545fe48ec077ca17fde629e9b5e655e83d15 (patch)
treefa57fb92727a26a6a809412fcd6118b17931de24
parent411c68a0baab86c090293e772053ce17edadf8aa (diff)
parent641d2e02a9a1f8e5091985289cc485da723bc5eb (diff)
downloadloganalysis-902c545fe48ec077ca17fde629e9b5e655e83d15.tar.gz
Merge "Add a clear() method for LogcatParser"
-rw-r--r--src/com/android/loganalysis/parser/LogcatParser.java9
-rw-r--r--tests/src/com/android/loganalysis/parser/LogcatParserTest.java18
2 files changed, 27 insertions, 0 deletions
diff --git a/src/com/android/loganalysis/parser/LogcatParser.java b/src/com/android/loganalysis/parser/LogcatParser.java
index f64936c..ae3cf62 100644
--- a/src/com/android/loganalysis/parser/LogcatParser.java
+++ b/src/com/android/loganalysis/parser/LogcatParser.java
@@ -194,6 +194,15 @@ public class LogcatParser implements IParser {
}
/**
+ * Clear the existing {@link LogcatItem}. The next parse will create a new one.
+ */
+ public void clear() {
+ mLogcat = null;
+ mDataList.clear();
+ mDataMap.clear();
+ }
+
+ /**
* Parse a line of input.
*
* @param line The line to parse
diff --git a/tests/src/com/android/loganalysis/parser/LogcatParserTest.java b/tests/src/com/android/loganalysis/parser/LogcatParserTest.java
index d45b06c..b8170f7 100644
--- a/tests/src/com/android/loganalysis/parser/LogcatParserTest.java
+++ b/tests/src/com/android/loganalysis/parser/LogcatParserTest.java
@@ -748,6 +748,24 @@ public class LogcatParserTest extends TestCase {
assertNull(item);
}
+ /**
+ * Test that after clearing a parser, reusing it produces a new LogcatItem instead of
+ * appending to the previous one.
+ */
+ public void testClear() {
+ List<String> lines = Arrays.asList(
+ "04-25 18:33:28.273 7813 7813 E HelloTag: GetBufferLock timed out for thread 7813 buffer 0x61 usage 0x200 LockState 1",
+ "04-25 18:33:28.273 7813 7813 E GoodbyeTag: GetBufferLock timed out for thread 7813 buffer 0x61 usage 0x200 LockState 1"
+ );
+ LogcatParser parser = new LogcatParser();
+ LogcatItem l1 = parser.parse(lines.subList(0, 1));
+ parser.clear();
+ LogcatItem l2 = parser.parse(lines.subList(1, 2));
+ assertEquals(l1.getEvents().size(), 1);
+ assertEquals(l2.getEvents().size(), 1);
+ assertFalse(l1.getEvents().get(0).getTag().equals(l2.getEvents().get(0).getTag()));
+ }
+
private Date parseTime(String timeStr) throws ParseException {
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
return formatter.parse(timeStr);