Update for C++17 and fix MSVC warnings (#1694)

* Update MSVC arguments
* Fix json allocator
* Fix simulation diamond
* Bump gtest
* Remove empty varargs in unit tests
* Replace test case with test suite
* Remove deprecation warning in optional
* Remove need for NOMIXMAX to be defined in wpilib headers
This commit is contained in:
Thad House
2019-05-31 13:43:32 -07:00
committed by Peter Johnson
parent fb1239a2ad
commit 221011494d
99 changed files with 534 additions and 398 deletions

View File

@@ -139,8 +139,8 @@ static const int64_t neg8_numbers[] = {
-4294967297,
};
INSTANTIATE_TEST_CASE_P(CborSignedNeg8Tests, CborSignedNeg8Test,
::testing::ValuesIn(neg8_numbers), );
INSTANTIATE_TEST_SUITE_P(CborSignedNeg8Tests, CborSignedNeg8Test,
::testing::ValuesIn(neg8_numbers));
// -4294967296..-65537
class CborSignedNeg4Test : public ::testing::TestWithParam<int64_t> {};
@@ -189,8 +189,8 @@ static const int64_t neg4_numbers[] = {
-4294967296,
};
INSTANTIATE_TEST_CASE_P(CborSignedNeg4Tests, CborSignedNeg4Test,
::testing::ValuesIn(neg4_numbers), );
INSTANTIATE_TEST_SUITE_P(CborSignedNeg4Tests, CborSignedNeg4Test,
::testing::ValuesIn(neg4_numbers));
// -65536..-257
TEST(CborSignedTest, Neg2)
@@ -447,8 +447,8 @@ static const uint32_t pos4_numbers[] = {
1048576u,
};
INSTANTIATE_TEST_CASE_P(CborSignedPos4Tests, CborSignedPos4Test,
::testing::ValuesIn(pos4_numbers), );
INSTANTIATE_TEST_SUITE_P(CborSignedPos4Tests, CborSignedPos4Test,
::testing::ValuesIn(pos4_numbers));
// 4294967296..4611686018427387903
class CborSignedPos8Test : public ::testing::TestWithParam<uint64_t> {};
@@ -500,8 +500,8 @@ static const uint64_t pos8_numbers[] = {
4611686018427387903ul
};
INSTANTIATE_TEST_CASE_P(CborSignedPos8Tests, CborSignedPos8Test,
::testing::ValuesIn(pos8_numbers), );
INSTANTIATE_TEST_SUITE_P(CborSignedPos8Tests, CborSignedPos8Test,
::testing::ValuesIn(pos8_numbers));
/*
// -32768..-129 (int 16)
@@ -670,8 +670,8 @@ TEST_P(CborUnsignedPos4Test, Case)
EXPECT_EQ(json::from_cbor(result), j);
}
INSTANTIATE_TEST_CASE_P(CborUnsignedPos4Tests, CborUnsignedPos4Test,
::testing::ValuesIn(pos4_numbers), );
INSTANTIATE_TEST_SUITE_P(CborUnsignedPos4Tests, CborUnsignedPos4Test,
::testing::ValuesIn(pos4_numbers));
// 4294967296..4611686018427387903 (eight-byte uint64_t)
class CborUnsignedPos8Test : public ::testing::TestWithParam<uint64_t> {};
@@ -716,8 +716,8 @@ TEST_P(CborUnsignedPos8Test, Case)
EXPECT_EQ(json::from_cbor(result), j);
}
INSTANTIATE_TEST_CASE_P(CborUnsignedPos8Tests, CborUnsignedPos8Test,
::testing::ValuesIn(pos8_numbers), );
INSTANTIATE_TEST_SUITE_P(CborUnsignedPos8Tests, CborUnsignedPos8Test,
::testing::ValuesIn(pos8_numbers));
// 3.1415925
TEST(CborFloatTest, Number)
@@ -853,8 +853,8 @@ static size_t string3_lens[] = {
65535u
};
INSTANTIATE_TEST_CASE_P(CborString3Tests, CborString3Test,
::testing::ValuesIn(string3_lens), );
INSTANTIATE_TEST_SUITE_P(CborString3Tests, CborString3Test,
::testing::ValuesIn(string3_lens));
// N = 65536..4294967295
class CborString5Test : public ::testing::TestWithParam<size_t> {};
@@ -893,8 +893,8 @@ static size_t string5_lens[] = {
1048576u
};
INSTANTIATE_TEST_CASE_P(CborString5Tests, CborString5Test,
::testing::ValuesIn(string5_lens), );
INSTANTIATE_TEST_SUITE_P(CborString5Tests, CborString5Test,
::testing::ValuesIn(string5_lens));
TEST(CborArrayTest, Empty)
{
@@ -948,7 +948,7 @@ TEST(CborArrayTest, UInt16)
{
json j(257, nullptr);
std::vector<uint8_t> expected(j.size() + 3, 0xf6); // all null
expected[0] = static_cast<char>(0x99); // array 16 bit
expected[0] = static_cast<uint8_t>(0x99); // array 16 bit
expected[1] = 0x01; // size (0x0101), byte 0
expected[2] = 0x01; // size (0x0101), byte 1
const auto result = json::to_cbor(j);
@@ -963,7 +963,7 @@ TEST(CborArrayTest, UInt32)
{
json j(65793, nullptr);
std::vector<uint8_t> expected(j.size() + 5, 0xf6); // all null
expected[0] = static_cast<char>(0x9a); // array 32 bit
expected[0] = static_cast<uint8_t>(0x9a); // array 32 bit
expected[1] = 0x00; // size (0x00010101), byte 0
expected[2] = 0x01; // size (0x00010101), byte 1
expected[3] = 0x01; // size (0x00010101), byte 2
@@ -1236,8 +1236,8 @@ static const uint8_t unsupported_bytes_cases[] = {
0xf8,
};
INSTANTIATE_TEST_CASE_P(CborUnsupportedBytesTests, CborUnsupportedBytesTest,
::testing::ValuesIn(unsupported_bytes_cases), );
INSTANTIATE_TEST_SUITE_P(CborUnsupportedBytesTests, CborUnsupportedBytesTest,
::testing::ValuesIn(unsupported_bytes_cases));
#if 0
// use this testcase outside [hide] to run it with Valgrind
TEST(CborRoundtripTest, Sample)
@@ -1327,7 +1327,7 @@ static const char* fuzz_test_cases[] = {
"test/data/cbor_regression/test21",
};
INSTANTIATE_TEST_CASE_P(CborRegressionFuzzTests, CborRegressionFuzzTest,
INSTANTIATE_TEST_SUITE_P(CborRegressionFuzzTests, CborRegressionFuzzTest,
::testing::ValuesIn(fuzz_test_cases));
class CborRegressionFlynnTest : public ::testing::TestWithParam<const char*> {};
@@ -1497,7 +1497,7 @@ static const char* flynn_test_cases[] = {
"test/data/nst_json_testsuite/test_parsing/y_structure_whitespace_array.json",
};
INSTANTIATE_TEST_CASE_P(CborRegressionFlynnTests, CborRegressionFlynnTest,
INSTANTIATE_TEST_SUITE_P(CborRegressionFlynnTests, CborRegressionFlynnTest,
::testing::ValuesIn(flynn_test_cases));
#endif
@@ -1644,16 +1644,16 @@ static const internal::CborRoundtripTestParam rfc7049_appendix_a_numbers[] = {
{"-4.1", {0xfb,0xc0,0x10,0x66,0x66,0x66,0x66,0x66,0x66}, true},
};
INSTANTIATE_TEST_CASE_P(CborRfc7049AppendixANumberTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_numbers), );
INSTANTIATE_TEST_SUITE_P(CborRfc7049AppendixANumberTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_numbers));
static const internal::CborRoundtripTestParam rfc7049_appendix_a_simple_values[] = {
{"false", {0xf4}, true},
{"true", {0xf5}, true},
};
INSTANTIATE_TEST_CASE_P(CborRfc7049AppendixASimpleValueTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_simple_values), );
INSTANTIATE_TEST_SUITE_P(CborRfc7049AppendixASimpleValueTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_simple_values));
static const internal::CborRoundtripTestParam rfc7049_appendix_a_strings[] = {
{"\"\"", {0x60}, true},
@@ -1666,8 +1666,8 @@ static const internal::CborRoundtripTestParam rfc7049_appendix_a_strings[] = {
{"\"streaming\"", {0x7f,0x65,0x73,0x74,0x72,0x65,0x61,0x64,0x6d,0x69,0x6e,0x67,0xff}, false},
};
INSTANTIATE_TEST_CASE_P(CborRfc7049AppendixAStringTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_strings), );
INSTANTIATE_TEST_SUITE_P(CborRfc7049AppendixAStringTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_strings));
static const internal::CborRoundtripTestParam rfc7049_appendix_a_arrays[] = {
{"[]", {0x80}, true},
@@ -1683,8 +1683,8 @@ static const internal::CborRoundtripTestParam rfc7049_appendix_a_arrays[] = {
{"[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]", {0x9f,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x18,0x18,0x19,0xff}, false},
};
INSTANTIATE_TEST_CASE_P(CborRfc7049AppendixAArrayTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_arrays), );
INSTANTIATE_TEST_SUITE_P(CborRfc7049AppendixAArrayTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_arrays));
static const internal::CborRoundtripTestParam rfc7049_appendix_a_objects[] = {
{"{}", {0xa0}, true},
@@ -1697,5 +1697,5 @@ static const internal::CborRoundtripTestParam rfc7049_appendix_a_objects[] = {
{"{\"Fun\": true, \"Amt\": -2}", {0xbf,0x63,0x46,0x75,0x6e,0xf5,0x63,0x41,0x6d,0x74,0x21,0xff}, false},
};
INSTANTIATE_TEST_CASE_P(CborRfc7049AppendixAObjectTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_objects), );
INSTANTIATE_TEST_SUITE_P(CborRfc7049AppendixAObjectTests, CborRoundtripTest,
::testing::ValuesIn(rfc7049_appendix_a_objects));

View File

@@ -67,8 +67,8 @@ static const json::value_t construct_type_cases[] = {
json::value_t::number_float,
};
INSTANTIATE_TEST_CASE_P(JsonConstructTypeTests, JsonConstructTypeTest,
::testing::ValuesIn(construct_type_cases), );
INSTANTIATE_TEST_SUITE_P(JsonConstructTypeTests, JsonConstructTypeTest,
::testing::ValuesIn(construct_type_cases));
TEST(JsonConstructNullTest, NoParameter)
@@ -214,7 +214,7 @@ typedef ::testing::Types<std::list<json>, std::forward_list<json>,
std::array<json, 6>, std::vector<json>,
std::deque<json>>
JsonConstructArrayTestTypes;
TYPED_TEST_CASE(JsonConstructArrayTest, JsonConstructArrayTestTypes);
TYPED_TEST_SUITE(JsonConstructArrayTest, JsonConstructArrayTestTypes, );
// clang warns on missing braces on the TypeParam initializer line below.
// Suppress this warning.
@@ -405,7 +405,7 @@ typedef ::testing::Types<
#endif
> JsonConstructIntegerTestTypes;
TYPED_TEST_CASE(JsonConstructIntegerTest, JsonConstructIntegerTestTypes);
TYPED_TEST_SUITE(JsonConstructIntegerTest, JsonConstructIntegerTestTypes, );
TYPED_TEST(JsonConstructIntegerTest, Implicit)
{
@@ -523,7 +523,7 @@ typedef ::testing::Types<float, double
>
JsonConstructFloatTestTypes;
TYPED_TEST_CASE(JsonConstructFloatTest, JsonConstructFloatTestTypes);
TYPED_TEST_SUITE(JsonConstructFloatTest, JsonConstructFloatTestTypes, );
TYPED_TEST(JsonConstructFloatTest, Implicit)
{

View File

@@ -62,7 +62,7 @@ typedef ::testing::Types<
, std::unordered_map<std::string, json>
, std::unordered_multimap<std::string, json>
> JsonGetObjectTestTypes;
TYPED_TEST_CASE(JsonGetObjectTest, JsonGetObjectTestTypes);
TYPED_TEST_SUITE(JsonGetObjectTest, JsonGetObjectTestTypes, );
TYPED_TEST(JsonGetObjectTest, Explicit)
{
@@ -109,7 +109,7 @@ typedef ::testing::Types<json::array_t, std::list<json>,
/*std::forward_list<json>,*/ std::vector<json>,
std::deque<json>>
JsonGetArrayTestTypes;
TYPED_TEST_CASE(JsonGetArrayTest, JsonGetArrayTestTypes);
TYPED_TEST_SUITE(JsonGetArrayTest, JsonGetArrayTestTypes, );
TYPED_TEST(JsonGetArrayTest, Explicit)
{
@@ -200,7 +200,7 @@ class JsonGetStringTest : public ::testing::Test {
};
typedef ::testing::Types<std::string, std::string> JsonGetStringTestTypes;
TYPED_TEST_CASE(JsonGetStringTest, JsonGetStringTestTypes);
TYPED_TEST_SUITE(JsonGetStringTest, JsonGetStringTestTypes, );
TYPED_TEST(JsonGetStringTest, Explicit)
{
@@ -244,7 +244,7 @@ class JsonGetBooleanTest : public ::testing::Test {
};
typedef ::testing::Types<bool, bool> JsonGetBooleanTestTypes;
TYPED_TEST_CASE(JsonGetBooleanTest, JsonGetBooleanTestTypes);
TYPED_TEST_SUITE(JsonGetBooleanTest, JsonGetBooleanTestTypes, );
TYPED_TEST(JsonGetBooleanTest, Explicit)
{
@@ -328,7 +328,7 @@ typedef ::testing::Types<
#endif
> JsonGetIntegerTestTypes;
TYPED_TEST_CASE(JsonGetIntegerTest, JsonGetIntegerTestTypes);
TYPED_TEST_SUITE(JsonGetIntegerTest, JsonGetIntegerTestTypes, );
TYPED_TEST(JsonGetIntegerTest, Explicit)
{
@@ -381,7 +381,7 @@ class JsonGetFloatTest : public ::testing::Test {
typedef ::testing::Types<double, float, double>
JsonGetFloatTestTypes;
TYPED_TEST_CASE(JsonGetFloatTest, JsonGetFloatTestTypes);
TYPED_TEST_SUITE(JsonGetFloatTest, JsonGetFloatTestTypes, );
TYPED_TEST(JsonGetFloatTest, Explicit)
{

View File

@@ -133,6 +133,6 @@ static const char* error_cases[] = {
"\"\x7F\xF4\x7F",
};
INSTANTIATE_TEST_CASE_P(JsonDeserializationErrorTests,
INSTANTIATE_TEST_SUITE_P(JsonDeserializationErrorTests,
JsonDeserializationErrorTest,
::testing::ValuesIn(error_cases), );
::testing::ValuesIn(error_cases));

View File

@@ -253,8 +253,8 @@ static const uint32_t pos4_numbers[] = {
4294967295u,
};
INSTANTIATE_TEST_CASE_P(MessagePackSignedPos4Tests, MessagePackSignedPos4Test,
::testing::ValuesIn(pos4_numbers), );
INSTANTIATE_TEST_SUITE_P(MessagePackSignedPos4Tests, MessagePackSignedPos4Test,
::testing::ValuesIn(pos4_numbers));
// 4294967296..9223372036854775807 (int 64)
class MessagePackSignedPos8Test : public ::testing::TestWithParam<uint64_t> {};
@@ -306,8 +306,8 @@ static const uint64_t pos8_numbers[] = {
9223372036854775807lu,
};
INSTANTIATE_TEST_CASE_P(MessagePackSignedPos8Tests, MessagePackSignedPos8Test,
::testing::ValuesIn(pos8_numbers), );
INSTANTIATE_TEST_SUITE_P(MessagePackSignedPos8Tests, MessagePackSignedPos8Test,
::testing::ValuesIn(pos8_numbers));
// -128..-33 (int 8)
TEST(MessagePackSignedTest, Neg1)
@@ -419,8 +419,8 @@ static const int32_t neg4_numbers[] = {
-2147483648ll,
};
INSTANTIATE_TEST_CASE_P(MessagePackSignedNeg4Tests, MessagePackSignedNeg4Test,
::testing::ValuesIn(neg4_numbers), );
INSTANTIATE_TEST_SUITE_P(MessagePackSignedNeg4Tests, MessagePackSignedNeg4Test,
::testing::ValuesIn(neg4_numbers));
// -9223372036854775808..-2147483649 (int 64)
class MessagePackSignedNeg8Test : public ::testing::TestWithParam<int64_t> {};
@@ -470,8 +470,8 @@ static const int64_t neg8_numbers[] = {
-2147483649ll,
};
INSTANTIATE_TEST_CASE_P(MessagePackSignedNeg8Tests, MessagePackSignedNeg8Test,
::testing::ValuesIn(neg8_numbers), );
INSTANTIATE_TEST_SUITE_P(MessagePackSignedNeg8Tests, MessagePackSignedNeg8Test,
::testing::ValuesIn(neg8_numbers));
// 0..127 (positive fixnum)
TEST(MessagePackUnsignedTest, Pos0)
@@ -605,9 +605,9 @@ TEST_P(MessagePackUnsignedPos4Test, Case)
EXPECT_EQ(json::from_msgpack(result), j);
}
INSTANTIATE_TEST_CASE_P(MessagePackUnsignedPos4Tests,
INSTANTIATE_TEST_SUITE_P(MessagePackUnsignedPos4Tests,
MessagePackUnsignedPos4Test,
::testing::ValuesIn(pos4_numbers), );
::testing::ValuesIn(pos4_numbers));
// 4294967296..18446744073709551615 (uint 64)
class MessagePackUnsignedPos8Test : public ::testing::TestWithParam<uint64_t> {};
@@ -652,9 +652,9 @@ TEST_P(MessagePackUnsignedPos8Test, Case)
EXPECT_EQ(json::from_msgpack(result), j);
}
INSTANTIATE_TEST_CASE_P(MessagePackUnsignedPos8Tests,
INSTANTIATE_TEST_SUITE_P(MessagePackUnsignedPos8Tests,
MessagePackUnsignedPos8Test,
::testing::ValuesIn(pos8_numbers), );
::testing::ValuesIn(pos8_numbers));
// 3.1415925
TEST(MessagePackFloatTest, Number)
@@ -786,8 +786,8 @@ static size_t string3_lens[] = {
65535u
};
INSTANTIATE_TEST_CASE_P(MessagePackString3Tests, MessagePackString3Test,
::testing::ValuesIn(string3_lens), );
INSTANTIATE_TEST_SUITE_P(MessagePackString3Tests, MessagePackString3Test,
::testing::ValuesIn(string3_lens));
// N = 65536..4294967295
@@ -827,8 +827,8 @@ static size_t string5_lens[] = {
1048576u
};
INSTANTIATE_TEST_CASE_P(MessagePackString5Tests, MessagePackString5Test,
::testing::ValuesIn(string5_lens), );
INSTANTIATE_TEST_SUITE_P(MessagePackString5Tests, MessagePackString5Test,
::testing::ValuesIn(string5_lens));
TEST(MessagePackArrayTest, Empty)
{
@@ -1264,6 +1264,6 @@ static const char* regression_test_cases[] = {
"test/data/nst_json_testsuite/test_parsing/y_structure_whitespace_array.json",
};
INSTANTIATE_TEST_CASE_P(MessagePackRegressionTests, MessagePackRegressionTest,
INSTANTIATE_TEST_SUITE_P(MessagePackRegressionTests, MessagePackRegressionTest,
::testing::ValuesIn(regression_test_cases));
#endif