Skip to content

Commit

Permalink
Fixed tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
redboltz committed Jun 24, 2024
1 parent c1332b9 commit d7ca855
Show file tree
Hide file tree
Showing 8 changed files with 549 additions and 549 deletions.
40 changes: 20 additions & 20 deletions doc/tutorial/client.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions test/system/st_cancel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,19 +116,19 @@ BOOST_AUTO_TEST_CASE(cl) {
broker_runner br;
as::io_context ioc;
using cl_t = am::client<am::protocol_version::v3_1_1, am::protocol::mqtt>;
cl_t amcl{
auto amcl = cl_t::create(
ioc.get_executor()
};
);

as::cancellation_signal sig1;
std::size_t canceled = 0;
am::async_underlying_handshake(
amcl.next_layer(),
amcl->next_layer(),
"127.0.0.1",
"1883",
[&](am::error_code const& ec) {
BOOST_TEST(ec == am::error_code{});
amcl.async_start(
amcl->async_start(
am::v3_1_1::connect_packet{
true, // clean_session
0x1234, // keep_alive
Expand All @@ -141,21 +141,21 @@ BOOST_AUTO_TEST_CASE(cl) {
BOOST_TEST(!ec);
BOOST_CHECK(connack_opt);
// test case
amcl.async_recv(
amcl->async_recv(
as::bind_cancellation_slot(
sig1.slot(),
[&](am::error_code const& ec, am::packet_variant pv) {
BOOST_TEST(ec == as::error::operation_aborted);
BOOST_TEST(!pv);
++canceled;
amcl.async_recv(
amcl->async_recv(
as::bind_cancellation_slot(
sig1.slot(),
[&](am::error_code const& ec, am::packet_variant pv) {
BOOST_TEST(ec == as::error::operation_aborted);
BOOST_TEST(!pv);
++canceled;
amcl.async_close(as::detached);
amcl->async_close(as::detached);
}
)
);
Expand Down
60 changes: 30 additions & 30 deletions test/system/st_cpp20coro_client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,28 @@ BOOST_AUTO_TEST_CASE(v311) {
broker_runner br;
as::io_context ioc;
auto exe = ioc.get_executor();
auto amcl = am::client<am::protocol_version::v3_1_1, am::protocol::mqtt>(exe);
auto amcl = am::client<am::protocol_version::v3_1_1, am::protocol::mqtt>::create(exe);
as::co_spawn(
exe,
[&] () -> as::awaitable<void> {
co_await as::dispatch(
as::bind_executor(
amcl.get_executor(),
amcl->get_executor(),
as::use_awaitable
)
);

// Handshake undlerying layer (Name resolution and TCP handshaking)
auto [ec_und] = co_await am::async_underlying_handshake(
amcl.next_layer(),
amcl->next_layer(),
"127.0.0.1",
"1883",
as::as_tuple(as::use_awaitable)
);
BOOST_TEST(!ec_und);

// MQTT connect and receive loop start
auto [ec_con, connack_opt] = co_await amcl.async_start(
auto [ec_con, connack_opt] = co_await amcl->async_start(
am::v3_1_1::connect_packet{
true, // clean_session
0, // keep_alive
Expand All @@ -66,9 +66,9 @@ BOOST_AUTO_TEST_CASE(v311) {
{"topic2", am::qos::at_least_once},
{"topic3", am::qos::exactly_once},
};
auto pid_sub_opt = amcl.acquire_unique_packet_id();
auto pid_sub_opt = amcl->acquire_unique_packet_id();
BOOST_CHECK(pid_sub_opt);
auto [ec_sub, suback_opt] = co_await amcl.async_subscribe(
auto [ec_sub, suback_opt] = co_await amcl->async_subscribe(
am::v3_1_1::subscribe_packet{
*pid_sub_opt,
am::force_move(sub_entry) // sub_entry variable is required to avoid g++ bug
Expand All @@ -90,7 +90,7 @@ BOOST_AUTO_TEST_CASE(v311) {
BOOST_TEST(suback == exp_suback);

// MQTT publish QoS0 and wait response (socket write complete)
auto [ec_pub0, pubres0] = co_await amcl.async_publish(
auto [ec_pub0, pubres0] = co_await amcl->async_publish(
am::v3_1_1::publish_packet{
"topic1",
"payload1",
Expand All @@ -104,9 +104,9 @@ BOOST_AUTO_TEST_CASE(v311) {
BOOST_CHECK(!pubres0.pubcomp_opt);

// MQTT publish QoS1 and wait response (puback receive)
auto [ec_pid1, pid_pub1] = co_await amcl.async_acquire_unique_packet_id(as::as_tuple(as::use_awaitable)); // async version
auto [ec_pid1, pid_pub1] = co_await amcl->async_acquire_unique_packet_id(as::as_tuple(as::use_awaitable)); // async version
BOOST_TEST(!ec_pid1);
auto [ec_pub1, pubres1] = co_await amcl.async_publish(
auto [ec_pub1, pubres1] = co_await amcl->async_publish(
am::v3_1_1::publish_packet{
pid_pub1,
"topic1",
Expand All @@ -124,9 +124,9 @@ BOOST_AUTO_TEST_CASE(v311) {
BOOST_TEST(puback1 == exp_puback1);

// MQTT publish QoS2 and wait response (pubrec, pubcomp receive)
auto [ec_pid2, pid_pub2] = co_await amcl.async_acquire_unique_packet_id_wait_until(as::as_tuple(as::use_awaitable)); // async version
auto [ec_pid2, pid_pub2] = co_await amcl->async_acquire_unique_packet_id_wait_until(as::as_tuple(as::use_awaitable)); // async version
BOOST_TEST(!ec_pid2);
auto [ec_pub2, pubres2] = co_await amcl.async_publish(
auto [ec_pub2, pubres2] = co_await amcl->async_publish(
am::v3_1_1::publish_packet{
pid_pub2,
"topic1",
Expand All @@ -152,9 +152,9 @@ BOOST_AUTO_TEST_CASE(v311) {
{"topic2"},
{"topic3"},
};
auto pid_unsub_opt = amcl.acquire_unique_packet_id();
auto pid_unsub_opt = amcl->acquire_unique_packet_id();
BOOST_CHECK(pid_unsub_opt);
auto [ec_unsub, unsuback_opt] = co_await amcl.async_unsubscribe(
auto [ec_unsub, unsuback_opt] = co_await amcl->async_unsubscribe(
am::v3_1_1::unsubscribe_packet{
*pid_unsub_opt,
am::force_move(unsub_entry) // unsub_entry variable is required to avoid g++ bug
Expand All @@ -171,14 +171,14 @@ BOOST_AUTO_TEST_CASE(v311) {
BOOST_TEST(unsuback == exp_unsuback);

// MQTT disconnect
auto [ec_disconnect] = co_await amcl.async_disconnect(
auto [ec_disconnect] = co_await amcl->async_disconnect(
am::v3_1_1::disconnect_packet{},
as::as_tuple(as::use_awaitable)
);
BOOST_TEST(!ec_disconnect);

// close
co_await amcl.async_close(
co_await amcl->async_close(
as::as_tuple(as::use_awaitable)
);
co_return;
Expand All @@ -192,28 +192,28 @@ BOOST_AUTO_TEST_CASE(v5) {
broker_runner br;
as::io_context ioc;
auto exe = ioc.get_executor();
auto amcl = am::client<am::protocol_version::v5, am::protocol::mqtt>(exe);
auto amcl = am::client<am::protocol_version::v5, am::protocol::mqtt>::create(exe);
as::co_spawn(
exe,
[&] () -> as::awaitable<void> {
co_await as::dispatch(
as::bind_executor(
amcl.get_executor(),
amcl->get_executor(),
as::use_awaitable
)
);

// Handshake undlerying layer (Name resolution and TCP handshaking)
auto [ec_und] = co_await am::async_underlying_handshake(
amcl.next_layer(),
amcl->next_layer(),
"127.0.0.1",
"1883",
as::as_tuple(as::use_awaitable)
);
BOOST_TEST(!ec_und);

// MQTT connect and receive loop start
auto [ec_con, connack_opt] = co_await amcl.async_start(
auto [ec_con, connack_opt] = co_await amcl->async_start(
am::v5::connect_packet{
true, // clean_session
0, // keep_alive
Expand Down Expand Up @@ -243,9 +243,9 @@ BOOST_AUTO_TEST_CASE(v5) {
{"topic2", am::qos::at_least_once},
{"topic3", am::qos::exactly_once},
};
auto pid_sub_opt = amcl.acquire_unique_packet_id();
auto pid_sub_opt = amcl->acquire_unique_packet_id();
BOOST_CHECK(pid_sub_opt);
auto [ec_sub, suback_opt] = co_await amcl.async_subscribe(
auto [ec_sub, suback_opt] = co_await amcl->async_subscribe(
am::v5::subscribe_packet{
*pid_sub_opt,
am::force_move(sub_entry) // sub_entry variable is required to avoid g++ bug
Expand All @@ -267,7 +267,7 @@ BOOST_AUTO_TEST_CASE(v5) {
BOOST_TEST(suback == exp_suback);

// MQTT publish QoS0 and wait response (socket write complete)
auto [ec_pub0, pubres0] = co_await amcl.async_publish(
auto [ec_pub0, pubres0] = co_await amcl->async_publish(
am::v5::publish_packet{
"topic1",
"payload1",
Expand All @@ -281,11 +281,11 @@ BOOST_AUTO_TEST_CASE(v5) {
BOOST_CHECK(!pubres0.pubcomp_opt);

// MQTT publish QoS1 and wait response (puback receive)
auto [ec_pid1, pid_pub1] = co_await amcl.get_endpoint().async_acquire_unique_packet_id(
auto [ec_pid1, pid_pub1] = co_await amcl->get_endpoint().async_acquire_unique_packet_id(
as::as_tuple(as::use_awaitable)
); // async version via endpoint
BOOST_TEST(!ec_pid1);
auto [ec_pub1, pubres1] = co_await amcl.async_publish(
auto [ec_pub1, pubres1] = co_await amcl->async_publish(
am::v5::publish_packet{
pid_pub1,
"topic2",
Expand All @@ -303,9 +303,9 @@ BOOST_AUTO_TEST_CASE(v5) {
BOOST_TEST(puback1 == exp_puback1);

// MQTT publish QoS2 and wait response (pubrec, pubcomp receive)
auto [ec_pid2, pid_pub2] = co_await amcl.async_acquire_unique_packet_id_wait_until(as::as_tuple(as::use_awaitable)); // async version
auto [ec_pid2, pid_pub2] = co_await amcl->async_acquire_unique_packet_id_wait_until(as::as_tuple(as::use_awaitable)); // async version
BOOST_TEST(!ec_pid2);
auto [ec_pub2, pubres2] = co_await amcl.async_publish(
auto [ec_pub2, pubres2] = co_await amcl->async_publish(
am::v5::publish_packet{
pid_pub2,
"topic3",
Expand All @@ -331,9 +331,9 @@ BOOST_AUTO_TEST_CASE(v5) {
{"topic2"},
{"topic3"},
};
auto pid_unsub_opt = amcl.acquire_unique_packet_id();
auto pid_unsub_opt = amcl->acquire_unique_packet_id();
BOOST_CHECK(pid_unsub_opt);
auto [ec_unsub, unsuback_opt] = co_await amcl.async_unsubscribe(
auto [ec_unsub, unsuback_opt] = co_await amcl->async_unsubscribe(
am::v5::unsubscribe_packet{
*pid_unsub_opt,
am::force_move(unsub_entry) // unsub_entry variable is required to avoid g++ bug
Expand All @@ -355,14 +355,14 @@ BOOST_AUTO_TEST_CASE(v5) {
BOOST_TEST(unsuback == exp_unsuback);

// MQTT disconnect
auto [ec_disconnect] = co_await amcl.async_disconnect(
auto [ec_disconnect] = co_await amcl->async_disconnect(
am::v5::disconnect_packet{},
as::as_tuple(as::use_awaitable)
);
BOOST_TEST(!ec_disconnect);

// close
co_await amcl.async_close(
co_await amcl->async_close(
as::as_tuple(as::use_awaitable)
);
co_return;
Expand Down
Loading

0 comments on commit d7ca855

Please sign in to comment.