You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2020/07/23 09:49:29 UTC

[qpid-jms] branch master updated: NO-JIRA: update mock provider/peer usage in some tests to prevent a spurious failure seen in CI

This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-jms.git


The following commit(s) were added to refs/heads/master by this push:
     new 86127dc  NO-JIRA: update mock provider/peer usage in some tests to prevent a spurious failure seen in CI
86127dc is described below

commit 86127dcb9de8c38d8e4c91edb538fb15882ca442
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Thu Jul 23 10:48:51 2020 +0100

    NO-JIRA: update mock provider/peer usage in some tests to prevent a spurious failure seen in CI
---
 .../qpid/jms/producer/JmsMessageProducerTest.java  | 50 ++++++++--------------
 .../jms/provider/mock/MockProviderFactory.java     |  2 +-
 .../qpid/jms/provider/mock/MockRemotePeer.java     |  6 +--
 3 files changed, 22 insertions(+), 36 deletions(-)

diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
index 32e59b7..2927c98 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
@@ -449,8 +449,6 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
     public void testInOrderSendAcksCompletionsReturnInOrder() throws Exception {
         final int MESSAGE_COUNT = 3;
 
-        final MockRemotePeer remotePoor = MockRemotePeer.INSTANCE;
-
         JmsConnectionFactory factory = new JmsConnectionFactory(
             "mock://localhost?mock.delayCompletionCalls=true");
 
@@ -467,11 +465,11 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
 
             @Override
             public boolean isSatisfied() throws Exception {
-                return remotePoor.getPendingCompletions(destination).size() == MESSAGE_COUNT;
+                return remotePeer.getPendingCompletions(destination).size() == MESSAGE_COUNT;
             }
         }));
 
-        remotePoor.completeAllPendingSends(destination);
+        remotePeer.completeAllPendingSends(destination);
 
         assertTrue("Not all completions triggered", Wait.waitFor(new Wait.Condition() {
 
@@ -490,8 +488,6 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
     public void testReversedOrderSendAcksCompletionsReturnInOrder() throws Exception {
         final int MESSAGE_COUNT = 3;
 
-        final MockRemotePeer remotePoor = MockRemotePeer.INSTANCE;
-
         JmsConnectionFactory factory = new JmsConnectionFactory(
             "mock://localhost?mock.delayCompletionCalls=true");
 
@@ -508,17 +504,17 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
 
             @Override
             public boolean isSatisfied() throws Exception {
-                return remotePoor.getPendingCompletions(destination).size() == MESSAGE_COUNT;
+                return remotePeer.getPendingCompletions(destination).size() == MESSAGE_COUNT;
             }
         }));
 
-        List<JmsOutboundMessageDispatch> pending = remotePoor.getPendingCompletions(destination);
+        List<JmsOutboundMessageDispatch> pending = remotePeer.getPendingCompletions(destination);
         assertEquals(MESSAGE_COUNT, pending.size());
         Collections.reverse(pending);
 
         for (JmsOutboundMessageDispatch envelope : pending) {
             LOG.info("Trigger completion of message: {}", envelope.getMessage().getJMSMessageID());
-            remotePoor.completePendingSend(envelope);
+            remotePeer.completePendingSend(envelope);
         }
 
         assertTrue("Not all completions triggered", Wait.waitFor(new Wait.Condition() {
@@ -538,8 +534,6 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
     public void testInOrderSendFailuresCompletionsReturnInOrder() throws Exception {
         final int MESSAGE_COUNT = 3;
 
-        final MockRemotePeer remotePoor = MockRemotePeer.INSTANCE;
-
         JmsConnectionFactory factory = new JmsConnectionFactory(
             "mock://localhost?mock.delayCompletionCalls=true");
 
@@ -555,10 +549,10 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
 
             @Override
             public boolean isSatisfied() throws Exception {
-                return remotePoor.getPendingCompletions(destination).size() == MESSAGE_COUNT;
+                return remotePeer.getPendingCompletions(destination).size() == MESSAGE_COUNT;
             }
         }));
-        remotePoor.failAllPendingSends(destination, new ProviderException("Could not send message"));
+        remotePeer.failAllPendingSends(destination, new ProviderException("Could not send message"));
 
         assertTrue("Not all completions triggered", Wait.waitFor(new Wait.Condition() {
 
@@ -577,8 +571,6 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
     public void testReversedOrderSendAcksFailuresReturnInOrder() throws Exception {
         final int MESSAGE_COUNT = 3;
 
-        final MockRemotePeer remotePoor = MockRemotePeer.INSTANCE;
-
         JmsConnectionFactory factory = new JmsConnectionFactory(
             "mock://localhost?mock.delayCompletionCalls=true");
 
@@ -595,17 +587,17 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
 
             @Override
             public boolean isSatisfied() throws Exception {
-                return remotePoor.getPendingCompletions(destination).size() == MESSAGE_COUNT;
+                return remotePeer.getPendingCompletions(destination).size() == MESSAGE_COUNT;
             }
         }));
 
-        List<JmsOutboundMessageDispatch> pending = remotePoor.getPendingCompletions(destination);
+        List<JmsOutboundMessageDispatch> pending = remotePeer.getPendingCompletions(destination);
         assertEquals(MESSAGE_COUNT, pending.size());
         Collections.reverse(pending);
 
         for (JmsOutboundMessageDispatch envelope : pending) {
             LOG.info("Trigger failure of message: {}", envelope.getMessage().getJMSMessageID());
-            remotePoor.failPendingSend(envelope, new ProviderException("Failed to send message"));
+            remotePeer.failPendingSend(envelope, new ProviderException("Failed to send message"));
         }
 
         assertTrue("Not all failures triggered", Wait.waitFor(new Wait.Condition() {
@@ -625,8 +617,6 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
     public void testInterleavedCompletionsReturnedInOrder() throws Exception {
         final int MESSAGE_COUNT = 3;
 
-        final MockRemotePeer remotePoor = MockRemotePeer.INSTANCE;
-
         JmsConnectionFactory factory = new JmsConnectionFactory(
             "mock://localhost?mock.delayCompletionCalls=true");
 
@@ -643,11 +633,11 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
 
             @Override
             public boolean isSatisfied() throws Exception {
-                return remotePoor.getPendingCompletions(destination).size() == MESSAGE_COUNT;
+                return remotePeer.getPendingCompletions(destination).size() == MESSAGE_COUNT;
             }
         }));
 
-        List<JmsOutboundMessageDispatch> pending = remotePoor.getPendingCompletions(destination);
+        List<JmsOutboundMessageDispatch> pending = remotePeer.getPendingCompletions(destination);
         assertEquals(MESSAGE_COUNT, pending.size());
         Collections.reverse(pending);
 
@@ -655,10 +645,10 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
             int sequence = envelope.getMessage().getIntProperty("sequence");
             if (sequence % 2 == 0) {
                 LOG.info("Trigger completion of message: {}", envelope.getMessage().getJMSMessageID());
-                remotePoor.completePendingSend(envelope);
+                remotePeer.completePendingSend(envelope);
             } else {
                 LOG.info("Trigger failure of message: {}", envelope.getMessage().getJMSMessageID());
-                remotePoor.failPendingSend(envelope, new ProviderException("Failed to send message"));
+                remotePeer.failPendingSend(envelope, new ProviderException("Failed to send message"));
             }
         }
 
@@ -679,8 +669,6 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
     public void testCompletionListenerOnCompleteCallsProducerCloseThrowsISE() throws Exception {
         final int MESSAGE_COUNT = 1;
 
-        final MockRemotePeer remotePoor = MockRemotePeer.INSTANCE;
-
         JmsConnectionFactory factory = new JmsConnectionFactory(
             "mock://localhost?mock.delayCompletionCalls=true");
 
@@ -715,11 +703,11 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
 
             @Override
             public boolean isSatisfied() throws Exception {
-                return remotePoor.getPendingCompletions(destination).size() == MESSAGE_COUNT;
+                return remotePeer.getPendingCompletions(destination).size() == MESSAGE_COUNT;
             }
         }));
 
-        remotePoor.completeAllPendingSends(destination);
+        remotePeer.completeAllPendingSends(destination);
 
         assertTrue("Completion never got expected ISE", done.await(10, TimeUnit.SECONDS));
 
@@ -730,8 +718,6 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
     public void testCompletionListenerOnExceptionCallsProducerCloseThrowsISE() throws Exception {
         final int MESSAGE_COUNT = 1;
 
-        final MockRemotePeer remotePoor = MockRemotePeer.INSTANCE;
-
         JmsConnectionFactory factory = new JmsConnectionFactory(
             "mock://localhost?mock.delayCompletionCalls=true");
 
@@ -765,11 +751,11 @@ public class JmsMessageProducerTest extends JmsConnectionTestSupport {
 
             @Override
             public boolean isSatisfied() throws Exception {
-                return remotePoor.getPendingCompletions(destination).size() == MESSAGE_COUNT;
+                return remotePeer.getPendingCompletions(destination).size() == MESSAGE_COUNT;
             }
         }));
 
