Introduce structure to the test/ directory
This introduces a clear separation between test data and test binaries. Test data is moved into test/data, and the test binaries move into test/src. A new CMake script specific to building the tests is introduced in /test to slightly clean up the toplevel one. As well as tidying things up, this makes the next step trivial...
This commit is contained in:
parent
4e6aacda36
commit
af76508fe7
87 changed files with 103 additions and 98 deletions
15
test/CMakeLists.txt
Normal file
15
test/CMakeLists.txt
Normal file
|
@ -0,0 +1,15 @@
|
|||
# The unit test executable.
|
||||
add_executable(json_unit
|
||||
"src/catch.hpp"
|
||||
"src/unit.cpp"
|
||||
)
|
||||
|
||||
set_target_properties(json_unit PROPERTIES
|
||||
CXX_STANDARD 11
|
||||
CXX_STANDARD_REQUIRED ON
|
||||
COMPILE_DEFINITIONS "$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>"
|
||||
COMPILE_OPTIONS "$<$<CXX_COMPILER_ID:MSVC>:/EHsc;$<$<CONFIG:Release>:/Od>>"
|
||||
)
|
||||
|
||||
target_include_directories(json_unit PRIVATE "src")
|
||||
target_link_libraries(json_unit ${JSON_TARGET_NAME})
|
|
@ -1314,7 +1314,7 @@ TEST_CASE("constructors")
|
|||
|
||||
SECTION("std::ifstream")
|
||||
{
|
||||
std::ifstream f("test/json_tests/pass1.json");
|
||||
std::ifstream f("test/data/json_tests/pass1.json");
|
||||
json j(f);
|
||||
}
|
||||
}
|
||||
|
@ -11652,39 +11652,39 @@ TEST_CASE("compliance tests from json.org")
|
|||
{
|
||||
for (auto filename :
|
||||
{
|
||||
//"test/json_tests/fail1.json",
|
||||
"test/json_tests/fail2.json",
|
||||
"test/json_tests/fail3.json",
|
||||
"test/json_tests/fail4.json",
|
||||
"test/json_tests/fail5.json",
|
||||
"test/json_tests/fail6.json",
|
||||
"test/json_tests/fail7.json",
|
||||
"test/json_tests/fail8.json",
|
||||
"test/json_tests/fail9.json",
|
||||
"test/json_tests/fail10.json",
|
||||
"test/json_tests/fail11.json",
|
||||
"test/json_tests/fail12.json",
|
||||
"test/json_tests/fail13.json",
|
||||
"test/json_tests/fail14.json",
|
||||
"test/json_tests/fail15.json",
|
||||
"test/json_tests/fail16.json",
|
||||
"test/json_tests/fail17.json",
|
||||
//"test/json_tests/fail18.json",
|
||||
"test/json_tests/fail19.json",
|
||||
"test/json_tests/fail20.json",
|
||||
"test/json_tests/fail21.json",
|
||||
"test/json_tests/fail22.json",
|
||||
"test/json_tests/fail23.json",
|
||||
"test/json_tests/fail24.json",
|
||||
"test/json_tests/fail25.json",
|
||||
"test/json_tests/fail26.json",
|
||||
"test/json_tests/fail27.json",
|
||||
"test/json_tests/fail28.json",
|
||||
"test/json_tests/fail29.json",
|
||||
"test/json_tests/fail30.json",
|
||||
"test/json_tests/fail31.json",
|
||||
"test/json_tests/fail32.json",
|
||||
"test/json_tests/fail33.json"
|
||||
//"test/data/json_tests/fail1.json",
|
||||
"test/data/json_tests/fail2.json",
|
||||
"test/data/json_tests/fail3.json",
|
||||
"test/data/json_tests/fail4.json",
|
||||
"test/data/json_tests/fail5.json",
|
||||
"test/data/json_tests/fail6.json",
|
||||
"test/data/json_tests/fail7.json",
|
||||
"test/data/json_tests/fail8.json",
|
||||
"test/data/json_tests/fail9.json",
|
||||
"test/data/json_tests/fail10.json",
|
||||
"test/data/json_tests/fail11.json",
|
||||
"test/data/json_tests/fail12.json",
|
||||
"test/data/json_tests/fail13.json",
|
||||
"test/data/json_tests/fail14.json",
|
||||
"test/data/json_tests/fail15.json",
|
||||
"test/data/json_tests/fail16.json",
|
||||
"test/data/json_tests/fail17.json",
|
||||
//"test/data/json_tests/fail18.json",
|
||||
"test/data/json_tests/fail19.json",
|
||||
"test/data/json_tests/fail20.json",
|
||||
"test/data/json_tests/fail21.json",
|
||||
"test/data/json_tests/fail22.json",
|
||||
"test/data/json_tests/fail23.json",
|
||||
"test/data/json_tests/fail24.json",
|
||||
"test/data/json_tests/fail25.json",
|
||||
"test/data/json_tests/fail26.json",
|
||||
"test/data/json_tests/fail27.json",
|
||||
"test/data/json_tests/fail28.json",
|
||||
"test/data/json_tests/fail29.json",
|
||||
"test/data/json_tests/fail30.json",
|
||||
"test/data/json_tests/fail31.json",
|
||||
"test/data/json_tests/fail32.json",
|
||||
"test/data/json_tests/fail33.json"
|
||||
})
|
||||
{
|
||||
CAPTURE(filename);
|
||||
|
@ -11698,9 +11698,9 @@ TEST_CASE("compliance tests from json.org")
|
|||
{
|
||||
for (auto filename :
|
||||
{
|
||||
"test/json_tests/pass1.json",
|
||||
"test/json_tests/pass2.json",
|
||||
"test/json_tests/pass3.json"
|
||||
"test/data/json_tests/pass1.json",
|
||||
"test/data/json_tests/pass2.json",
|
||||
"test/data/json_tests/pass3.json"
|
||||
})
|
||||
{
|
||||
CAPTURE(filename);
|
||||
|
@ -11873,42 +11873,42 @@ TEST_CASE("compliance tests from nativejson-benchmark")
|
|||
|
||||
SECTION("roundtrip")
|
||||
{
|
||||
// test cases are from https://github.com/miloyip/nativejson-benchmark/tree/master/data/roundtrip
|
||||
// test cases are from https://github.com/miloyip/nativejson-benchmark/tree/master/test/data/roundtrip
|
||||
|
||||
for (auto filename :
|
||||
{
|
||||
"test/json_roundtrip/roundtrip01.json",
|
||||
"test/json_roundtrip/roundtrip02.json",
|
||||
"test/json_roundtrip/roundtrip03.json",
|
||||
"test/json_roundtrip/roundtrip04.json",
|
||||
"test/json_roundtrip/roundtrip05.json",
|
||||
"test/json_roundtrip/roundtrip06.json",
|
||||
"test/json_roundtrip/roundtrip07.json",
|
||||
"test/json_roundtrip/roundtrip08.json",
|
||||
"test/json_roundtrip/roundtrip09.json",
|
||||
"test/json_roundtrip/roundtrip10.json",
|
||||
"test/json_roundtrip/roundtrip11.json",
|
||||
"test/json_roundtrip/roundtrip12.json",
|
||||
"test/json_roundtrip/roundtrip13.json",
|
||||
"test/json_roundtrip/roundtrip14.json",
|
||||
"test/json_roundtrip/roundtrip15.json",
|
||||
"test/json_roundtrip/roundtrip16.json",
|
||||
"test/json_roundtrip/roundtrip17.json",
|
||||
"test/json_roundtrip/roundtrip18.json",
|
||||
"test/json_roundtrip/roundtrip19.json",
|
||||
"test/json_roundtrip/roundtrip20.json",
|
||||
"test/json_roundtrip/roundtrip21.json",
|
||||
"test/json_roundtrip/roundtrip22.json",
|
||||
"test/json_roundtrip/roundtrip23.json",
|
||||
"test/json_roundtrip/roundtrip24.json",
|
||||
"test/json_roundtrip/roundtrip25.json",
|
||||
"test/json_roundtrip/roundtrip26.json",
|
||||
"test/json_roundtrip/roundtrip27.json",
|
||||
"test/json_roundtrip/roundtrip28.json",
|
||||
"test/json_roundtrip/roundtrip29.json",
|
||||
"test/json_roundtrip/roundtrip30.json",
|
||||
"test/json_roundtrip/roundtrip31.json",
|
||||
"test/json_roundtrip/roundtrip32.json"
|
||||
"test/data/json_roundtrip/roundtrip01.json",
|
||||
"test/data/json_roundtrip/roundtrip02.json",
|
||||
"test/data/json_roundtrip/roundtrip03.json",
|
||||
"test/data/json_roundtrip/roundtrip04.json",
|
||||
"test/data/json_roundtrip/roundtrip05.json",
|
||||
"test/data/json_roundtrip/roundtrip06.json",
|
||||
"test/data/json_roundtrip/roundtrip07.json",
|
||||
"test/data/json_roundtrip/roundtrip08.json",
|
||||
"test/data/json_roundtrip/roundtrip09.json",
|
||||
"test/data/json_roundtrip/roundtrip10.json",
|
||||
"test/data/json_roundtrip/roundtrip11.json",
|
||||
"test/data/json_roundtrip/roundtrip12.json",
|
||||
"test/data/json_roundtrip/roundtrip13.json",
|
||||
"test/data/json_roundtrip/roundtrip14.json",
|
||||
"test/data/json_roundtrip/roundtrip15.json",
|
||||
"test/data/json_roundtrip/roundtrip16.json",
|
||||
"test/data/json_roundtrip/roundtrip17.json",
|
||||
"test/data/json_roundtrip/roundtrip18.json",
|
||||
"test/data/json_roundtrip/roundtrip19.json",
|
||||
"test/data/json_roundtrip/roundtrip20.json",
|
||||
"test/data/json_roundtrip/roundtrip21.json",
|
||||
"test/data/json_roundtrip/roundtrip22.json",
|
||||
"test/data/json_roundtrip/roundtrip23.json",
|
||||
"test/data/json_roundtrip/roundtrip24.json",
|
||||
"test/data/json_roundtrip/roundtrip25.json",
|
||||
"test/data/json_roundtrip/roundtrip26.json",
|
||||
"test/data/json_roundtrip/roundtrip27.json",
|
||||
"test/data/json_roundtrip/roundtrip28.json",
|
||||
"test/data/json_roundtrip/roundtrip29.json",
|
||||
"test/data/json_roundtrip/roundtrip30.json",
|
||||
"test/data/json_roundtrip/roundtrip31.json",
|
||||
"test/data/json_roundtrip/roundtrip32.json"
|
||||
})
|
||||
{
|
||||
CAPTURE(filename);
|
||||
|
@ -11928,7 +11928,7 @@ TEST_CASE("test suite from json-test-suite")
|
|||
{
|
||||
// read a file with all unicode characters stored as single-character
|
||||
// strings in a JSON array
|
||||
std::ifstream f("test/json_testsuite/sample.json");
|
||||
std::ifstream f("test/data/json_testsuite/sample.json");
|
||||
json j;
|
||||
CHECK_NOTHROW(j << f);
|
||||
|
||||
|
@ -11943,35 +11943,35 @@ TEST_CASE("json.org examples")
|
|||
|
||||
SECTION("1.json")
|
||||
{
|
||||
std::ifstream f("test/json.org/1.json");
|
||||
std::ifstream f("test/data/json.org/1.json");
|
||||
json j;
|
||||
CHECK_NOTHROW(j << f);
|
||||
}
|
||||
|
||||
SECTION("2.json")
|
||||
{
|
||||
std::ifstream f("test/json.org/2.json");
|
||||
std::ifstream f("test/data/json.org/2.json");
|
||||
json j;
|
||||
CHECK_NOTHROW(j << f);
|
||||
}
|
||||
|
||||
SECTION("3.json")
|
||||
{
|
||||
std::ifstream f("test/json.org/3.json");
|
||||
std::ifstream f("test/data/json.org/3.json");
|
||||
json j;
|
||||
CHECK_NOTHROW(j << f);
|
||||
}
|
||||
|
||||
SECTION("4.json")
|
||||
{
|
||||
std::ifstream f("test/json.org/4.json");
|
||||
std::ifstream f("test/data/json.org/4.json");
|
||||
json j;
|
||||
CHECK_NOTHROW(j << f);
|
||||
}
|
||||
|
||||
SECTION("5.json")
|
||||
{
|
||||
std::ifstream f("test/json.org/5.json");
|
||||
std::ifstream f("test/data/json.org/5.json");
|
||||
json j;
|
||||
CHECK_NOTHROW(j << f);
|
||||
}
|
||||
|
@ -12105,7 +12105,7 @@ TEST_CASE("Unicode", "[hide]")
|
|||
{
|
||||
// read a file with all unicode characters stored as single-character
|
||||
// strings in a JSON array
|
||||
std::ifstream f("test/json_nlohmann_tests/all_unicode.json");
|
||||
std::ifstream f("test/data/json_nlohmann_tests/all_unicode.json");
|
||||
json j;
|
||||
CHECK_NOTHROW(j << f);
|
||||
|
||||
|
@ -12146,7 +12146,7 @@ TEST_CASE("Unicode", "[hide]")
|
|||
SECTION("ignore byte-order-mark")
|
||||
{
|
||||
// read a file with a UTF-8 BOM
|
||||
std::ifstream f("test/json_nlohmann_tests/bom.json");
|
||||
std::ifstream f("test/data/json_nlohmann_tests/bom.json");
|
||||
json j;
|
||||
CHECK_NOTHROW(j << f);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue