mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-14 06:55:50 +02:00
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:
@@ -3,18 +3,10 @@
|
||||
#include <msgpack/sbuffer.h>
|
||||
#include <msgpack/vrefbuffer.h>
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wconversion"
|
||||
#endif //defined(__GNUC__)
|
||||
#define BOOST_TEST_MODULE buffer
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif //defined(__GNUC__)
|
||||
|
||||
#include <string.h>
|
||||
#include <cstring>
|
||||
|
||||
#if defined(unix) || defined(__unix) || defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__QNX__) || defined(__QNXTO__) || defined(__HAIKU__)
|
||||
#define HAVE_SYS_UIO_H 1
|
||||
@@ -22,21 +14,21 @@
|
||||
#define HAVE_SYS_UIO_H 0
|
||||
#endif
|
||||
|
||||
TEST(buffer, zbuffer_c)
|
||||
BOOST_AUTO_TEST_CASE(zbuffer_c)
|
||||
{
|
||||
msgpack_zbuffer zbuf;
|
||||
EXPECT_TRUE(msgpack_zbuffer_init(&zbuf, 1, MSGPACK_ZBUFFER_INIT_SIZE));
|
||||
EXPECT_EQ(0, msgpack_zbuffer_write(&zbuf, "a", 1));
|
||||
EXPECT_EQ(0, msgpack_zbuffer_write(&zbuf, "a", 1));
|
||||
EXPECT_EQ(0, msgpack_zbuffer_write(&zbuf, "a", 1));
|
||||
EXPECT_EQ(0, msgpack_zbuffer_write(&zbuf, "", 0));
|
||||
BOOST_CHECK(msgpack_zbuffer_init(&zbuf, 1, MSGPACK_ZBUFFER_INIT_SIZE));
|
||||
BOOST_CHECK_EQUAL(0, msgpack_zbuffer_write(&zbuf, "a", 1));
|
||||
BOOST_CHECK_EQUAL(0, msgpack_zbuffer_write(&zbuf, "a", 1));
|
||||
BOOST_CHECK_EQUAL(0, msgpack_zbuffer_write(&zbuf, "a", 1));
|
||||
BOOST_CHECK_EQUAL(0, msgpack_zbuffer_write(&zbuf, "", 0));
|
||||
|
||||
EXPECT_TRUE(msgpack_zbuffer_flush(&zbuf) != NULL);
|
||||
BOOST_CHECK(msgpack_zbuffer_flush(&zbuf) != NULL);
|
||||
|
||||
msgpack_zbuffer_destroy(&zbuf);
|
||||
}
|
||||
|
||||
TEST(buffer, fbuffer_c)
|
||||
BOOST_AUTO_TEST_CASE(fbuffer_c)
|
||||
{
|
||||
#if defined(_MSC_VER)
|
||||
FILE* file;
|
||||
@@ -47,45 +39,45 @@ TEST(buffer, fbuffer_c)
|
||||
|
||||
void* fbuf = (void*)file;
|
||||
|
||||
EXPECT_TRUE( file != NULL );
|
||||
EXPECT_EQ(0, msgpack_fbuffer_write(fbuf, "a", 1));
|
||||
EXPECT_EQ(0, msgpack_fbuffer_write(fbuf, "a", 1));
|
||||
EXPECT_EQ(0, msgpack_fbuffer_write(fbuf, "a", 1));
|
||||
BOOST_CHECK( file != NULL );
|
||||
BOOST_CHECK_EQUAL(0, msgpack_fbuffer_write(fbuf, "a", 1));
|
||||
BOOST_CHECK_EQUAL(0, msgpack_fbuffer_write(fbuf, "a", 1));
|
||||
BOOST_CHECK_EQUAL(0, msgpack_fbuffer_write(fbuf, "a", 1));
|
||||
|
||||
fflush(file);
|
||||
rewind(file);
|
||||
for (size_t i=0; i < 3; ++i) {
|
||||
int ch = fgetc(file);
|
||||
EXPECT_TRUE(ch != EOF);
|
||||
EXPECT_EQ('a', (char) ch);
|
||||
BOOST_CHECK(ch != EOF);
|
||||
BOOST_CHECK_EQUAL('a', (char) ch);
|
||||
}
|
||||
EXPECT_EQ(EOF, fgetc(file));
|
||||
BOOST_CHECK_EQUAL(EOF, fgetc(file));
|
||||
fclose(file);
|
||||
}
|
||||
|
||||
TEST(buffer, sbuffer_c)
|
||||
BOOST_AUTO_TEST_CASE(sbuffer_c)
|
||||
{
|
||||
msgpack_sbuffer *sbuf;
|
||||
char *data;
|
||||
|
||||
sbuf = msgpack_sbuffer_new();
|
||||
EXPECT_TRUE(sbuf != NULL);
|
||||
EXPECT_EQ(0, msgpack_sbuffer_write(sbuf, "a", 1));
|
||||
EXPECT_EQ(0, msgpack_sbuffer_write(sbuf, "b", 1));
|
||||
EXPECT_EQ(0, msgpack_sbuffer_write(sbuf, "c", 1));
|
||||
EXPECT_EQ(0, msgpack_sbuffer_write(sbuf, "", 0));
|
||||
EXPECT_EQ(3U, sbuf->size);
|
||||
EXPECT_EQ(0, memcmp(sbuf->data, "abc", 3));
|
||||
BOOST_CHECK(sbuf != NULL);
|
||||
BOOST_CHECK_EQUAL(0, msgpack_sbuffer_write(sbuf, "a", 1));
|
||||
BOOST_CHECK_EQUAL(0, msgpack_sbuffer_write(sbuf, "b", 1));
|
||||
BOOST_CHECK_EQUAL(0, msgpack_sbuffer_write(sbuf, "c", 1));
|
||||
BOOST_CHECK_EQUAL(0, msgpack_sbuffer_write(sbuf, "", 0));
|
||||
BOOST_CHECK_EQUAL(3U, sbuf->size);
|
||||
BOOST_CHECK_EQUAL(0, memcmp(sbuf->data, "abc", 3));
|
||||
data = msgpack_sbuffer_release(sbuf);
|
||||
EXPECT_EQ(0, memcmp(data, "abc", 3));
|
||||
EXPECT_EQ(0U, sbuf->size);
|
||||
EXPECT_TRUE(sbuf->data == NULL);
|
||||
BOOST_CHECK_EQUAL(0, memcmp(data, "abc", 3));
|
||||
BOOST_CHECK_EQUAL(0U, sbuf->size);
|
||||
BOOST_CHECK(sbuf->data == NULL);
|
||||
|
||||
free(data);
|
||||
msgpack_sbuffer_free(sbuf);
|
||||
}
|
||||
|
||||
TEST(buffer, vrefbuffer_c)
|
||||
BOOST_AUTO_TEST_CASE(vrefbuffer_c)
|
||||
{
|
||||
const char *raw = "I was about to sail away in a junk,"
|
||||
"When suddenly I heard"
|
||||
@@ -127,7 +119,7 @@ TEST(buffer, vrefbuffer_c)
|
||||
len = (size_t)lseek(fd, 0, SEEK_END);
|
||||
lseek(fd, 0, SEEK_SET);
|
||||
read(fd, buf, len);
|
||||
EXPECT_EQ(0, memcmp(buf, raw, len));
|
||||
BOOST_CHECK_EQUAL(0, memcmp(buf, raw, len));
|
||||
close(fd);
|
||||
unlink(filename);
|
||||
}
|
||||
@@ -140,7 +132,7 @@ TEST(buffer, vrefbuffer_c)
|
||||
memcpy(buf + len, iov[i].iov_base, iov[i].iov_len);
|
||||
len += iov[i].iov_len;
|
||||
}
|
||||
EXPECT_EQ(0, memcmp(buf, raw, len));
|
||||
BOOST_CHECK_EQUAL(0, memcmp(buf, raw, len));
|
||||
}
|
||||
#endif
|
||||
free(buf);
|
||||
|
Reference in New Issue
Block a user