From 8438477ac7130f93f9a3f7e1229147b3d92c9663 Mon Sep 17 00:00:00 2001
From: Maxim Siniavine <siniavine@google.com>
Date: Tue, 21 Jun 2016 16:32:48 -0700
Subject: [PATCH] Fix kernel reset message that gets generated from the
 bootreason property.

Change-Id: Ic7d77f9e4edee8e164ad3e03c452f220c7847ece
---
 src/com/android/loganalysis/item/KernelLogItem.java   |  2 ++
 .../android/loganalysis/parser/BugreportParser.java   |  4 ++++
 .../loganalysis/parser/BugreportParserTest.java       | 11 ++++-------
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/com/android/loganalysis/item/KernelLogItem.java b/src/com/android/loganalysis/item/KernelLogItem.java
index 60ed4de..81c84ce 100644
--- a/src/com/android/loganalysis/item/KernelLogItem.java
+++ b/src/com/android/loganalysis/item/KernelLogItem.java
@@ -51,6 +51,8 @@ public class KernelLogItem extends GenericItem {
     public KernelLogItem() {
         super(ATTRIBUTES);
 
+        setAttribute(START_TIME, new Double(0.0));
+        setAttribute(STOP_TIME, new Double(0.0));
         setAttribute(EVENTS, new ItemList());
     }
 
diff --git a/src/com/android/loganalysis/parser/BugreportParser.java b/src/com/android/loganalysis/parser/BugreportParser.java
index dac1f53..ec033d5 100644
--- a/src/com/android/loganalysis/parser/BugreportParser.java
+++ b/src/com/android/loganalysis/parser/BugreportParser.java
@@ -245,6 +245,8 @@ public class BugreportParser extends AbstractSectionParser {
                     MiscKernelLogItem item = new MiscKernelLogItem();
                     item.setStack("Last boot reason: " + bootreason.trim());
                     item.setCategory(KernelLogParser.KERNEL_RESET);
+                    item.setPreamble("");
+                    item.setEventTime(0.0);
                     lastKmsg.addEvent(item);
                 }
                 m = KernelLogParser.GOOD_BOOTREASONS.matcher(bootreason);
@@ -261,6 +263,8 @@ public class BugreportParser extends AbstractSectionParser {
                 MiscKernelLogItem unknownReset = new MiscKernelLogItem();
                 unknownReset.setStack("Unknown reason");
                 unknownReset.setCategory(KernelLogParser.KERNEL_RESET);
+                unknownReset.setPreamble("");
+                unknownReset.setEventTime(0.0);
                 lastKmsg.addEvent(unknownReset);
             }
         }
diff --git a/tests/src/com/android/loganalysis/parser/BugreportParserTest.java b/tests/src/com/android/loganalysis/parser/BugreportParserTest.java
index b6e35b3..b47ea22 100644
--- a/tests/src/com/android/loganalysis/parser/BugreportParserTest.java
+++ b/tests/src/com/android/loganalysis/parser/BugreportParserTest.java
@@ -18,17 +18,10 @@ package com.android.loganalysis.parser;
 import com.android.loganalysis.item.BugreportItem;
 import com.android.loganalysis.item.IItem;
 import com.android.loganalysis.item.MiscKernelLogItem;
-import com.android.loganalysis.rule.RuleEngine;
-import com.android.loganalysis.rule.RuleEngine.RuleType;
 import com.android.loganalysis.util.ArrayUtil;
 
 import junit.framework.TestCase;
 
-import org.json.JSONObject;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -325,6 +318,10 @@ public class BugreportParserTest extends TestCase {
         assertEquals("Last boot reason: hw_reset",
                 bugreport.getLastKmsg().getEvents().get(0).getStack());
         assertEquals("KERNEL_RESET", bugreport.getLastKmsg().getEvents().get(0).getCategory());
+        assertEquals("", bugreport.getLastKmsg().getEvents().get(0).getPreamble());
+        assertEquals(0.0, bugreport.getLastKmsg().getEvents().get(0).getEventTime());
+        assertEquals(0.0, bugreport.getLastKmsg().getStartTime());
+        assertEquals(0.0, bugreport.getLastKmsg().getStopTime());
     }
 
     /**
-- 
GitLab