diff options
Diffstat (limited to 'qpid/cpp/src/tests')
-rw-r--r-- | qpid/cpp/src/tests/FieldTableTest.cpp | 20 | ||||
-rw-r--r-- | qpid/cpp/src/tests/FramingTest.cpp | 90 | ||||
-rw-r--r-- | qpid/cpp/src/tests/HeaderTest.cpp | 29 | ||||
-rw-r--r-- | qpid/cpp/src/tests/Makefile.am | 2 | ||||
-rw-r--r-- | qpid/cpp/src/tests/MessageTest.cpp | 14 | ||||
-rw-r--r-- | qpid/cpp/src/tests/Uuid.cpp | 10 |
6 files changed, 97 insertions, 68 deletions
diff --git a/qpid/cpp/src/tests/FieldTableTest.cpp b/qpid/cpp/src/tests/FieldTableTest.cpp index dcab96fb08..deb3655619 100644 --- a/qpid/cpp/src/tests/FieldTableTest.cpp +++ b/qpid/cpp/src/tests/FieldTableTest.cpp @@ -39,11 +39,13 @@ class FieldTableTest : public CppUnit::TestCase ft.setString("A", "BCDE"); CPPUNIT_ASSERT_EQUAL(std::string("BCDE"), ft.getString("A")); - Buffer buffer(100); - buffer.putFieldTable(ft); - buffer.flip(); + char buff[100]; + Buffer wbuffer(buff, 100); + wbuffer.putFieldTable(ft); + + Buffer rbuffer(buff, 100); FieldTable ft2; - buffer.getFieldTable(ft2); + rbuffer.getFieldTable(ft2); CPPUNIT_ASSERT_EQUAL(std::string("BCDE"), ft2.getString("A")); } @@ -68,10 +70,12 @@ class FieldTableTest : public CppUnit::TestCase FieldTable c; c = a; - Buffer buffer(c.size()); - buffer.putFieldTable(c); - buffer.flip(); - buffer.getFieldTable(d); + char* buff = static_cast<char*>(::alloca(c.size())); + Buffer wbuffer(buff, c.size()); + wbuffer.putFieldTable(c); + + Buffer rbuffer(buff, c.size()); + rbuffer.getFieldTable(d); CPPUNIT_ASSERT_EQUAL(c, d); CPPUNIT_ASSERT_EQUAL(std::string("CCCC"), c.getString("A")); CPPUNIT_ASSERT_EQUAL(1234, c.getInt("B")); diff --git a/qpid/cpp/src/tests/FramingTest.cpp b/qpid/cpp/src/tests/FramingTest.cpp index 1b843defc1..79df8eade2 100644 --- a/qpid/cpp/src/tests/FramingTest.cpp +++ b/qpid/cpp/src/tests/FramingTest.cpp @@ -68,114 +68,130 @@ class FramingTest : public CppUnit::TestCase CPPUNIT_TEST_SUITE_END(); private: - Buffer buffer; + char buffer[1024]; ProtocolVersion version; public: - FramingTest() : buffer(1024), version(highestProtocolVersion) {} + FramingTest() : version(highestProtocolVersion) {} void testBasicQosBody() { + Buffer wbuff(buffer, sizeof(buffer)); BasicQosBody in(version, 0xCAFEBABE, 0xABBA, true); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); BasicQosBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testConnectionSecureBody() { + Buffer wbuff(buffer, sizeof(buffer)); std::string s = "security credential"; ConnectionSecureBody in(version, s); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); ConnectionSecureBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testConnectionRedirectBody() { + Buffer wbuff(buffer, sizeof(buffer)); std::string a = "hostA"; std::string b = "hostB"; ConnectionRedirectBody in(version, a, b); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); ConnectionRedirectBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testAccessRequestBody() { + Buffer wbuff(buffer, sizeof(buffer)); std::string s = "text"; AccessRequestBody in(version, s, true, false, true, false, true); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); AccessRequestBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testBasicConsumeBody() { + Buffer wbuff(buffer, sizeof(buffer)); std::string q = "queue"; std::string t = "tag"; BasicConsumeBody in(version, 0, q, t, false, true, false, false, FieldTable()); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); BasicConsumeBody out(version); - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testConnectionRedirectBodyFrame() { + Buffer wbuff(buffer, sizeof(buffer)); std::string a = "hostA"; std::string b = "hostB"; AMQFrame in(999, ConnectionRedirectBody(version, a, b)); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); AMQFrame out; - out.decode(buffer); + out.decode(rbuff); CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testBasicConsumeOkBodyFrame() { + Buffer wbuff(buffer, sizeof(buffer)); std::string s = "hostA"; AMQFrame in(999, BasicConsumeOkBody(version, s)); - in.encode(buffer); - buffer.flip(); + in.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); AMQFrame out; - for(int i = 0; i < 5; i++){ - out.decode(buffer); - CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); - } + out.decode(rbuff); + CPPUNIT_ASSERT_EQUAL(tostring(in), tostring(out)); } void testInlineContent() { + Buffer wbuff(buffer, sizeof(buffer)); Content content(INLINE, "MyData"); CPPUNIT_ASSERT(content.isInline()); - content.encode(buffer); - buffer.flip(); + content.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); Content recovered; - recovered.decode(buffer); + recovered.decode(rbuff); CPPUNIT_ASSERT(recovered.isInline()); CPPUNIT_ASSERT_EQUAL(content.getValue(), recovered.getValue()); } void testContentReference() { + Buffer wbuff(buffer, sizeof(buffer)); Content content(REFERENCE, "MyRef"); CPPUNIT_ASSERT(content.isReference()); - content.encode(buffer); - buffer.flip(); + content.encode(wbuff); + + Buffer rbuff(buffer, sizeof(buffer)); Content recovered; - recovered.decode(buffer); + recovered.decode(rbuff); CPPUNIT_ASSERT(recovered.isReference()); CPPUNIT_ASSERT_EQUAL(content.getValue(), recovered.getValue()); } @@ -198,11 +214,13 @@ class FramingTest : public CppUnit::TestCase } try { - buffer.putOctet(2); - buffer.putLongString("blah, blah"); - buffer.flip(); + Buffer wbuff(buffer, sizeof(buffer)); + wbuff.putOctet(2); + wbuff.putLongString("blah, blah"); + + Buffer rbuff(buffer, sizeof(buffer)); Content content; - content.decode(buffer); + content.decode(rbuff); CPPUNIT_ASSERT(false);//fail, expected exception } catch (QpidError& e) { CPPUNIT_ASSERT_EQUAL(FRAMING_ERROR, e.code); diff --git a/qpid/cpp/src/tests/HeaderTest.cpp b/qpid/cpp/src/tests/HeaderTest.cpp index df2230342c..a883ccf300 100644 --- a/qpid/cpp/src/tests/HeaderTest.cpp +++ b/qpid/cpp/src/tests/HeaderTest.cpp @@ -38,12 +38,13 @@ public: { AMQHeaderBody body; body.get<BasicHeaderProperties>(true)->getHeaders().setString("A", "BCDE"); - Buffer buffer(100); + char buff[100]; + Buffer wbuffer(buff, 100); + body.encode(wbuffer); - body.encode(buffer); - buffer.flip(); + Buffer rbuffer(buff, 100); AMQHeaderBody body2; - body2.decode(buffer, body.size()); + body2.decode(rbuffer, body.size()); BasicHeaderProperties* props = body2.get<BasicHeaderProperties>(true); CPPUNIT_ASSERT_EQUAL(std::string("BCDE"), @@ -84,11 +85,13 @@ public: properties->setClusterId(clusterId); properties->setContentLength(contentLength); - Buffer buffer(10000); - out.encode(buffer); - buffer.flip(); + char buff[10000]; + Buffer wbuffer(buff, 10000); + out.encode(wbuffer); + + Buffer rbuffer(buff, 10000); AMQFrame in; - in.decode(buffer); + in.decode(rbuffer); properties = in.castBody<AMQHeaderBody>()->get<BasicHeaderProperties>(true); CPPUNIT_ASSERT_EQUAL(contentType, properties->getContentType()); @@ -123,11 +126,13 @@ public: properties->setExpiration(expiration); properties->setTimestamp(timestamp); - Buffer buffer(100); - body.encode(buffer); - buffer.flip(); + char buff[100]; + Buffer wbuffer(buff, 100); + body.encode(wbuffer); + + Buffer rbuffer(buff, 100); AMQHeaderBody temp; - temp.decode(buffer, body.size()); + temp.decode(rbuffer, body.size()); properties = temp.get<BasicHeaderProperties>(true); CPPUNIT_ASSERT_EQUAL(contentType, properties->getContentType()); diff --git a/qpid/cpp/src/tests/Makefile.am b/qpid/cpp/src/tests/Makefile.am index 545eb965c4..611b498524 100644 --- a/qpid/cpp/src/tests/Makefile.am +++ b/qpid/cpp/src/tests/Makefile.am @@ -84,7 +84,6 @@ broker_unit_tests = \ DtxWorkRecordTest \ ExchangeTest \ HeadersExchangeTest \ - MessageBuilderTest \ MessageTest \ QueueRegistryTest \ QueueTest \ @@ -96,6 +95,7 @@ broker_unit_tests = \ TxPublishTest \ ValueTest \ MessageHandlerTest +# MessageBuilderTest #client_unit_tests = \ ClientChannelTest diff --git a/qpid/cpp/src/tests/MessageTest.cpp b/qpid/cpp/src/tests/MessageTest.cpp index 3d080ef3dc..775d251349 100644 --- a/qpid/cpp/src/tests/MessageTest.cpp +++ b/qpid/cpp/src/tests/MessageTest.cpp @@ -68,14 +68,14 @@ class MessageTest : public CppUnit::TestCase dProps->setDeliveryMode(PERSISTENT); CPPUNIT_ASSERT(msg->isPersistent()); - - Buffer buffer(msg->encodedSize()); - msg->encode(buffer); - buffer.flip(); + char* buff = static_cast<char*>(::alloca(msg->encodedSize())); + Buffer wbuffer(buff, msg->encodedSize()); + msg->encode(wbuffer); + + Buffer rbuffer(buff, msg->encodedSize()); msg.reset(new Message()); - msg->decodeHeader(buffer); - msg->decodeContent(buffer); - + msg->decodeHeader(rbuffer); + msg->decodeContent(rbuffer); CPPUNIT_ASSERT_EQUAL(exchange, msg->getExchangeName()); CPPUNIT_ASSERT_EQUAL(routingKey, msg->getRoutingKey()); CPPUNIT_ASSERT_EQUAL((uint64_t) data1.size() + data2.size(), msg->contentSize()); diff --git a/qpid/cpp/src/tests/Uuid.cpp b/qpid/cpp/src/tests/Uuid.cpp index da8c94aeae..db9a012a3d 100644 --- a/qpid/cpp/src/tests/Uuid.cpp +++ b/qpid/cpp/src/tests/Uuid.cpp @@ -62,12 +62,14 @@ BOOST_AUTO_TEST_CASE(testUuidOstream) { } BOOST_AUTO_TEST_CASE(testUuidEncodeDecode) { - Buffer buf(Uuid::size()); + char* buff = static_cast<char*>(::alloca(Uuid::size())); + Buffer wbuf(buff, Uuid::size()); Uuid uuid(sample.c_array()); - uuid.encode(buf); - buf.flip(); + uuid.encode(wbuf); + + Buffer rbuf(buff, Uuid::size()); Uuid decoded; - decoded.decode(buf); + decoded.decode(rbuf); BOOST_CHECK_EQUAL(string(sample.begin(), sample.end()), string(decoded.begin(), decoded.end())); } |