summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Desprez <jdesprez@google.com>2017-03-02 15:09:38 +0000
committerJulien Desprez <jdesprez@google.com>2017-03-03 09:52:09 +0000
commitb0d7b896a1b92d9eea0c3c660b67960adb5573f2 (patch)
treeca657c1e3feb330e4a6925d4a2aee7f2860578f8
parentfd5106da20d44fb307aa9d6c37c14cc7dbacbe86 (diff)
downloadloganalysis-b0d7b896a1b92d9eea0c3c660b67960adb5573f2.tar.gz
Add error_prone rules on Loganalysis
Fix warnings of current rules. Test: local build and error prone Bug: 35864476 Change-Id: Ib03b309de69e9c92cf815440bb637b955447847e
-rw-r--r--Android.mk1
-rw-r--r--src/com/android/loganalysis/item/KernelLogItem.java4
-rw-r--r--src/com/android/loganalysis/parser/BatteryDischargeStatsInfoParser.java9
-rw-r--r--src/com/android/loganalysis/parser/DmesgParser.java7
-rw-r--r--src/com/android/loganalysis/parser/DvmLockSampleParser.java39
-rw-r--r--tests/Android.mk1
-rw-r--r--tests/src/com/android/loganalysis/item/GenericItemTest.java5
-rw-r--r--tests/src/com/android/loganalysis/parser/DmesgParserTest.java20
-rw-r--r--tests/src/com/android/loganalysis/util/config/OptionUpdateRuleTest.java47
9 files changed, 69 insertions, 64 deletions
diff --git a/Android.mk b/Android.mk
index b3b086e..43c083c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -20,6 +20,7 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_JAVACFLAGS += -g -Xlint
+include tools/tradefederation/error_prone_rules.mk
LOCAL_MODULE := loganalysis
LOCAL_MODULE_TAGS := optional
diff --git a/src/com/android/loganalysis/item/KernelLogItem.java b/src/com/android/loganalysis/item/KernelLogItem.java
index eb86972..dbd7829 100644
--- a/src/com/android/loganalysis/item/KernelLogItem.java
+++ b/src/com/android/loganalysis/item/KernelLogItem.java
@@ -51,8 +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(START_TIME, Double.valueOf(0.0));
+ setAttribute(STOP_TIME, Double.valueOf(0.0));
setAttribute(EVENTS, new ItemList());
}
diff --git a/src/com/android/loganalysis/parser/BatteryDischargeStatsInfoParser.java b/src/com/android/loganalysis/parser/BatteryDischargeStatsInfoParser.java
index 00e0527..ccddc80 100644
--- a/src/com/android/loganalysis/parser/BatteryDischargeStatsInfoParser.java
+++ b/src/com/android/loganalysis/parser/BatteryDischargeStatsInfoParser.java
@@ -17,7 +17,6 @@
package com.android.loganalysis.parser;
import com.android.loganalysis.item.BatteryDischargeStatsInfoItem;
-import com.android.loganalysis.item.BatteryStatsSummaryInfoItem;
import com.android.loganalysis.util.NumberFormattingUtil;
import java.util.List;
@@ -29,11 +28,9 @@ import java.util.regex.Pattern;
*/
public class BatteryDischargeStatsInfoParser extends AbstractSectionParser {
- /**
- * Matches; #47: +5m5s105ms to 47 (screen-on, power-save-off, device-idle-off)
- */
- private static Pattern DISCHARGE_STEP_PATTERN = Pattern
- .compile("^.*: \\+((\\d+)h)?((\\d+)m)?((\\d+)s)?(\\d+)ms.* to (\\d+).*");
+ /** Matches; #47: +5m5s105ms to 47 (screen-on, power-save-off, device-idle-off) */
+ private static final Pattern DISCHARGE_STEP_PATTERN =
+ Pattern.compile("^.*: \\+((\\d+)h)?((\\d+)m)?((\\d+)s)?(\\d+)ms.* to (\\d+).*");
/**
* {@inheritDoc}
diff --git a/src/com/android/loganalysis/parser/DmesgParser.java b/src/com/android/loganalysis/parser/DmesgParser.java
index 8bca919..9cb11cd 100644
--- a/src/com/android/loganalysis/parser/DmesgParser.java
+++ b/src/com/android/loganalysis/parser/DmesgParser.java
@@ -17,13 +17,14 @@
package com.android.loganalysis.parser;
import com.android.loganalysis.item.DmesgActionInfoItem;
-import com.android.loganalysis.item.IItem;
-import com.google.common.annotations.VisibleForTesting;
import com.android.loganalysis.item.DmesgServiceInfoItem;
import com.android.loganalysis.item.DmesgStageInfoItem;
+import com.android.loganalysis.item.IItem;
+
+import com.google.common.annotations.VisibleForTesting;
+
import java.io.BufferedReader;
import java.io.IOException;
-import java.rmi.server.ServerCloneException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
diff --git a/src/com/android/loganalysis/parser/DvmLockSampleParser.java b/src/com/android/loganalysis/parser/DvmLockSampleParser.java
index 5de5f94..1402f02 100644
--- a/src/com/android/loganalysis/parser/DvmLockSampleParser.java
+++ b/src/com/android/loganalysis/parser/DvmLockSampleParser.java
@@ -32,28 +32,33 @@ import java.util.regex.Pattern;
*/
public class DvmLockSampleParser implements IParser {
- private static final String nameRegex = "([^,]+)";
- private static final String fileRegex = "(-|[A-Za-z]+\\.[A-Za-z]+)";
- private static final String intRegex = "(\\d+)";
+ private static final String NAME_REGEX = "([^,]+)";
+ private static final String FILE_REGEX = "(-|[A-Za-z]+\\.[A-Za-z]+)";
+ private static final String INT_REGEX = "(\\d+)";
/**
* Matches the DVM lock sample log format:
*
- * 09-04 05:40:07.809 1026 10592 I dvm_lock_sample:
+ * <p>09-04 05:40:07.809 1026 10592 I dvm_lock_sample:
* [system_server,1,Binder:1026_F,46,NetworkPolicyManagerService.java,2284,-,802,9]
*/
- private static final Pattern logContentionEventPattern = Pattern.compile(
- "\\[" + String.join(",\\s*", Arrays.asList(
- nameRegex, // Process name
- intRegex, // Process sensitivity flag
- nameRegex, // Waiting thread name
- intRegex, // Wait time
- fileRegex, // Waiting Source File
- intRegex, // Waiting Source Line
- fileRegex, // Owner File Name ("-" if the same)
- intRegex, // Owner Acquire Source Line
- intRegex // Sample Percentage
- )) + "\\]");
+ private static final Pattern LOG_CONTENTION_EVENT_PATTERN =
+ Pattern.compile(
+ "\\["
+ + String.join(
+ ",\\s*",
+ Arrays.asList(
+ NAME_REGEX, // Process name
+ INT_REGEX, // Process sensitivity flag
+ NAME_REGEX, // Waiting thread name
+ INT_REGEX, // Wait time
+ FILE_REGEX, // Waiting Source File
+ INT_REGEX, // Waiting Source Line
+ FILE_REGEX, // Owner File Name ("-" if the same)
+ INT_REGEX, // Owner Acquire Source Line
+ INT_REGEX // Sample Percentage
+ ))
+ + "\\]");
private DvmLockSampleItem mItem = new DvmLockSampleItem();
@@ -83,7 +88,7 @@ public class DvmLockSampleParser implements IParser {
DvmLockSampleItem mItem = new DvmLockSampleItem();
for (String line : lines) {
- Matcher m = logContentionEventPattern.matcher(line);
+ Matcher m = LOG_CONTENTION_EVENT_PATTERN.matcher(line);
if(m.matches()) {
mItem.setAttribute(DvmLockSampleItem.PROCESS_NAME,
diff --git a/tests/Android.mk b/tests/Android.mk
index d5e8881..8f2a768 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -20,6 +20,7 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_JAVACFLAGS += -g -Xlint
+include tools/tradefederation/error_prone_rules.mk
LOCAL_MODULE := loganalysis-tests
LOCAL_MODULE_TAGS := optional
diff --git a/tests/src/com/android/loganalysis/item/GenericItemTest.java b/tests/src/com/android/loganalysis/item/GenericItemTest.java
index 94e3236..e9ea31f 100644
--- a/tests/src/com/android/loganalysis/item/GenericItemTest.java
+++ b/tests/src/com/android/loganalysis/item/GenericItemTest.java
@@ -137,9 +137,8 @@ public class GenericItemTest extends TestCase {
assertFalse(mFullItem1.isConsistent(mInconsistentItem));
}
- /**
- * Test {@link GenericItem#equals(Object)}.
- */
+ /** Test {@link GenericItem#equals(Object)}. */
+ @SuppressWarnings("SelfEquals")
public void testEquals() {
assertTrue(mEmptyItem1.equals(mEmptyItem1));
assertFalse(mEmptyItem1.equals(null));
diff --git a/tests/src/com/android/loganalysis/parser/DmesgParserTest.java b/tests/src/com/android/loganalysis/parser/DmesgParserTest.java
index de3850a..3b71720 100644
--- a/tests/src/com/android/loganalysis/parser/DmesgParserTest.java
+++ b/tests/src/com/android/loganalysis/parser/DmesgParserTest.java
@@ -108,14 +108,18 @@ public class DmesgParserTest extends TestCase {
assertEquals("There should be atleast one service info", 1, serviceInfoItems.size());
assertEquals("Service name is not boot anim", BOOT_ANIMATION,
serviceInfoItems.get(0).getServiceName());
- assertEquals("Service start time is not correct", new Long(22962),
- serviceInfoItems.get(0)
- .getStartTime());
- assertEquals("Service end time is not correct", new Long(39855), serviceInfoItems.get(0)
- .getEndTime());
- assertEquals("Service duration is nott correct", new Long(16893),
- serviceInfoItems.get(0)
- .getServiceDuration());
+ assertEquals(
+ "Service start time is not correct",
+ Long.valueOf(22962),
+ serviceInfoItems.get(0).getStartTime());
+ assertEquals(
+ "Service end time is not correct",
+ Long.valueOf(39855),
+ serviceInfoItems.get(0).getEndTime());
+ assertEquals(
+ "Service duration is nott correct",
+ Long.valueOf(16893),
+ serviceInfoItems.get(0).getServiceDuration());
}
/**
diff --git a/tests/src/com/android/loganalysis/util/config/OptionUpdateRuleTest.java b/tests/src/com/android/loganalysis/util/config/OptionUpdateRuleTest.java
index 3dc187f..0e899ec 100644
--- a/tests/src/com/android/loganalysis/util/config/OptionUpdateRuleTest.java
+++ b/tests/src/com/android/loganalysis/util/config/OptionUpdateRuleTest.java
@@ -22,44 +22,41 @@ import junit.framework.TestCase;
* Unit tests for {@link OptionUpdateRule}
*/
public class OptionUpdateRuleTest extends TestCase {
- private static final String mOptionName = "option-name";
- private static final Object mCurrent = "5 current value";
- private static final Object mUpdate = "5 update value";
- private static final Object mSmallUpdate = "0 update value";
- private static final Object mBigUpdate = "9 update value";
+ private static final String OPTION_NAME = "option-name";
+ private static final Object CURRENT = "5 current value";
+ private static final Object UPDATE = "5 update value";
+ private static final Object SMALL_UPDATE = "0 update value";
+ private static final Object BIG_UPDATE = "9 update value";
public void testFirst_simple() throws Exception {
- assertEquals(mUpdate, OptionUpdateRule.FIRST.update(mOptionName, null, mUpdate));
- assertEquals(mCurrent, OptionUpdateRule.FIRST.update(mOptionName, mCurrent, mUpdate));
+ assertEquals(UPDATE, OptionUpdateRule.FIRST.update(OPTION_NAME, null, UPDATE));
+ assertEquals(CURRENT, OptionUpdateRule.FIRST.update(OPTION_NAME, CURRENT, UPDATE));
}
public void testLast_simple() throws Exception {
- assertEquals(mUpdate, OptionUpdateRule.LAST.update(mOptionName, null, mUpdate));
- assertEquals(mUpdate, OptionUpdateRule.LAST.update(mOptionName, mCurrent, mUpdate));
+ assertEquals(UPDATE, OptionUpdateRule.LAST.update(OPTION_NAME, null, UPDATE));
+ assertEquals(UPDATE, OptionUpdateRule.LAST.update(OPTION_NAME, CURRENT, UPDATE));
}
public void testGreatest_simple() throws Exception {
- assertEquals(mSmallUpdate,
- OptionUpdateRule.GREATEST.update(mOptionName, null, mSmallUpdate));
- assertEquals(mCurrent,
- OptionUpdateRule.GREATEST.update(mOptionName, mCurrent, mSmallUpdate));
- assertEquals(mBigUpdate,
- OptionUpdateRule.GREATEST.update(mOptionName, mCurrent, mBigUpdate));
+ assertEquals(
+ SMALL_UPDATE, OptionUpdateRule.GREATEST.update(OPTION_NAME, null, SMALL_UPDATE));
+ assertEquals(CURRENT, OptionUpdateRule.GREATEST.update(OPTION_NAME, CURRENT, SMALL_UPDATE));
+ assertEquals(
+ BIG_UPDATE, OptionUpdateRule.GREATEST.update(OPTION_NAME, CURRENT, BIG_UPDATE));
}
public void testLeast_simple() throws Exception {
- assertEquals(mBigUpdate,
- OptionUpdateRule.LEAST.update(mOptionName, null, mBigUpdate));
- assertEquals(mSmallUpdate,
- OptionUpdateRule.LEAST.update(mOptionName, mCurrent, mSmallUpdate));
- assertEquals(mCurrent,
- OptionUpdateRule.LEAST.update(mOptionName, mCurrent, mBigUpdate));
+ assertEquals(BIG_UPDATE, OptionUpdateRule.LEAST.update(OPTION_NAME, null, BIG_UPDATE));
+ assertEquals(
+ SMALL_UPDATE, OptionUpdateRule.LEAST.update(OPTION_NAME, CURRENT, SMALL_UPDATE));
+ assertEquals(CURRENT, OptionUpdateRule.LEAST.update(OPTION_NAME, CURRENT, BIG_UPDATE));
}
public void testImmutable_simple() throws Exception {
- assertEquals(mUpdate, OptionUpdateRule.IMMUTABLE.update(mOptionName, null, mUpdate));
+ assertEquals(UPDATE, OptionUpdateRule.IMMUTABLE.update(OPTION_NAME, null, UPDATE));
try {
- OptionUpdateRule.IMMUTABLE.update(mOptionName, mCurrent, mUpdate);
+ OptionUpdateRule.IMMUTABLE.update(OPTION_NAME, CURRENT, UPDATE);
fail("ConfigurationException not thrown when updating an IMMUTABLE option");
} catch (ConfigurationException e) {
// expected
@@ -69,7 +66,7 @@ public class OptionUpdateRuleTest extends TestCase {
public void testInvalidComparison() throws Exception {
try {
// Strings aren't comparable with integers
- OptionUpdateRule.GREATEST.update(mOptionName, 13, mUpdate);
+ OptionUpdateRule.GREATEST.update(OPTION_NAME, 13, UPDATE);
fail("ConfigurationException not thrown for invalid comparison.");
} catch (ConfigurationException e) {
// Expected. Moreover, the exception should be actionable, so make sure we mention the
@@ -82,7 +79,7 @@ public class OptionUpdateRuleTest extends TestCase {
public void testNotComparable() throws Exception {
try {
- OptionUpdateRule.LEAST.update(mOptionName, new Exception("hi"), mUpdate);
+ OptionUpdateRule.LEAST.update(OPTION_NAME, new Exception("hi"), UPDATE);
} catch (ConfigurationException e) {
// expected
}