You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2023/06/08 19:46:42 UTC
[qpid-proton] 02/02: No-JIRA: Update unit tests to use C++11 features not macros
This is an automated email from the ASF dual-hosted git repository.
astitcher pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-proton.git
commit f394976bc6e0eeb3cc7d7a2ee6daec457dbf03bd
Author: Andrew Stitcher <as...@apache.org>
AuthorDate: Thu May 11 15:21:59 2023 -0400
No-JIRA: Update unit tests to use C++11 features not macros
---
c/tests/connection_driver_test.cpp | 52 +++++++++++++++++++-------------------
c/tests/pn_test.cpp | 11 --------
c/tests/pn_test.hpp | 5 ----
c/tests/proactor_test.cpp | 18 ++++++-------
4 files changed, 35 insertions(+), 51 deletions(-)
diff --git a/c/tests/connection_driver_test.cpp b/c/tests/connection_driver_test.cpp
index 984bad200..46dcb9c59 100644
--- a/c/tests/connection_driver_test.cpp
+++ b/c/tests/connection_driver_test.cpp
@@ -109,19 +109,19 @@ TEST_CASE("driver_message_transfer") {
pn_link_open(snd);
d.run();
- CHECK_THAT(ETYPES(PN_CONNECTION_INIT, PN_CONNECTION_LOCAL_OPEN,
- PN_SESSION_INIT, PN_SESSION_LOCAL_OPEN, PN_LINK_INIT,
- PN_LINK_LOCAL_OPEN, PN_CONNECTION_BOUND,
- PN_CONNECTION_REMOTE_OPEN, PN_SESSION_REMOTE_OPEN,
- PN_LINK_REMOTE_OPEN),
+ CHECK_THAT((etypes{PN_CONNECTION_INIT, PN_CONNECTION_LOCAL_OPEN,
+ PN_SESSION_INIT, PN_SESSION_LOCAL_OPEN, PN_LINK_INIT,
+ PN_LINK_LOCAL_OPEN, PN_CONNECTION_BOUND,
+ PN_CONNECTION_REMOTE_OPEN, PN_SESSION_REMOTE_OPEN,
+ PN_LINK_REMOTE_OPEN}),
Equals(client.log_clear()));
- CHECK_THAT(ETYPES(PN_CONNECTION_INIT, PN_CONNECTION_BOUND,
- PN_CONNECTION_REMOTE_OPEN, PN_SESSION_INIT,
- PN_SESSION_REMOTE_OPEN, PN_LINK_INIT, PN_LINK_REMOTE_OPEN,
- PN_CONNECTION_LOCAL_OPEN, PN_TRANSPORT,
- PN_SESSION_LOCAL_OPEN, PN_TRANSPORT, PN_LINK_LOCAL_OPEN,
- PN_TRANSPORT),
+ CHECK_THAT((etypes{PN_CONNECTION_INIT, PN_CONNECTION_BOUND,
+ PN_CONNECTION_REMOTE_OPEN, PN_SESSION_INIT,
+ PN_SESSION_REMOTE_OPEN, PN_LINK_INIT, PN_LINK_REMOTE_OPEN,
+ PN_CONNECTION_LOCAL_OPEN, PN_TRANSPORT,
+ PN_SESSION_LOCAL_OPEN, PN_TRANSPORT, PN_LINK_LOCAL_OPEN,
+ PN_TRANSPORT}),
Equals(server.log_clear()));
pn_link_t *rcv = server.link;
@@ -129,7 +129,7 @@ TEST_CASE("driver_message_transfer") {
REQUIRE(pn_link_is_receiver(rcv));
pn_link_flow(rcv, 1);
d.run();
- CHECK_THAT(ETYPES(PN_LINK_FLOW), Equals(client.log_clear()));
+ CHECK_THAT((etypes{PN_LINK_FLOW}), Equals(client.log_clear()));
/* Encode and send a message */
auto_free<pn_message_t, pn_message_free> m(pn_message());
@@ -139,7 +139,7 @@ TEST_CASE("driver_message_transfer") {
pn_message_send(m, snd, NULL);
d.run();
- CHECK_THAT(ETYPES(PN_TRANSPORT, PN_DELIVERY), Equals(server.log_clear()));
+ CHECK_THAT((etypes{PN_TRANSPORT, PN_DELIVERY}), Equals(server.log_clear()));
/* Receive and decode the message */
pn_delivery_t *dlv = server.delivery;
@@ -214,7 +214,7 @@ TEST_CASE("driver_message_stream") {
ssize_t c = (i + CHUNK < size) ? CHUNK : size - i;
CHECK(c == pn_link_send(snd, buf.start + i, c));
d.run();
- CHECK_THAT(ETYPES(PN_DELIVERY), Equals(server.log_clear()));
+ CHECK_THAT((etypes{PN_DELIVERY}), Equals(server.log_clear()));
/* Receive a chunk */
pn_delivery_t *dlv = server.delivery;
pn_link_t *l = pn_delivery_link(dlv);
@@ -298,7 +298,7 @@ TEST_CASE("driver_message_abort") {
CHECK_FALSE(d.run());
CHECK_THAT(server.log_clear(), Equals(etypes()));
/* Client gets transport/flow after abort to ensure other messages are sent */
- CHECK_THAT(ETYPES(PN_TRANSPORT, PN_LINK_FLOW), Equals(client.log_clear()));
+ CHECK_THAT((etypes{PN_TRANSPORT, PN_LINK_FLOW}), Equals(client.log_clear()));
/* Aborted delivery consumes no credit */
CHECK(1 == pn_link_credit(rcv));
CHECK(1 == pn_link_credit(snd));
@@ -383,7 +383,7 @@ TEST_CASE("driver_message_abort_mixed") {
pn_delivery_abort(sd);
CHECK(pn_link_current(snd) != sd); /* Advanced */
d.run();
- CHECK_THAT(ETYPES(PN_TRANSPORT), Equals(server.log_clear()));
+ CHECK_THAT((etypes{PN_TRANSPORT}), Equals(server.log_clear()));
/* Aborting wit no frames sent should leave credit untouched */
CHECK(2 == pn_link_credit(snd));
CHECK(2 == pn_link_credit(rcv));
@@ -510,16 +510,16 @@ TEST_CASE("driver_duplicate_link_client", "[!hide][!shouldfail]") {
pn_link_open(pn_sender(ssn, "x"));
d.run();
- CHECK_THAT(ETYPES(PN_LINK_REMOTE_CLOSE, PN_LINK_LOCAL_CLOSE, PN_TRANSPORT,
- PN_LINK_INIT, PN_LINK_REMOTE_OPEN, PN_LINK_LOCAL_OPEN,
- PN_TRANSPORT),
+ CHECK_THAT((etypes{PN_LINK_REMOTE_CLOSE, PN_LINK_LOCAL_CLOSE, PN_TRANSPORT,
+ PN_LINK_INIT, PN_LINK_REMOTE_OPEN, PN_LINK_LOCAL_OPEN,
+ PN_TRANSPORT}),
Equals(server.log_clear()));
CHECK_THAT(*pn_transport_condition(d.server.transport), cond_empty());
d.run();
- CHECK_THAT(ETYPES(PN_LINK_LOCAL_CLOSE, PN_TRANSPORT, PN_LINK_REMOTE_CLOSE,
- PN_LINK_INIT, PN_LINK_LOCAL_OPEN, PN_TRANSPORT,
- PN_LINK_REMOTE_OPEN),
+ CHECK_THAT((etypes{PN_LINK_LOCAL_CLOSE, PN_TRANSPORT, PN_LINK_REMOTE_CLOSE,
+ PN_LINK_INIT, PN_LINK_LOCAL_OPEN, PN_TRANSPORT,
+ PN_LINK_REMOTE_OPEN}),
Equals(client.log_clear()));
CHECK_THAT(*pn_connection_remote_condition(d.client.connection),
cond_empty());
@@ -545,7 +545,7 @@ TEST_CASE("driver_settle_incomplete_receiver") {
CHECK(sizeof(data) == pn_link_send(snd, data, sizeof(data)));
server.log_clear();
d.run();
- CHECK_THAT(ETYPES(PN_DELIVERY), Equals(server.log_clear()));
+ CHECK_THAT((etypes{PN_DELIVERY}), Equals(server.log_clear()));
CHECK(sizeof(data) == pn_link_recv(rcv, rbuf, sizeof(data)));
d.run();
@@ -566,7 +566,7 @@ TEST_CASE("driver_settle_incomplete_receiver") {
CHECK(sizeof(data) == pn_link_send(snd, data, sizeof(data)));
server.log_clear();
d.run();
- CHECK_THAT(ETYPES(PN_DELIVERY), Equals(server.log_clear()));
+ CHECK_THAT((etypes{PN_DELIVERY}), Equals(server.log_clear()));
CHECK(sizeof(data) == pn_link_recv(rcv, rbuf, sizeof(data)));
pn_delivery_tag_t tag = pn_delivery_tag(pn_link_current(rcv));
CHECK(tag.size == 1);
@@ -596,7 +596,7 @@ TEST_CASE("driver_empty_last_frame") {
CHECK(sizeof(data) == pn_link_send(snd, data, sizeof(data)));
server.log_clear();
d.run();
- CHECK_THAT(ETYPES(PN_DELIVERY), Equals(server.log_clear()));
+ CHECK_THAT((etypes{PN_DELIVERY}), Equals(server.log_clear()));
CHECK(sizeof(data) == pn_link_recv(rcv, rbuf, sizeof(data)));
CHECK(pn_delivery_partial(pn_link_current(rcv)));
d.run();
@@ -605,7 +605,7 @@ TEST_CASE("driver_empty_last_frame") {
CHECK(pn_link_advance(snd));
server.log_clear();
d.run();
- CHECK_THAT(ETYPES(PN_DELIVERY), Equals(server.log_clear()));
+ CHECK_THAT((etypes{PN_DELIVERY}), Equals(server.log_clear()));
CHECK(PN_EOS == pn_link_recv(rcv, rbuf, sizeof(data)));
CHECK(!pn_delivery_partial(pn_link_current(rcv)));
diff --git a/c/tests/pn_test.cpp b/c/tests/pn_test.cpp
index 03a2526d5..fa793a395 100644
--- a/c/tests/pn_test.cpp
+++ b/c/tests/pn_test.cpp
@@ -66,17 +66,6 @@ std::string inspect(void *obj) {
return r;
}
-etypes make_etypes_(int first, ...) {
- etypes v;
- va_list ap;
- va_start(ap, first);
- for (int i = first; i >= 0; i = va_arg(ap, int)) {
- v.push_back(static_cast<pn_event_type_t>(i));
- }
- va_end(ap);
- return v;
-}
-
std::ostream &operator<<(std::ostream &o, const etypes &et) {
return o << Catch::Detail::stringify(static_cast<std::vector<pn_event_type_t> >(et));
}
diff --git a/c/tests/pn_test.hpp b/c/tests/pn_test.hpp
index b14012b16..ae8c37d32 100644
--- a/c/tests/pn_test.hpp
+++ b/c/tests/pn_test.hpp
@@ -65,11 +65,6 @@ std::string inspect(void *);
typedef std::vector<pn_event_type_t> etypes;
std::ostream &operator<<(std::ostream &o, const etypes &et);
-// Workaround for lack of list initializers in C++03.
-// Use ETYPES macro, don't call make_etypes_ directly
-etypes make_etypes_(int first, ...);
-#define ETYPES(...) (make_etypes_(__VA_ARGS__, -1))
-
/// Make a pn_bytes_t from a std::string
pn_bytes_t pn_bytes(const std::string &s);
diff --git a/c/tests/proactor_test.cpp b/c/tests/proactor_test.cpp
index 07a13ba18..98124a9e6 100644
--- a/c/tests/proactor_test.cpp
+++ b/c/tests/proactor_test.cpp
@@ -244,16 +244,16 @@ TEST_CASE("proactor_abort") {
REQUIRE_RUN(p, PN_PROACTOR_INACTIVE);
/* Verify expected event sequences, no unexpected events */
- CHECK_THAT(ETYPES(PN_CONNECTION_INIT, PN_CONNECTION_LOCAL_OPEN,
- PN_CONNECTION_BOUND, PN_TRANSPORT_TAIL_CLOSED,
- PN_TRANSPORT_ERROR, PN_TRANSPORT_HEAD_CLOSED,
- PN_TRANSPORT_CLOSED),
+ CHECK_THAT((etypes{PN_CONNECTION_INIT, PN_CONNECTION_LOCAL_OPEN,
+ PN_CONNECTION_BOUND, PN_TRANSPORT_TAIL_CLOSED,
+ PN_TRANSPORT_ERROR, PN_TRANSPORT_HEAD_CLOSED,
+ PN_TRANSPORT_CLOSED}),
Equals(ch.log_clear()));
- CHECK_THAT(ETYPES(PN_LISTENER_OPEN, PN_LISTENER_ACCEPT, PN_CONNECTION_INIT,
- PN_CONNECTION_BOUND, PN_CONNECTION_REMOTE_OPEN,
- PN_TRANSPORT_TAIL_CLOSED, PN_TRANSPORT_ERROR,
- PN_TRANSPORT_HEAD_CLOSED, PN_TRANSPORT_CLOSED,
- PN_LISTENER_CLOSE, PN_PROACTOR_INACTIVE),
+ CHECK_THAT((etypes{PN_LISTENER_OPEN, PN_LISTENER_ACCEPT, PN_CONNECTION_INIT,
+ PN_CONNECTION_BOUND, PN_CONNECTION_REMOTE_OPEN,
+ PN_TRANSPORT_TAIL_CLOSED, PN_TRANSPORT_ERROR,
+ PN_TRANSPORT_HEAD_CLOSED, PN_TRANSPORT_CLOSED,
+ PN_LISTENER_CLOSE, PN_PROACTOR_INACTIVE}),
Equals(sh.log_clear()));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org