Modernize codebase

- Enhance CMakeLists.txt files.
- Move to Boost Test from Google Test to support pre-C++11 compilers.
- Add more configurations on CI matrix builds.
- Other minor fixes
This commit is contained in:
Daniil Kovalev
2021-07-01 11:17:20 -04:00
committed by GitHub
parent 0af15e45de
commit 7b7615a6d9
80 changed files with 3451 additions and 3799 deletions

View File

@@ -3,22 +3,14 @@
#include <string>
#include <sstream>
#if defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif //defined(__GNUC__)
#include <gtest/gtest.h>
#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif //defined(__GNUC__)
#define BOOST_TEST_MODULE MSGPACK_RAW_REF
#include <boost/test/unit_test.hpp>
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
TEST(MSGPACK_RAW_REF, pack_unpack)
BOOST_AUTO_TEST_CASE(pack_unpack)
{
std::string s = "ABC";
@@ -26,19 +18,19 @@ TEST(MSGPACK_RAW_REF, pack_unpack)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xc4u));
EXPECT_EQ(packed_str[1], static_cast<char>(0x03u));
EXPECT_EQ(packed_str[2], 'A');
EXPECT_EQ(packed_str[3], 'B');
EXPECT_EQ(packed_str[4], 'C');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xc4u));
BOOST_CHECK_EQUAL(packed_str[1], static_cast<char>(0x03u));
BOOST_CHECK_EQUAL(packed_str[2], 'A');
BOOST_CHECK_EQUAL(packed_str[3], 'B');
BOOST_CHECK_EQUAL(packed_str[4], 'C');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::raw_ref rr2 = oh.get().as<msgpack::type::raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_RAW_REF, pack_unpack_8_l)
BOOST_AUTO_TEST_CASE(pack_unpack_8_l)
{
std::string s;
@@ -46,16 +38,16 @@ TEST(MSGPACK_RAW_REF, pack_unpack_8_l)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xc4u));
EXPECT_EQ(packed_str[1], static_cast<char>(0x00u));
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xc4u));
BOOST_CHECK_EQUAL(packed_str[1], static_cast<char>(0x00u));
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::raw_ref rr2 = oh.get().as<msgpack::type::raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_RAW_REF, pack_unpack_8_h)
BOOST_AUTO_TEST_CASE(pack_unpack_8_h)
{
std::string s(0xff, 'A');
@@ -63,17 +55,17 @@ TEST(MSGPACK_RAW_REF, pack_unpack_8_h)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xc4u));
EXPECT_EQ(packed_str[1], static_cast<char>(0xffu));
EXPECT_EQ(packed_str[2], 'A');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xc4u));
BOOST_CHECK_EQUAL(packed_str[1], static_cast<char>(0xffu));
BOOST_CHECK_EQUAL(packed_str[2], 'A');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::raw_ref rr2 = oh.get().as<msgpack::type::raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_RAW_REF, pack_unpack_16_l)
BOOST_AUTO_TEST_CASE(pack_unpack_16_l)
{
std::string s(0xff+1, 'A');
@@ -81,18 +73,18 @@ TEST(MSGPACK_RAW_REF, pack_unpack_16_l)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xc5u));
EXPECT_EQ(packed_str[1], static_cast<char>(0x01));
EXPECT_EQ(packed_str[2], static_cast<char>(0x00));
EXPECT_EQ(packed_str[3], 'A');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xc5u));
BOOST_CHECK_EQUAL(packed_str[1], static_cast<char>(0x01));
BOOST_CHECK_EQUAL(packed_str[2], static_cast<char>(0x00));
BOOST_CHECK_EQUAL(packed_str[3], 'A');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::raw_ref rr2 = oh.get().as<msgpack::type::raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_RAW_REF, pack_unpack_16_h)
BOOST_AUTO_TEST_CASE(pack_unpack_16_h)
{
std::string s(0xffff, 'A');
@@ -100,18 +92,18 @@ TEST(MSGPACK_RAW_REF, pack_unpack_16_h)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xc5u));
EXPECT_EQ(packed_str[1], static_cast<char>(0xffu));
EXPECT_EQ(packed_str[2], static_cast<char>(0xffu));
EXPECT_EQ(packed_str[3], 'A');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xc5u));
BOOST_CHECK_EQUAL(packed_str[1], static_cast<char>(0xffu));
BOOST_CHECK_EQUAL(packed_str[2], static_cast<char>(0xffu));
BOOST_CHECK_EQUAL(packed_str[3], 'A');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::raw_ref rr2 = oh.get().as<msgpack::type::raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_RAW_REF, pack_unpack_32_l)
BOOST_AUTO_TEST_CASE(pack_unpack_32_l)
{
std::string s(0xffff+1, 'A');
@@ -119,20 +111,20 @@ TEST(MSGPACK_RAW_REF, pack_unpack_32_l)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xc6u));
EXPECT_EQ(packed_str[1], static_cast<char>(0x00));
EXPECT_EQ(packed_str[2], static_cast<char>(0x01));
EXPECT_EQ(packed_str[3], static_cast<char>(0x00));
EXPECT_EQ(packed_str[4], static_cast<char>(0x00));
EXPECT_EQ(packed_str[5], 'A');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xc6u));
BOOST_CHECK_EQUAL(packed_str[1], static_cast<char>(0x00));
BOOST_CHECK_EQUAL(packed_str[2], static_cast<char>(0x01));
BOOST_CHECK_EQUAL(packed_str[3], static_cast<char>(0x00));
BOOST_CHECK_EQUAL(packed_str[4], static_cast<char>(0x00));
BOOST_CHECK_EQUAL(packed_str[5], 'A');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::raw_ref rr2 = oh.get().as<msgpack::type::raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_V4RAW_REF, pack_unpack)
BOOST_AUTO_TEST_CASE(v4_pack_unpack)
{
std::string s = "ABC";
@@ -140,18 +132,18 @@ TEST(MSGPACK_V4RAW_REF, pack_unpack)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xa3u));
EXPECT_EQ(packed_str[1], 'A');
EXPECT_EQ(packed_str[2], 'B');
EXPECT_EQ(packed_str[3], 'C');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xa3u));
BOOST_CHECK_EQUAL(packed_str[1], 'A');
BOOST_CHECK_EQUAL(packed_str[2], 'B');
BOOST_CHECK_EQUAL(packed_str[3], 'C');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::v4raw_ref rr2 = oh.get().as<msgpack::type::v4raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_V4RAW_REF, pack_unpack_fix_l)
BOOST_AUTO_TEST_CASE(v4_pack_unpack_fix_l)
{
std::string s;
@@ -159,15 +151,15 @@ TEST(MSGPACK_V4RAW_REF, pack_unpack_fix_l)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xa0u));
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xa0u));
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::v4raw_ref rr2 = oh.get().as<msgpack::type::v4raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_V4RAW_REF, pack_unpack_fix_h)
BOOST_AUTO_TEST_CASE(v4_pack_unpack_fix_h)
{
std::string s(0x1f, 'A');
@@ -175,16 +167,16 @@ TEST(MSGPACK_V4RAW_REF, pack_unpack_fix_h)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xbfu));
EXPECT_EQ(packed_str[1], 'A');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xbfu));
BOOST_CHECK_EQUAL(packed_str[1], 'A');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::v4raw_ref rr2 = oh.get().as<msgpack::type::v4raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_V4RAW_REF, pack_unpack_16_l)
BOOST_AUTO_TEST_CASE(v4_pack_unpack_16_l)
{
std::string s(0x1f+1, 'A');
@@ -192,18 +184,18 @@ TEST(MSGPACK_V4RAW_REF, pack_unpack_16_l)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xdau));
EXPECT_EQ(packed_str[1], static_cast<char>(0x00u));
EXPECT_EQ(packed_str[2], static_cast<char>(0x20u));
EXPECT_EQ(packed_str[3], 'A');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xdau));
BOOST_CHECK_EQUAL(packed_str[1], static_cast<char>(0x00u));
BOOST_CHECK_EQUAL(packed_str[2], static_cast<char>(0x20u));
BOOST_CHECK_EQUAL(packed_str[3], 'A');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::v4raw_ref rr2 = oh.get().as<msgpack::type::v4raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_V4RAW_REF, pack_unpack_16_h)
BOOST_AUTO_TEST_CASE(v4_pack_unpack_16_h)
{
std::string s(0xffff, 'A');
@@ -211,18 +203,18 @@ TEST(MSGPACK_V4RAW_REF, pack_unpack_16_h)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xdau));
EXPECT_EQ(packed_str[1], static_cast<char>(0xffu));
EXPECT_EQ(packed_str[2], static_cast<char>(0xffu));
EXPECT_EQ(packed_str[3], 'A');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xdau));
BOOST_CHECK_EQUAL(packed_str[1], static_cast<char>(0xffu));
BOOST_CHECK_EQUAL(packed_str[2], static_cast<char>(0xffu));
BOOST_CHECK_EQUAL(packed_str[3], 'A');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::v4raw_ref rr2 = oh.get().as<msgpack::type::v4raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}
TEST(MSGPACK_V4RAW_REF, pack_unpack_32_l)
BOOST_AUTO_TEST_CASE(v4_pack_unpack_32_l)
{
std::string s(0xffff+1, 'A');
@@ -230,15 +222,15 @@ TEST(MSGPACK_V4RAW_REF, pack_unpack_32_l)
std::stringstream ss;
msgpack::pack(ss, rr1);
std::string packed_str = ss.str();
EXPECT_EQ(packed_str[0], static_cast<char>(0xdbu));
EXPECT_EQ(packed_str[1], static_cast<char>(0x00));
EXPECT_EQ(packed_str[2], static_cast<char>(0x01));
EXPECT_EQ(packed_str[3], static_cast<char>(0x00));
EXPECT_EQ(packed_str[4], static_cast<char>(0x00));
EXPECT_EQ(packed_str[5], 'A');
BOOST_CHECK_EQUAL(packed_str[0], static_cast<char>(0xdbu));
BOOST_CHECK_EQUAL(packed_str[1], static_cast<char>(0x00));
BOOST_CHECK_EQUAL(packed_str[2], static_cast<char>(0x01));
BOOST_CHECK_EQUAL(packed_str[3], static_cast<char>(0x00));
BOOST_CHECK_EQUAL(packed_str[4], static_cast<char>(0x00));
BOOST_CHECK_EQUAL(packed_str[5], 'A');
msgpack::object_handle oh =
msgpack::unpack(packed_str.data(), packed_str.size());
msgpack::type::v4raw_ref rr2 = oh.get().as<msgpack::type::v4raw_ref>();
EXPECT_TRUE(rr1 == rr2);
BOOST_CHECK(rr1 == rr2);
}