From e019cecf3cb7af06d59d3521e9fcef568aeaa0de Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Thu, 24 Jan 2019 00:49:02 -0500
Subject: [PATCH 2/2] Use external Catch2.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
tests/CMakeLists.txt | 20 ++++++++++++++++----
tests/active_poller.cpp | 22 +++++++++++-----------
tests/buffer.cpp | 2 +-
tests/context.cpp | 2 +-
tests/message.cpp | 2 +-
tests/multipart.cpp | 2 +-
tests/poller.cpp | 23 +++++++++++------------
tests/socket.cpp | 8 ++++----
tests/socket_ref.cpp | 8 ++++----
tests/testutil.hpp | 4 ++++
tests/utilities.cpp | 2 +-
11 files changed, 55 insertions(+), 40 deletions(-)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 5c91ac4..8cf6684 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -10,8 +10,15 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
include(CTest)
-include(cmake/catch.cmake)
-include(${CATCH_MODULE_PATH}/Catch.cmake)
+find_package(Catch2)
+if (Catch2_FOUND)
+ set(CATCH_TYPE "catch2")
+ include(Catch)
+else()
+ include(cmake/catch.cmake)
+ include(${CATCH_MODULE_PATH}/Catch.cmake)
+ set(CATCH_TYPE "internal")
+endif()
find_package(Threads)
@@ -29,9 +36,14 @@ add_executable(
utilities.cpp
)
-add_dependencies(unit_tests catch)
+if (CATCH_TYPE STREQUAL "catch2")
+ target_link_libraries(unit_tests PRIVATE Catch2::Catch2)
+ target_compile_definitions(unit_tests PRIVATE -DUSE_EXTERNAL_CATCH2)
+else()
+ add_dependencies(unit_tests catch)
+ target_include_directories(unit_tests PUBLIC ${CATCH_MODULE_PATH})
+endif()
-target_include_directories(unit_tests PUBLIC ${CATCH_MODULE_PATH})
target_link_libraries(
unit_tests
PRIVATE cppzmq
diff --git a/tests/active_poller.cpp b/tests/active_poller.cpp
index 2ad8532..c711210 100644
--- a/tests/active_poller.cpp
+++ b/tests/active_poller.cpp
@@ -92,7 +92,7 @@ TEST_CASE("add handler invalid events type", "[active_poller]")
zmq::active_poller_t active_poller;
zmq::active_poller_t::handler_type handler;
short invalid_events_type = 2 << 10;
- CHECK_THROWS_AS(active_poller.add(socket, static_cast<zmq::event_flags>(invalid_events_type), handler), const zmq::error_t&);
+ CHECK_THROWS_AS(active_poller.add(socket, static_cast<zmq::event_flags>(invalid_events_type), handler), zmq::error_t);
CHECK(active_poller.empty());
CHECK(0u == active_poller.size());
}
@@ -106,14 +106,14 @@ TEST_CASE("add handler twice throws", "[active_poller]")
zmq::active_poller_t::handler_type handler;
active_poller.add(socket, zmq::event_flags::pollin, handler);
/// \todo the actual error code should be checked
- CHECK_THROWS_AS(active_poller.add(socket, zmq::event_flags::pollin, handler), const zmq::error_t&);
+ CHECK_THROWS_AS(active_poller.add(socket, zmq::event_flags::pollin, handler), zmq::error_t);
}
TEST_CASE("wait with no handlers throws", "[active_poller]")
{
zmq::active_poller_t active_poller;
/// \todo the actual error code should be checked
- CHECK_THROWS_AS(active_poller.wait(std::chrono::milliseconds{10}), const zmq::error_t&);
+ CHECK_THROWS_AS(active_poller.wait(std::chrono::milliseconds{10}), zmq::error_t);
}
TEST_CASE("remove unregistered throws", "[active_poller]")
@@ -122,7 +122,7 @@ TEST_CASE("remove unregistered throws", "[active_poller]")
zmq::socket_t socket{context, zmq::socket_type::router};
zmq::active_poller_t active_poller;
/// \todo the actual error code should be checked
- CHECK_THROWS_AS(active_poller.remove(socket), const zmq::error_t&);
+ CHECK_THROWS_AS(active_poller.remove(socket), zmq::error_t);
}
TEST_CASE("remove registered empty", "[active_poller]")
@@ -216,7 +216,7 @@ TEST_CASE("add invalid socket throws", "[active_poller]")
zmq::socket_t a{context, zmq::socket_type::router};
zmq::socket_t b{std::move(a)};
CHECK_THROWS_AS(active_poller.add(a, zmq::event_flags::pollin, zmq::active_poller_t::handler_type{}),
- const zmq::error_t&);
+ zmq::error_t);
}
TEST_CASE("remove invalid socket throws", "[active_poller]")
@@ -229,7 +229,7 @@ TEST_CASE("remove invalid socket throws", "[active_poller]")
CHECK(1u == active_poller.size());
std::vector<zmq::socket_t> sockets;
sockets.emplace_back(std::move(socket));
- CHECK_THROWS_AS(active_poller.remove(socket), const zmq::error_t&);
+ CHECK_THROWS_AS(active_poller.remove(socket), zmq::error_t);
CHECK(1u == active_poller.size());
}
@@ -248,7 +248,7 @@ TEST_CASE("modify empty throws", "[active_poller]")
zmq::context_t context;
zmq::socket_t socket{context, zmq::socket_type::push};
zmq::active_poller_t active_poller;
- CHECK_THROWS_AS(active_poller.modify(socket, zmq::event_flags::pollin), const zmq::error_t&);
+ CHECK_THROWS_AS(active_poller.modify(socket, zmq::event_flags::pollin), zmq::error_t);
}
TEST_CASE("modify invalid socket throws", "[active_poller]")
@@ -257,7 +257,7 @@ TEST_CASE("modify invalid socket throws", "[active_poller]")
zmq::socket_t a{context, zmq::socket_type::push};
zmq::socket_t b{std::move(a)};
zmq::active_poller_t active_poller;
- CHECK_THROWS_AS(active_poller.modify(a, zmq::event_flags::pollin), const zmq::error_t&);
+ CHECK_THROWS_AS(active_poller.modify(a, zmq::event_flags::pollin), zmq::error_t);
}
TEST_CASE("modify not added throws", "[active_poller]")
@@ -268,7 +268,7 @@ TEST_CASE("modify not added throws", "[active_poller]")
zmq::active_poller_t active_poller;
CHECK_NOTHROW(
active_poller.add(a, zmq::event_flags::pollin, zmq::active_poller_t::handler_type{}));
- CHECK_THROWS_AS(active_poller.modify(b, zmq::event_flags::pollin), const zmq::error_t&);
+ CHECK_THROWS_AS(active_poller.modify(b, zmq::event_flags::pollin), zmq::error_t);
}
TEST_CASE("modify simple", "[active_poller]")
@@ -333,7 +333,7 @@ TEST_CASE("wait on move constructed active_poller", "[active_poller]")
zmq::active_poller_t b{std::move(a)};
CHECK(1u == b.size());
/// \todo the actual error code should be checked
- CHECK_THROWS_AS(a.wait(std::chrono::milliseconds{10}), const zmq::error_t&);
+ CHECK_THROWS_AS(a.wait(std::chrono::milliseconds{10}), zmq::error_t);
CHECK(b.wait(std::chrono::milliseconds{-1}));
}
@@ -348,7 +348,7 @@ TEST_CASE("wait on move assigned active_poller", "[active_poller]")
b = {std::move(a)};
CHECK(1u == b.size());
/// \todo the actual error code should be checked
- CHECK_THROWS_AS(a.wait(std::chrono::milliseconds{10}), const zmq::error_t&);
+ CHECK_THROWS_AS(a.wait(std::chrono::milliseconds{10}), zmq::error_t);
CHECK(b.wait(std::chrono::milliseconds{-1}));
}
diff --git a/tests/buffer.cpp b/tests/buffer.cpp
index dd1be89..1f820a1 100644
--- a/tests/buffer.cpp
+++ b/tests/buffer.cpp
@@ -1,4 +1,4 @@
-#include <catch.hpp>
+#include "testutil.hpp"
#include <zmq.hpp>
#ifdef ZMQ_CPP17
diff --git a/tests/context.cpp b/tests/context.cpp
index c8e8267..c530d31 100644
--- a/tests/context.cpp
+++ b/tests/context.cpp
@@ -1,4 +1,4 @@
-#include <catch.hpp>
+#include "testutil.hpp"
#include <zmq.hpp>
#if (__cplusplus >= 201703L)
diff --git a/tests/message.cpp b/tests/message.cpp
index d872107..1642a09 100644
--- a/tests/message.cpp
+++ b/tests/message.cpp
@@ -1,5 +1,5 @@
#define CATCH_CONFIG_MAIN
-#include <catch.hpp>
+#include "testutil.hpp"
#include <zmq.hpp>
#if defined(ZMQ_CPP11)
diff --git a/tests/multipart.cpp b/tests/multipart.cpp
index 1d6bca6..e26c7f3 100644
--- a/tests/multipart.cpp
+++ b/tests/multipart.cpp
@@ -1,4 +1,4 @@
-#include <catch.hpp>
+#include "testutil.hpp"
#include <zmq_addon.hpp>
#ifdef ZMQ_HAS_RVALUE_REFS
diff --git a/tests/poller.cpp b/tests/poller.cpp
index 307c72a..a76b7c2 100644
--- a/tests/poller.cpp
+++ b/tests/poller.cpp
@@ -106,7 +106,7 @@ TEST_CASE("poller add handler invalid events type", "[poller]")
zmq::socket_t socket{context, zmq::socket_type::router};
zmq::poller_t<> poller;
short invalid_events_type = 2 << 10;
- CHECK_THROWS_AS(poller.add(socket, static_cast<zmq::event_flags>(invalid_events_type)), const zmq::error_t&);
+ CHECK_THROWS_AS(poller.add(socket, static_cast<zmq::event_flags>(invalid_events_type)), zmq::error_t);
}
#endif
@@ -117,7 +117,7 @@ TEST_CASE("poller add handler twice throws", "[poller]")
zmq::poller_t<> poller;
poller.add(socket, zmq::event_flags::pollin);
/// \todo the actual error code should be checked
- CHECK_THROWS_AS(poller.add(socket, zmq::event_flags::pollin), const zmq::error_t&);
+ CHECK_THROWS_AS(poller.add(socket, zmq::event_flags::pollin), zmq::error_t);
}
TEST_CASE("poller wait with no handlers throws", "[poller]")
@@ -125,8 +125,7 @@ TEST_CASE("poller wait with no handlers throws", "[poller]")
zmq::poller_t<> poller;
std::vector<zmq::poller_event<>> events;
/// \todo the actual error code should be checked
- CHECK_THROWS_AS(poller.wait_all(events, std::chrono::milliseconds{10}),
- const zmq::error_t&);
+ CHECK_THROWS_AS(poller.wait_all(events, std::chrono::milliseconds{10}), zmq::error_t);
}
TEST_CASE("poller remove unregistered throws", "[poller]")
@@ -135,7 +134,7 @@ TEST_CASE("poller remove unregistered throws", "[poller]")
zmq::socket_t socket{context, zmq::socket_type::router};
zmq::poller_t<> poller;
/// \todo the actual error code should be checked
- CHECK_THROWS_AS(poller.remove(socket), const zmq::error_t&);
+ CHECK_THROWS_AS(poller.remove(socket), zmq::error_t);
}
TEST_CASE("poller remove registered empty", "[poller]")
@@ -178,7 +177,7 @@ TEST_CASE("poller add invalid socket throws", "[poller]")
zmq::poller_t<> poller;
zmq::socket_t a{context, zmq::socket_type::router};
zmq::socket_t b{std::move(a)};
- CHECK_THROWS_AS(poller.add(a, zmq::event_flags::pollin), const zmq::error_t&);
+ CHECK_THROWS_AS(poller.add(a, zmq::event_flags::pollin), zmq::error_t);
}
TEST_CASE("poller remove invalid socket throws", "[poller]")
@@ -189,7 +188,7 @@ TEST_CASE("poller remove invalid socket throws", "[poller]")
CHECK_NOTHROW(poller.add(socket, zmq::event_flags::pollin));
std::vector<zmq::socket_t> sockets;
sockets.emplace_back(std::move(socket));
- CHECK_THROWS_AS(poller.remove(socket), const zmq::error_t&);
+ CHECK_THROWS_AS(poller.remove(socket), zmq::error_t);
CHECK_NOTHROW(poller.remove(sockets[0]));
}
@@ -198,7 +197,7 @@ TEST_CASE("poller modify empty throws", "[poller]")
zmq::context_t context;
zmq::socket_t socket{context, zmq::socket_type::push};
zmq::poller_t<> poller;
- CHECK_THROWS_AS(poller.modify(socket, zmq::event_flags::pollin), const zmq::error_t&);
+ CHECK_THROWS_AS(poller.modify(socket, zmq::event_flags::pollin), zmq::error_t);
}
TEST_CASE("poller modify invalid socket throws", "[poller]")
@@ -207,7 +206,7 @@ TEST_CASE("poller modify invalid socket throws", "[poller]")
zmq::socket_t a{context, zmq::socket_type::push};
zmq::socket_t b{std::move(a)};
zmq::poller_t<> poller;
- CHECK_THROWS_AS(poller.modify(a, zmq::event_flags::pollin), const zmq::error_t&);
+ CHECK_THROWS_AS(poller.modify(a, zmq::event_flags::pollin), zmq::error_t);
}
TEST_CASE("poller modify not added throws", "[poller]")
@@ -217,7 +216,7 @@ TEST_CASE("poller modify not added throws", "[poller]")
zmq::socket_t b{context, zmq::socket_type::push};
zmq::poller_t<> poller;
CHECK_NOTHROW(poller.add(a, zmq::event_flags::pollin));
- CHECK_THROWS_AS(poller.modify(b, zmq::event_flags::pollin), const zmq::error_t&);
+ CHECK_THROWS_AS(poller.modify(b, zmq::event_flags::pollin), zmq::error_t);
}
TEST_CASE("poller modify simple", "[poller]")
@@ -278,7 +277,7 @@ TEST_CASE("poller wait on move constructed", "[poller]")
zmq::poller_t<> b{std::move(a)};
std::vector<zmq::poller_event<>> events(1);
/// \todo the actual error code should be checked
- CHECK_THROWS_AS(a.wait_all(events, std::chrono::milliseconds{10}), const zmq::error_t&);
+ CHECK_THROWS_AS(a.wait_all(events, std::chrono::milliseconds{10}), zmq::error_t);
CHECK(1 == b.wait_all(events, std::chrono::milliseconds{-1}));
}
@@ -292,7 +291,7 @@ TEST_CASE("poller wait on move assigned", "[poller]")
b = {std::move(a)};
/// \todo the TEST_CASE error code should be checked
std::vector<zmq::poller_event<>> events(1);
- CHECK_THROWS_AS(a.wait_all(events, std::chrono::milliseconds{10}), const zmq::error_t&);
+ CHECK_THROWS_AS(a.wait_all(events, std::chrono::milliseconds{10}), zmq::error_t);
CHECK(1 == b.wait_all(events, std::chrono::milliseconds{-1}));
}
diff --git a/tests/socket.cpp b/tests/socket.cpp
index 2ed0eef..f63215d 100644
--- a/tests/socket.cpp
+++ b/tests/socket.cpp
@@ -1,4 +1,4 @@
-#include <catch.hpp>
+#include "testutil.hpp"
#include <zmq.hpp>
#ifdef ZMQ_CPP11
#include <future>
@@ -143,7 +143,7 @@ TEST_CASE("socket send exception", "[socket]")
s.bind("inproc://test");
std::vector<char> buf(4);
- CHECK_THROWS_AS(s.send(zmq::buffer(buf)), const zmq::error_t &);
+ CHECK_THROWS_AS(s.send(zmq::buffer(buf)), zmq::error_t);
}
TEST_CASE("socket recv none", "[socket]")
@@ -231,7 +231,7 @@ TEST_CASE("socket recv dontwait", "[socket]")
zmq::message_t msg;
auto resm = s.recv(msg, flags);
CHECK(!resm);
- CHECK_THROWS_AS(resm.value(), const std::exception &);
+ CHECK_THROWS_AS(resm.value(), std::exception);
CHECK(msg.size() == 0);
}
@@ -242,7 +242,7 @@ TEST_CASE("socket recv exception", "[socket]")
s.bind("inproc://test");
std::vector<char> buf(4);
- CHECK_THROWS_AS(s.recv(zmq::buffer(buf)), const zmq::error_t &);
+ CHECK_THROWS_AS(s.recv(zmq::buffer(buf)), zmq::error_t);
}
TEST_CASE("socket proxy", "[socket]")
diff --git a/tests/socket_ref.cpp b/tests/socket_ref.cpp
index 8a10344..4bdfaff 100644
--- a/tests/socket_ref.cpp
+++ b/tests/socket_ref.cpp
@@ -1,4 +1,4 @@
-#include <catch.hpp>
+#include "testutil.hpp"
#include <zmq.hpp>
#ifdef ZMQ_CPP11
@@ -51,8 +51,8 @@ TEST_CASE("socket_ref compare from socket_t", "[socket_ref]")
zmq::socket_ref sr2 = s2;
CHECK(sr1);
CHECK(sr2);
- CHECK(sr1 == s1);
- CHECK(sr2 == s2);
+ CHECK((sr1 == s1));
+ CHECK((sr2 == s2));
CHECK(sr1.handle() == s1.handle());
CHECK(sr1 != sr2);
CHECK(sr1.handle() != sr2.handle());
@@ -110,7 +110,7 @@ TEST_CASE("socket_ref reinterpret as void*", "[socket_ref]")
zmq::socket_t socket(context, zmq::socket_type::router);
CHECK(socket.handle() != nullptr);
reinterpret_cast<SVP *>(&ssr)->p = socket.handle();
- CHECK(ssr.sr == socket);
+ CHECK((ssr.sr == socket));
}
#endif
diff --git a/tests/testutil.hpp b/tests/testutil.hpp
index dc7ce9f..0947198 100644
--- a/tests/testutil.hpp
+++ b/tests/testutil.hpp
@@ -1,6 +1,10 @@
#pragma once
+#ifdef USE_EXTERNAL_CATCH2
+#include <catch2/catch.hpp>
+#else
#include <catch.hpp>
+#endif
#include <zmq.hpp>
#if defined(ZMQ_CPP11)
diff --git a/tests/utilities.cpp b/tests/utilities.cpp
index c7b8c99..ebfd020 100644
--- a/tests/utilities.cpp
+++ b/tests/utilities.cpp
@@ -1,4 +1,4 @@
-#include <catch.hpp>
+#include "testutil.hpp"
#include <zmq.hpp>
#ifdef ZMQ_CPP11
--
2.21.0