This is an automated email from the ASF dual-hosted git repository.
enapps-enorman pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-discovery-commons.git
The following commit(s) were added to refs/heads/master by this push:
new ac4147a stabilize TestInitDelayingTopologyEventListener
testProperties (#14)
ac4147a is described below
commit ac4147a363be24cc10f2695bbb16457cfc348c12
Author: Eric Norman <[email protected]>
AuthorDate: Fri Jun 5 11:26:57 2026 -0700
stabilize TestInitDelayingTopologyEventListener testProperties (#14)
---
.../commons/TestInitDelayingTopologyEventListener.java | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git
a/src/test/java/org/apache/sling/discovery/commons/TestInitDelayingTopologyEventListener.java
b/src/test/java/org/apache/sling/discovery/commons/TestInitDelayingTopologyEventListener.java
index 6462b49..a8fddb2 100644
---
a/src/test/java/org/apache/sling/discovery/commons/TestInitDelayingTopologyEventListener.java
+++
b/src/test/java/org/apache/sling/discovery/commons/TestInitDelayingTopologyEventListener.java
@@ -36,6 +36,7 @@ import org.apache.sling.discovery.TopologyEvent;
import org.apache.sling.discovery.TopologyEvent.Type;
import org.apache.sling.discovery.TopologyEventListener;
import org.apache.sling.discovery.TopologyView;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.Mockito;
import org.slf4j.Logger;
@@ -223,6 +224,17 @@ public class TestInitDelayingTopologyEventListener {
};
}
+ @BeforeClass
+ public static void beforeSuite() {
+ // When the jacoco agent is active, the instrumentation changes the
timing of the first test which can cause
+ // unstable test results if the background threads run out of order.
This dummy code attempts to fix the agent's
+ // overhead on the first test by using a call to "warm up" JaCoCo
before the actual tests begin.
+ final TopologyEventListener delegate =
Mockito.mock(TopologyEventListener.class);
+ InitDelayingTopologyEventListener warmupListener = new
InitDelayingTopologyEventListener(1, delegate);
+ warmupListener.handleTopologyEvent(Mockito.mock(TopologyEvent.class));
+ warmupListener.dispose();
+ }
+
@Test
public void testConstructor() throws Exception {
final TopologyEventListener delegate = new TopologyEventListener() {
@@ -444,11 +456,9 @@ public class TestInitDelayingTopologyEventListener {
public void testProperties() throws Exception {
final TestListener delegate = new TestListener();
final Scheduler scheduler = createScheduler();
- // NOTE: sometimes the 1 second startup delay didn't appear to be
enough
- // and events were not delayed as expected.
- // Bumped the startup delay to 2 seconds for a more stable test.
+
InitDelayingTopologyEventListener listener =
- new InitDelayingTopologyEventListener(2, delegate, scheduler,
logger);
+ new InitDelayingTopologyEventListener(1, delegate, scheduler,
logger);
listener.handleTopologyEvent(createEvent(Type.TOPOLOGY_INIT));
listener.handleTopologyEvent(createEvent(Type.TOPOLOGY_CHANGING));
listener.handleTopologyEvent(createEvent(Type.TOPOLOGY_CHANGED));