X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fmdsal-trace%2Fdom-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Ftrace%2Fclosetracker%2Fimpl%2Ftests%2FCloseTrackedRegistryTest.java;h=a3a8b495bcde65fff339b5066b38237860afcfb2;hb=refs%2Fchanges%2F03%2F62503%2F1;hp=ba34cbf28c385b3fb40ed5d061dd55be49afb0e8;hpb=d5606ac0105ef6c519e452afdcf4f1d100a1271d;p=controller.git diff --git a/opendaylight/md-sal/mdsal-trace/dom-impl/src/test/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/tests/CloseTrackedRegistryTest.java b/opendaylight/md-sal/mdsal-trace/dom-impl/src/test/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/tests/CloseTrackedRegistryTest.java index ba34cbf28c..a3a8b495bc 100644 --- a/opendaylight/md-sal/mdsal-trace/dom-impl/src/test/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/tests/CloseTrackedRegistryTest.java +++ b/opendaylight/md-sal/mdsal-trace/dom-impl/src/test/java/org/opendaylight/controller/md/sal/trace/closetracker/impl/tests/CloseTrackedRegistryTest.java @@ -10,12 +10,12 @@ package org.opendaylight.controller.md.sal.trace.closetracker.impl.tests; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.fail; -import java.util.List; -import java.util.Map; +import java.util.Set; import java.util.function.Predicate; import org.junit.Test; import org.opendaylight.controller.md.sal.trace.closetracker.impl.AbstractCloseTracked; import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry; +import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistryReportEntry; public class CloseTrackedRegistryTest { @@ -43,18 +43,21 @@ public class CloseTrackedRegistryTest { @SuppressWarnings({ "resource", "unused" }) SomethingClosable forgotToCloseOnce = new SomethingClosable(registry); - Map, Long> uniqueNonClosed = registry.getAllUnique(); - assertThat(uniqueNonClosed.values()).containsExactly(100L, 1L); - uniqueNonClosed.forEach((stackTraceElements, occurrences) -> { - if (occurrences == 100) { - assertThatIterableContains(stackTraceElements, + Set> uniqueNonClosed = registry.getAllUnique(); + assertThat(uniqueNonClosed).hasSize(2); + assertThatIterableContains(uniqueNonClosed, entry -> + entry.getNumberAddedNotRemoved() == 100 || entry.getNumberAddedNotRemoved() == 1); + uniqueNonClosed.forEach(entry -> { + if (entry.getNumberAddedNotRemoved() == 100) { + assertThatIterableContains(entry.getStackTraceElements(), element -> element.getMethodName().equals("someOtherMethodWhichDoesNotClose")); - } else { // occurrences == 1 - assertThatIterableContains(stackTraceElements, + } else if (entry.getNumberAddedNotRemoved() == 1) { + assertThatIterableContains(entry.getStackTraceElements(), element -> element.getMethodName().equals("testDuplicateAllocationContexts")); + } else { + fail("Unexpected number of added, not removed: " + entry.getNumberAddedNotRemoved()); } }); - // one of the two has a StackTraceElement containing } // Something like this really should be in Google Truth... @@ -80,8 +83,13 @@ public class CloseTrackedRegistryTest { SomethingClosable forgotToCloseOnce = new SomethingClosable(debugContextDisabledRegistry); - assertThat(debugContextDisabledRegistry.getAllUnique()).hasSize(1); - assertThat(debugContextDisabledRegistry.getAllUnique().values().iterator().next()).isEqualTo(1); - assertThat(debugContextDisabledRegistry.getAllUnique().keySet().iterator().next()).isEmpty(); + Set> + closeRegistryReport = debugContextDisabledRegistry.getAllUnique(); + assertThat(closeRegistryReport).hasSize(1); + + CloseTrackedRegistryReportEntry + closeRegistryReportEntry1 = closeRegistryReport.iterator().next(); + assertThat(closeRegistryReportEntry1.getNumberAddedNotRemoved()).isEqualTo(1); + assertThat(closeRegistryReportEntry1.getStackTraceElements()).isEmpty(); } }