From 8b7745cf14a8d715e822f45512de0c1f5eda3c8d Mon Sep 17 00:00:00 2001 From: oowekyala Date: Mon, 10 Jul 2017 18:50:41 +0200 Subject: [PATCH] Update tests to reset correctly: depends on #495 --- .../sourceforge/pmd/lang/java/oom/Metrics.java | 2 +- .../pmd/lang/java/oom/MetricsHook.java | 18 ++++++++++++++++++ .../lang/java/oom/metrics/AllMetricsTest.java | 12 +++++------- .../java/rule/metrics/MetricsRulesTest.java | 10 ++++++++++ 4 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 pmd-java/src/test/java/net/sourceforge/pmd/lang/java/oom/MetricsHook.java diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/oom/Metrics.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/oom/Metrics.java index 167c067f2f..6bebb0aec3 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/oom/Metrics.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/oom/Metrics.java @@ -40,7 +40,7 @@ public final class Metrics { /** Sets whether computations are forced or not. Used for tests. */ - public static void reset() { + /* default */ static void reset() { TOP_LEVEL_PACKAGE.reset(); } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/oom/MetricsHook.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/oom/MetricsHook.java new file mode 100644 index 0000000000..d694635a17 --- /dev/null +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/oom/MetricsHook.java @@ -0,0 +1,18 @@ +/** + * BSD-style license; for more info see http://pmd.sourceforge.net/license.html + */ + +package net.sourceforge.pmd.lang.java.oom; + +/** + * Provides a hook into package-private methods of {@code oom}. + * + * @author Clément Fournier + */ +public class MetricsHook { + + public static void reset() { + Metrics.reset(); + } + +} diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/oom/metrics/AllMetricsTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/oom/metrics/AllMetricsTest.java index e112dbed4e..4cf7ba7746 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/oom/metrics/AllMetricsTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/oom/metrics/AllMetricsTest.java @@ -4,10 +4,8 @@ package net.sourceforge.pmd.lang.java.oom.metrics; -import org.junit.After; -import org.junit.AfterClass; - -import net.sourceforge.pmd.lang.java.oom.Metrics; +import net.sourceforge.pmd.Rule; +import net.sourceforge.pmd.lang.java.oom.MetricsHook; import net.sourceforge.pmd.testframework.SimpleAggregatorTst; /** @@ -20,9 +18,9 @@ public class AllMetricsTest extends SimpleAggregatorTst { @Override - public Rule reset() { - System.err.println("resettt"); - Metrics.reset(); + protected Rule reinitializeRule(Rule rule) { + MetricsHook.reset(); + return rule; } diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/metrics/MetricsRulesTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/metrics/MetricsRulesTest.java index 3d809b1a7d..3b5611bbfd 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/metrics/MetricsRulesTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/rule/metrics/MetricsRulesTest.java @@ -4,6 +4,8 @@ package net.sourceforge.pmd.lang.java.rule.metrics; +import net.sourceforge.pmd.Rule; +import net.sourceforge.pmd.lang.java.oom.MetricsHook; import net.sourceforge.pmd.testframework.SimpleAggregatorTst; /** @@ -14,6 +16,14 @@ public class MetricsRulesTest extends SimpleAggregatorTst { private static final String RULESET = "java-metrics"; + + @Override + protected Rule reinitializeRule(Rule rule) { + MetricsHook.reset(); + return super.reinitializeRule(rule); + } + + @Override public void setUp() { addRule(RULESET, "CyclomaticComplexity");