Make section names unique in loops, as catch doesn't support duplicate
sections, see also https://github.com/catchorg/Catch2/issues/816#issuecomment-278268122 As a result, when built with gcc, loop iterations were skipped. When built with clang, the test aborted with an assertion in catch.hpp line 6222. This also addresses the issues discussed here: https://github.com/nlohmann/json/issues/1032#issuecomment-378707696 and here: https://github.com/catchorg/Catch2/issues/1241 Please note that this introduces new problems, as some of the unit tests fail now - the library stores keys in lexographical order, while the cbor/msgpack/ubjson examples store them in original order.
This commit is contained in:
parent
3760a38b7e
commit
d5aaeb4cce
3 changed files with 15 additions and 15 deletions
|
@ -1815,7 +1815,7 @@ TEST_CASE("CBOR roundtrips", "[hide]")
|
||||||
std::ifstream f_json(filename);
|
std::ifstream f_json(filename);
|
||||||
json j1 = json::parse(f_json);
|
json j1 = json::parse(f_json);
|
||||||
|
|
||||||
SECTION("std::vector<uint8_t>")
|
SECTION(filename + ": std::vector<uint8_t>")
|
||||||
{
|
{
|
||||||
// parse CBOR file
|
// parse CBOR file
|
||||||
std::ifstream f_cbor(filename + ".cbor", std::ios::binary);
|
std::ifstream f_cbor(filename + ".cbor", std::ios::binary);
|
||||||
|
@ -1829,7 +1829,7 @@ TEST_CASE("CBOR roundtrips", "[hide]")
|
||||||
CHECK(j1 == j2);
|
CHECK(j1 == j2);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("std::ifstream")
|
SECTION(filename + ": std::ifstream")
|
||||||
{
|
{
|
||||||
// parse CBOR file
|
// parse CBOR file
|
||||||
std::ifstream f_cbor(filename + ".cbor", std::ios::binary);
|
std::ifstream f_cbor(filename + ".cbor", std::ios::binary);
|
||||||
|
@ -1840,7 +1840,7 @@ TEST_CASE("CBOR roundtrips", "[hide]")
|
||||||
CHECK(j1 == j2);
|
CHECK(j1 == j2);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("uint8_t* and size")
|
SECTION(filename + ": uint8_t* and size")
|
||||||
{
|
{
|
||||||
// parse CBOR file
|
// parse CBOR file
|
||||||
std::ifstream f_cbor(filename + ".cbor", std::ios::binary);
|
std::ifstream f_cbor(filename + ".cbor", std::ios::binary);
|
||||||
|
@ -1854,7 +1854,7 @@ TEST_CASE("CBOR roundtrips", "[hide]")
|
||||||
CHECK(j1 == j2);
|
CHECK(j1 == j2);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("output to output adapters")
|
SECTION(filename + ": output to output adapters")
|
||||||
{
|
{
|
||||||
// parse CBOR file
|
// parse CBOR file
|
||||||
std::ifstream f_cbor(filename + ".cbor", std::ios::binary);
|
std::ifstream f_cbor(filename + ".cbor", std::ios::binary);
|
||||||
|
@ -1862,7 +1862,7 @@ TEST_CASE("CBOR roundtrips", "[hide]")
|
||||||
(std::istreambuf_iterator<char>(f_cbor)),
|
(std::istreambuf_iterator<char>(f_cbor)),
|
||||||
std::istreambuf_iterator<char>());
|
std::istreambuf_iterator<char>());
|
||||||
|
|
||||||
SECTION("std::vector<uint8_t>")
|
SECTION(filename + ": output adapters: std::vector<uint8_t>")
|
||||||
{
|
{
|
||||||
std::vector<uint8_t> vec;
|
std::vector<uint8_t> vec;
|
||||||
json::to_cbor(j1, vec);
|
json::to_cbor(j1, vec);
|
||||||
|
|
|
@ -1504,7 +1504,7 @@ TEST_CASE("MessagePack roundtrips", "[hide]")
|
||||||
std::ifstream f_json(filename);
|
std::ifstream f_json(filename);
|
||||||
json j1 = json::parse(f_json);
|
json j1 = json::parse(f_json);
|
||||||
|
|
||||||
SECTION("std::vector<uint8_t>")
|
SECTION(filename + ": std::vector<uint8_t>")
|
||||||
{
|
{
|
||||||
// parse MessagePack file
|
// parse MessagePack file
|
||||||
std::ifstream f_msgpack(filename + ".msgpack", std::ios::binary);
|
std::ifstream f_msgpack(filename + ".msgpack", std::ios::binary);
|
||||||
|
@ -1518,7 +1518,7 @@ TEST_CASE("MessagePack roundtrips", "[hide]")
|
||||||
CHECK(j1 == j2);
|
CHECK(j1 == j2);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("std::ifstream")
|
SECTION(filename + ": std::ifstream")
|
||||||
{
|
{
|
||||||
// parse MessagePack file
|
// parse MessagePack file
|
||||||
std::ifstream f_msgpack(filename + ".msgpack", std::ios::binary);
|
std::ifstream f_msgpack(filename + ".msgpack", std::ios::binary);
|
||||||
|
@ -1529,7 +1529,7 @@ TEST_CASE("MessagePack roundtrips", "[hide]")
|
||||||
CHECK(j1 == j2);
|
CHECK(j1 == j2);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("uint8_t* and size")
|
SECTION(filename + ": uint8_t* and size")
|
||||||
{
|
{
|
||||||
// parse MessagePack file
|
// parse MessagePack file
|
||||||
std::ifstream f_msgpack(filename + ".msgpack", std::ios::binary);
|
std::ifstream f_msgpack(filename + ".msgpack", std::ios::binary);
|
||||||
|
@ -1543,7 +1543,7 @@ TEST_CASE("MessagePack roundtrips", "[hide]")
|
||||||
CHECK(j1 == j2);
|
CHECK(j1 == j2);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("output to output adapters")
|
SECTION(filename + ": output to output adapters")
|
||||||
{
|
{
|
||||||
// parse MessagePack file
|
// parse MessagePack file
|
||||||
std::ifstream f_msgpack(filename + ".msgpack", std::ios::binary);
|
std::ifstream f_msgpack(filename + ".msgpack", std::ios::binary);
|
||||||
|
@ -1551,7 +1551,7 @@ TEST_CASE("MessagePack roundtrips", "[hide]")
|
||||||
(std::istreambuf_iterator<char>(f_msgpack)),
|
(std::istreambuf_iterator<char>(f_msgpack)),
|
||||||
std::istreambuf_iterator<char>());
|
std::istreambuf_iterator<char>());
|
||||||
|
|
||||||
SECTION("std::vector<uint8_t>")
|
SECTION(filename + ": output adapters: std::vector<uint8_t>")
|
||||||
{
|
{
|
||||||
std::vector<uint8_t> vec;
|
std::vector<uint8_t> vec;
|
||||||
json::to_msgpack(j1, vec);
|
json::to_msgpack(j1, vec);
|
||||||
|
|
|
@ -2203,7 +2203,7 @@ TEST_CASE("UBJSON roundtrips", "[hide]")
|
||||||
std::ifstream f_json(filename);
|
std::ifstream f_json(filename);
|
||||||
json j1 = json::parse(f_json);
|
json j1 = json::parse(f_json);
|
||||||
|
|
||||||
SECTION("std::vector<uint8_t>")
|
SECTION(filename + ": std::vector<uint8_t>")
|
||||||
{
|
{
|
||||||
// parse MessagePack file
|
// parse MessagePack file
|
||||||
std::ifstream f_ubjson(filename + ".ubjson", std::ios::binary);
|
std::ifstream f_ubjson(filename + ".ubjson", std::ios::binary);
|
||||||
|
@ -2217,7 +2217,7 @@ TEST_CASE("UBJSON roundtrips", "[hide]")
|
||||||
CHECK(j1 == j2);
|
CHECK(j1 == j2);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("std::ifstream")
|
SECTION(filename + ": std::ifstream")
|
||||||
{
|
{
|
||||||
// parse MessagePack file
|
// parse MessagePack file
|
||||||
std::ifstream f_ubjson(filename + ".ubjson", std::ios::binary);
|
std::ifstream f_ubjson(filename + ".ubjson", std::ios::binary);
|
||||||
|
@ -2228,7 +2228,7 @@ TEST_CASE("UBJSON roundtrips", "[hide]")
|
||||||
CHECK(j1 == j2);
|
CHECK(j1 == j2);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("uint8_t* and size")
|
SECTION(filename + ": uint8_t* and size")
|
||||||
{
|
{
|
||||||
// parse MessagePack file
|
// parse MessagePack file
|
||||||
std::ifstream f_ubjson(filename + ".ubjson", std::ios::binary);
|
std::ifstream f_ubjson(filename + ".ubjson", std::ios::binary);
|
||||||
|
@ -2242,7 +2242,7 @@ TEST_CASE("UBJSON roundtrips", "[hide]")
|
||||||
CHECK(j1 == j2);
|
CHECK(j1 == j2);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("output to output adapters")
|
SECTION(filename + ": output to output adapters")
|
||||||
{
|
{
|
||||||
// parse MessagePack file
|
// parse MessagePack file
|
||||||
std::ifstream f_ubjson(filename + ".ubjson", std::ios::binary);
|
std::ifstream f_ubjson(filename + ".ubjson", std::ios::binary);
|
||||||
|
@ -2250,7 +2250,7 @@ TEST_CASE("UBJSON roundtrips", "[hide]")
|
||||||
(std::istreambuf_iterator<char>(f_ubjson)),
|
(std::istreambuf_iterator<char>(f_ubjson)),
|
||||||
std::istreambuf_iterator<char>());
|
std::istreambuf_iterator<char>());
|
||||||
|
|
||||||
SECTION("std::vector<uint8_t>")
|
SECTION(filename + ": output adapters: std::vector<uint8_t>")
|
||||||
{
|
{
|
||||||
std::vector<uint8_t> vec;
|
std::vector<uint8_t> vec;
|
||||||
json::to_ubjson(j1, vec);
|
json::to_ubjson(j1, vec);
|
||||||
|
|
Loading…
Reference in a new issue