diff options
author | Jed Estep <jestep@google.com> | 2016-01-04 18:27:02 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-01-04 18:27:02 +0000 |
commit | 902c545fe48ec077ca17fde629e9b5e655e83d15 (patch) | |
tree | fa57fb92727a26a6a809412fcd6118b17931de24 | |
parent | 411c68a0baab86c090293e772053ce17edadf8aa (diff) | |
parent | 641d2e02a9a1f8e5091985289cc485da723bc5eb (diff) | |
download | loganalysis-902c545fe48ec077ca17fde629e9b5e655e83d15.tar.gz |
Merge "Add a clear() method for LogcatParser"
-rw-r--r-- | src/com/android/loganalysis/parser/LogcatParser.java | 9 | ||||
-rw-r--r-- | tests/src/com/android/loganalysis/parser/LogcatParserTest.java | 18 |
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); |