From 75f7882d1ccb49fc21e0b6715fe8e5606fb20a47 Mon Sep 17 00:00:00 2001 From: Matt Broadstone Date: Mon, 28 Jul 2014 17:55:30 -0400 Subject: [PATCH] update flakey get test --- src/amqp_queue.cpp | 7 +++---- tests/auto/qamqpqueue/tst_qamqpqueue.cpp | 11 +++++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/amqp_queue.cpp b/src/amqp_queue.cpp index ff9382d..f365959 100644 --- a/src/amqp_queue.cpp +++ b/src/amqp_queue.cpp @@ -484,8 +484,7 @@ void Queue::get(bool noAck) out << qint16(0); //reserved 1 Frame::writeField('s', out, d->name); - - out << qint8(noAck ? 1 : 0); // noAck + out << qint8(noAck ? 1 : 0); // no-ack frame.setArguments(arguments); d->sendFrame(frame); @@ -505,8 +504,8 @@ void Queue::ack(const Message &message) QByteArray arguments; QDataStream out(&arguments, QIODevice::WriteOnly); - out << message.deliveryTag(); // reserved 1 - out << qint8(0); // noAck + out << message.deliveryTag(); + out << qint8(0); // multiple frame.setArguments(arguments); d->sendFrame(frame); diff --git a/tests/auto/qamqpqueue/tst_qamqpqueue.cpp b/tests/auto/qamqpqueue/tst_qamqpqueue.cpp index d07f461..e91a120 100644 --- a/tests/auto/qamqpqueue/tst_qamqpqueue.cpp +++ b/tests/auto/qamqpqueue/tst_qamqpqueue.cpp @@ -360,7 +360,7 @@ void tst_QAMQPQueue::get() queue->declare(); QVERIFY(waitForSignal(queue, SIGNAL(declared()))); - const int messageCount = 50; + const int messageCount = 200; Exchange *defaultExchange = client->createExchange(); for (int i = 0; i < messageCount; ++i) { QString expected = QString("message %1").arg(i); @@ -370,7 +370,14 @@ void tst_QAMQPQueue::get() for (int i = 0; i < messageCount; ++i) { QString expected = QString("message %1").arg(i); queue->get(false); - QVERIFY(waitForSignal(queue, SIGNAL(messageReceived()))); + if (!waitForSignal(queue, SIGNAL(messageReceived()))) { + // NOTE: this is here instead of waiting for messages to be + // available with a sleep above. It makes the test a little + // longer if there's a miss, look into a proper fix in the future + i--; + continue; + } + Message message = queue->dequeue(); QCOMPARE(message.payload(), expected.toUtf8()); queue->ack(message);