-        remotePoor.failAllPendingSends(destination, new ProviderException("Could not send message"));
+        remotePeer.failAllPendingSends(destination, new ProviderException("Could not send message"));
 
         assertTrue("Completion never got expected ISE", done.await(10, TimeUnit.SECONDS));
 
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockProviderFactory.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockProviderFactory.java
index 410a5c7..597f8e8 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockProviderFactory.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockProviderFactory.java
@@ -56,7 +56,7 @@ public class MockProviderFactory extends ProviderFactory {
         }
 
         MockProviderConfiguration configuration = new MockProviderConfiguration();
-        MockRemotePeer remote = MockRemotePeer.INSTANCE;
+        MockRemotePeer remote = MockRemotePeer.LAST_STARTED_INSTANCE;
         if (remote != null) {
             remote.getContextStats().recordProviderCreated();
         }
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockRemotePeer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockRemotePeer.java
index 552cee1..ce65240 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockRemotePeer.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/mock/MockRemotePeer.java
@@ -36,7 +36,7 @@ import org.apache.qpid.jms.provider.ProviderException;
  */
 public class MockRemotePeer {
 
-    public static MockRemotePeer INSTANCE;
+    static volatile MockRemotePeer LAST_STARTED_INSTANCE;
 
     private final Map<String, MockProvider> activeProviders = new ConcurrentHashMap<String, MockProvider>();
     private final MockProviderStats contextStats = new MockProviderStats();
@@ -101,13 +101,13 @@ public class MockRemotePeer {
         lastRegistered = null;
         offline = false;
 
-        MockRemotePeer.INSTANCE = this;
+        MockRemotePeer.LAST_STARTED_INSTANCE = this;
     }
 
     public void terminate() {
         shutdown();
 
-        MockRemotePeer.INSTANCE = null;
+        MockRemotePeer.LAST_STARTED_INSTANCE = null;
     }
 
     public void shutdown() {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org