From 5f5d2168f98adb90e7e0d8010230a2fa89c5be35 Mon Sep 17 00:00:00 2001 From: Christian Wulf <chw@informatik.uni-kiel.de> Date: Wed, 15 Oct 2014 08:16:39 +0200 Subject: [PATCH] fixed building the test method idendifier --- src/main/java/util/test/MeasurementRepository.java | 3 +++ src/main/java/util/test/PerformanceTest.java | 10 +++++++++- .../java/util/test/ProfiledPerformanceAssertion.java | 4 ---- .../examples/experiment14/ChwWorkPerformanceCheck.java | 9 +++++---- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/util/test/MeasurementRepository.java b/src/main/java/util/test/MeasurementRepository.java index d510c785..99843106 100644 --- a/src/main/java/util/test/MeasurementRepository.java +++ b/src/main/java/util/test/MeasurementRepository.java @@ -7,4 +7,7 @@ public class MeasurementRepository { public final Map<String, PerformanceResult> performanceResults = new HashMap<String, PerformanceResult>(); + public static final String buildTestMethodIdentifier(final Class<?> testClass, final String methodName) { + return testClass.getName() + "(" + methodName + ")"; + } } diff --git a/src/main/java/util/test/PerformanceTest.java b/src/main/java/util/test/PerformanceTest.java index d2f9e3ba..66c435b8 100644 --- a/src/main/java/util/test/PerformanceTest.java +++ b/src/main/java/util/test/PerformanceTest.java @@ -48,8 +48,11 @@ public abstract class PerformanceTest { @After public void after() { + String testMethodIdentifier = MeasurementRepository.buildTestMethodIdentifier(description.getTestClass(), description.getMethodName()); PerformanceResult performanceResult = StatisticsUtil.computeStatistics(this.stopWatch.getDurationInNs(), this.timestampObjects); - measurementRepository.performanceResults.put(this.description.getDisplayName(), performanceResult); + measurementRepository.performanceResults.put(testMethodIdentifier, performanceResult); + + addToRepository(performanceResult); System.out.println("Duration: " + TimeUnit.NANOSECONDS.toMillis(performanceResult.overallDurationInNs) + " ms"); System.out.println("avg duration: " + TimeUnit.NANOSECONDS.toMicros(performanceResult.avgDurInNs) + " µs"); @@ -59,4 +62,9 @@ public abstract class PerformanceTest { + TimeUnit.NANOSECONDS.toMicros(performanceResult.avgDurInNs + performanceResult.confidenceWidthInNs) + " µs]"); } + @Deprecated + private void addToRepository(final PerformanceResult performanceResult) { + measurementRepository.performanceResults.put(this.description.getDisplayName(), performanceResult); + } + } diff --git a/src/main/java/util/test/ProfiledPerformanceAssertion.java b/src/main/java/util/test/ProfiledPerformanceAssertion.java index 88f30035..9e9bb488 100644 --- a/src/main/java/util/test/ProfiledPerformanceAssertion.java +++ b/src/main/java/util/test/ProfiledPerformanceAssertion.java @@ -5,8 +5,4 @@ public abstract class ProfiledPerformanceAssertion { public abstract String getCorrespondingPerformanceProfile(); public abstract void check(); - - protected String buildTestMethodIdentifier(final Class<? extends PerformanceTest> testClass, final String methodName) { - return testClass.getName() + "(" + methodName + ")"; - } } diff --git a/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java b/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java index 8f2dabdc..fa77b337 100644 --- a/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java +++ b/src/performancetest/java/teetime/examples/experiment14/ChwWorkPerformanceCheck.java @@ -2,6 +2,7 @@ package teetime.examples.experiment14; import static org.junit.Assert.assertEquals; import teetime.examples.experiment01.MethodCallThoughputTimestampAnalysis1Test; +import util.test.MeasurementRepository; import util.test.PerformanceResult; import util.test.PerformanceTest; import util.test.ProfiledPerformanceAssertion; @@ -15,10 +16,10 @@ public class ChwWorkPerformanceCheck extends ProfiledPerformanceAssertion { @Override public void check() { - PerformanceResult test01 = PerformanceTest.measurementRepository.performanceResults - .get(buildTestMethodIdentifier(MethodCallThoughputTimestampAnalysis1Test.class, "testWithManyObjects")); - PerformanceResult test14 = PerformanceTest.measurementRepository.performanceResults - .get(buildTestMethodIdentifier(MethodCallThoughputTimestampAnalysis14Test.class, "testWithManyObjects")); + String testMethodIdentifier = MeasurementRepository.buildTestMethodIdentifier(MethodCallThoughputTimestampAnalysis1Test.class, "testWithManyObjects"); + PerformanceResult test01 = PerformanceTest.measurementRepository.performanceResults.get(testMethodIdentifier); + testMethodIdentifier = MeasurementRepository.buildTestMethodIdentifier(MethodCallThoughputTimestampAnalysis14Test.class, "testWithManyObjects"); + PerformanceResult test14 = PerformanceTest.measurementRepository.performanceResults.get(testMethodIdentifier); double medianSpeedup = (double) test14.quantiles.get(0.5) / test01.quantiles.get(0.5); -- GitLab