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));

Reply via email to