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

@@ -2,40 +2,32 @@
#include <msgpack/fbuffer.hpp>
#include <msgpack/zbuffer.hpp>
#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 buffer
#include <boost/test/unit_test.hpp>
#include <string.h>
TEST(buffer, sbuffer)
BOOST_AUTO_TEST_CASE(sbuffer)
{
msgpack::sbuffer sbuf;
sbuf.write("a", 1);
sbuf.write("a", 1);
sbuf.write("a", 1);
EXPECT_EQ(3ul, sbuf.size());
EXPECT_TRUE( memcmp(sbuf.data(), "aaa", 3) == 0 );
BOOST_CHECK_EQUAL(3ul, sbuf.size());
BOOST_CHECK( memcmp(sbuf.data(), "aaa", 3) == 0 );
sbuf.clear();
sbuf.write("a", 1);
sbuf.write("a", 1);
sbuf.write("a", 1);
EXPECT_EQ(3ul, sbuf.size());
EXPECT_TRUE( memcmp(sbuf.data(), "aaa", 3) == 0 );
BOOST_CHECK_EQUAL(3ul, sbuf.size());
BOOST_CHECK( memcmp(sbuf.data(), "aaa", 3) == 0 );
}
TEST(buffer, vrefbuffer)
BOOST_AUTO_TEST_CASE(vrefbuffer)
{
msgpack::vrefbuffer vbuf;
vbuf.write("a", 1);
@@ -50,8 +42,8 @@ TEST(buffer, vrefbuffer)
sbuf.write((const char*)vec[i].iov_base, vec[i].iov_len);
}
EXPECT_EQ(3ul, sbuf.size());
EXPECT_TRUE( memcmp(sbuf.data(), "aaa", 3) == 0 );
BOOST_CHECK_EQUAL(3ul, sbuf.size());
BOOST_CHECK( memcmp(sbuf.data(), "aaa", 3) == 0 );
vbuf.clear();
@@ -67,11 +59,11 @@ TEST(buffer, vrefbuffer)
sbuf.write((const char*)vec[i].iov_base, vec[i].iov_len);
}
EXPECT_EQ(3ul, sbuf.size());
EXPECT_TRUE( memcmp(sbuf.data(), "aaa", 3) == 0 );
BOOST_CHECK_EQUAL(3ul, sbuf.size());
BOOST_CHECK( memcmp(sbuf.data(), "aaa", 3) == 0 );
}
TEST(buffer, zbuffer)
BOOST_AUTO_TEST_CASE(zbuffer)
{
msgpack::zbuffer zbuf;
zbuf.write("a", 1);
@@ -82,7 +74,7 @@ TEST(buffer, zbuffer)
zbuf.flush();
}
TEST(buffer, fbuffer)
BOOST_AUTO_TEST_CASE(fbuffer)
{
#if defined(_MSC_VER)
FILE* file;
@@ -90,10 +82,10 @@ TEST(buffer, fbuffer)
#else // defined(_MSC_VER)
FILE* file = tmpfile();
#endif // defined(_MSC_VER)
EXPECT_TRUE( file != NULL );
BOOST_CHECK( file != NULL );
msgpack::fbuffer fbuf(file);
EXPECT_EQ(file, fbuf.file());
BOOST_CHECK_EQUAL(file, fbuf.file());
fbuf.write("a", 1);
fbuf.write("a", 1);
@@ -103,9 +95,9 @@ TEST(buffer, fbuffer)
rewind(file);
for (size_t i=0; i < 3; ++i) {
int ch = fgetc(file);
EXPECT_TRUE(ch != EOF);
EXPECT_EQ('a', static_cast<char>(ch));
BOOST_CHECK(ch != EOF);
BOOST_CHECK_EQUAL('a', static_cast<char>(ch));
}
EXPECT_EQ(EOF, fgetc(file));
BOOST_CHECK_EQUAL(EOF, fgetc(file));
fclose(file);
}