diff options
author | Julien Desprez <jdesprez@google.com> | 2017-03-02 15:09:38 +0000 |
---|---|---|
committer | Julien Desprez <jdesprez@google.com> | 2017-03-03 09:52:09 +0000 |
commit | b0d7b896a1b92d9eea0c3c660b67960adb5573f2 (patch) | |
tree | ca657c1e3feb330e4a6925d4a2aee7f2860578f8 | |
parent | fd5106da20d44fb307aa9d6c37c14cc7dbacbe86 (diff) | |
download | loganalysis-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
9 files changed, 69 insertions, 64 deletions
@@ -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 } |