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/activemq-artemis.git


The following commit(s) were added to refs/heads/master by this push:
     new acdd8b4  NO-JIRA: tweaks to address some sporadic test failures
acdd8b4 is described below

commit acdd8b4dcee70ec670692f55aee56c1d55fc33c1
Author: Robbie Gemmell <[email protected]>
AuthorDate: Wed Sep 23 17:19:55 2020 +0100

    NO-JIRA: tweaks to address some sporadic test failures
---
 .../integration/amqp/AmqpMessagePriorityTest.java  | 31 ++++++++++----------
 .../integration/amqp/interop/AmqpCoreTest.java     | 34 +++++++++-------------
 2 files changed, 29 insertions(+), 36 deletions(-)

diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpMessagePriorityTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpMessagePriorityTest.java
index 62de3b0..9e824f9 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpMessagePriorityTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpMessagePriorityTest.java
@@ -52,10 +52,10 @@ public class AmqpMessagePriorityTest extends 
AmqpClientTestSupport {
       sender.send(message);
       sender.close();
 
-      AmqpReceiver receiver = session.createReceiver(getQueueName());
-
       Queue queueView = getProxyToQueue(getQueueName());
-      assertEquals(1, queueView.getMessageCount());
+      Wait.assertEquals(1L, queueView::getMessageCount, 5000, 10);
+
+      AmqpReceiver receiver = session.createReceiver(getQueueName());
 
       receiver.flow(1);
       AmqpMessage receive = receiver.receive(5, TimeUnit.SECONDS);
@@ -124,10 +124,10 @@ public class AmqpMessagePriorityTest extends 
AmqpClientTestSupport {
       sender.send(message);
       sender.close();
 
-      AmqpReceiver receiver = session.createReceiver(getQueueName());
-
       Queue queueView = getProxyToQueue(getQueueName());
-      assertEquals(1, queueView.getMessageCount());
+      Wait.assertEquals(1L, queueView::getMessageCount, 5000, 10);
+
+      AmqpReceiver receiver = session.createReceiver(getQueueName());
 
       receiver.flow(1);
       AmqpMessage receive = receiver.receive(5, TimeUnit.SECONDS);
@@ -156,11 +156,10 @@ public class AmqpMessagePriorityTest extends 
AmqpClientTestSupport {
       sender.send(message);
       sender.close();
 
-      AmqpReceiver receiver = session.createReceiver(getQueueName());
-
       Queue queueView = getProxyToQueue(getQueueName());
-      assertEquals(1, queueView.getMessageCount());
+      Wait.assertEquals(1L, queueView::getMessageCount, 5000, 10);
 
+      AmqpReceiver receiver = session.createReceiver(getQueueName());
       receiver.flow(1);
       AmqpMessage receive = receiver.receive(5, TimeUnit.SECONDS);
       assertNotNull(receive);
@@ -187,10 +186,10 @@ public class AmqpMessagePriorityTest extends 
AmqpClientTestSupport {
       sender.send(message);
       sender.close();
 
-      AmqpReceiver receiver = session.createReceiver(getQueueName());
-
       Queue queueView = getProxyToQueue(getQueueName());
-      assertEquals(1, queueView.getMessageCount());
+      Wait.assertEquals(1L, queueView::getMessageCount, 5000, 10);
+
+      AmqpReceiver receiver = session.createReceiver(getQueueName());
 
       receiver.flow(1);
       AmqpMessage receive = receiver.receive(5, TimeUnit.SECONDS);
@@ -220,10 +219,10 @@ public class AmqpMessagePriorityTest extends 
AmqpClientTestSupport {
 
       sender.close();
 
-      AmqpReceiver receiver = session.createReceiver(getQueueName());
-
       Queue queueView = getProxyToQueue(getQueueName());
-      assertEquals(10, queueView.getMessageCount());
+      Wait.assertEquals(10L, queueView::getMessageCount, 5000, 10);
+
+      AmqpReceiver receiver = session.createReceiver(getQueueName());
 
       receiver.flow(10);
       for (int i = 9; i >= 0; --i) {
@@ -234,7 +233,7 @@ public class AmqpMessagePriorityTest extends 
AmqpClientTestSupport {
       }
       receiver.close();
 
-      Wait.assertEquals(0, queueView::getMessageCount);
+      Wait.assertEquals(0L, queueView::getMessageCount, 5000, 10);
 
       connection.close();
    }
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/interop/AmqpCoreTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/interop/AmqpCoreTest.java
index 8b89e1d..fa8f8db 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/interop/AmqpCoreTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/interop/AmqpCoreTest.java
@@ -16,6 +16,9 @@
  */
 package org.apache.activemq.artemis.tests.integration.amqp.interop;
 
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
 import javax.jms.MessageProducer;
@@ -45,7 +48,7 @@ public class AmqpCoreTest extends JMSClientTestSupport {
       super.setUp();
    }
 
-   @Test
+   @Test(timeout = 60000)
    public void testMultipleCoreReceiving() throws Exception {
 
       Connection coreJmsConn = this.createCoreConnection();
@@ -71,11 +74,9 @@ public class AmqpCoreTest extends JMSClientTestSupport {
 
          sendAmqpMessages("exampleQueueAddress", total);
 
-         assertTrue("not enough message received: " + handler1.getNumMsg() + " 
expected: " + total, handler1.waitForMessages(total));
-         assertTrue("not enough message received: " + handler2.getNumMsg() + " 
expected: " + total, handler2.waitForMessages(total));
-         assertTrue("not enough message received: " + handler3.getNumMsg() + " 
expected: " + total, handler3.waitForMessages(total));
-
-
+         handler1.assertMessagesReceived(total);
+         handler2.assertMessagesReceived(total);
+         handler3.assertMessagesReceived(total);
       } finally {
          coreJmsConn.close();
       }
@@ -99,8 +100,8 @@ public class AmqpCoreTest extends JMSClientTestSupport {
 
    private class CoreMessageHandler implements MessageHandler {
       int id;
-      int numMsg = 0;
-      volatile boolean zeroLen = false;
+      AtomicInteger numMsg = new AtomicInteger();
+      AtomicBoolean zeroLen = new AtomicBoolean();
 
       CoreMessageHandler(int id) {
          this.id = id;
@@ -111,23 +112,16 @@ public class AmqpCoreTest extends JMSClientTestSupport {
          instanceLog.debug("received: " + message.getBodySize());
          if (message.getBodySize() == 0) {
             instanceLog.debug("xxx found zero len message!");
-            zeroLen = true;
+            zeroLen.set(true);
          }
-         addMessage(message);
-      }
 
-      private synchronized void addMessage(ClientMessage message) {
-         numMsg++;
-         instanceLog.debug("[receiver " + id + "] recieved: " + numMsg);
+         instanceLog.debug("[receiver " + id + "] recieved: " + 
numMsg.incrementAndGet());
       }
 
-      public synchronized boolean waitForMessages(int num) throws Exception {
-         assertFalse(zeroLen);
-         return Wait.waitFor(() -> numMsg == num, 30000);
-      }
+      public void assertMessagesReceived(int num) throws Exception {
+         Wait.assertEquals(num, numMsg::get, 30000);
 
-      public int getNumMsg() {
-         return numMsg;
+         assertFalse(zeroLen.get());
       }
    }
 

Reply via email to