From 56650e83c5fb11dfda5a882d61176d43e7646ed0 Mon Sep 17 00:00:00 2001 From: Christopher Dunn Date: Mon, 20 Apr 2015 13:10:31 -0700 Subject: [PATCH 01/14] swap docs for default vs. strictMode --- include/json/reader.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/json/reader.h b/include/json/reader.h index f8c3186..c8ff747 100644 --- a/include/json/reader.h +++ b/include/json/reader.h @@ -346,13 +346,13 @@ public: /** Called by ctor, but you can use this to reset settings_. * \pre 'settings' != NULL (but Json::null is fine) * \remark Defaults: - * \snippet src/lib_json/json_reader.cpp CharReaderBuilderStrictMode + * \snippet src/lib_json/json_reader.cpp CharReaderBuilderDefaults */ static void setDefaults(Json::Value* settings); /** Same as old Features::strictMode(). * \pre 'settings' != NULL (but Json::null is fine) * \remark Defaults: - * \snippet src/lib_json/json_reader.cpp CharReaderBuilderDefaults + * \snippet src/lib_json/json_reader.cpp CharReaderBuilderStrictMode */ static void strictMode(Json::Value* settings); }; From 74143f39e7f2dea959d3e1433f0743a55e9c55a7 Mon Sep 17 00:00:00 2001 From: Christopher Dunn Date: Wed, 22 Apr 2015 19:33:41 -0700 Subject: [PATCH 02/14] fix leak in unit-tests --- src/test_lib_json/main.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test_lib_json/main.cpp b/src/test_lib_json/main.cpp index f0e3436..09c3903 100644 --- a/src/test_lib_json/main.cpp +++ b/src/test_lib_json/main.cpp @@ -2209,6 +2209,7 @@ JSONTEST_FIXTURE(CharReaderAllowSingleQuotesTest, issue182) { JSONTEST_ASSERT_STRING_EQUAL("x", root["a"].asString()); JSONTEST_ASSERT_STRING_EQUAL("y", root["b"].asString()); } + delete reader; } struct CharReaderAllowZeroesTest : JsonTest::TestCase {}; @@ -2241,6 +2242,7 @@ JSONTEST_FIXTURE(CharReaderAllowZeroesTest, issue176) { JSONTEST_ASSERT_STRING_EQUAL("x", root["a"].asString()); JSONTEST_ASSERT_STRING_EQUAL("y", root["b"].asString()); } + delete reader; } struct BuilderTest : JsonTest::TestCase {}; From 30bb4ccb670a02273e293b159c67238ae20ba459 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 23 Apr 2015 18:39:00 +0530 Subject: [PATCH 03/14] Use standard CMake variables - static/shared lib. Currently JSONCPP_LIB_BUILD_SHARED variable is used as option to build static/shared libraries. The current patch uses standard CMake variables for this. Such a workaround is done in https://github.com/open-source-parsers/jsoncpp/issues/51 Current patch will make it generic. --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3cf63ea..30038d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,8 @@ OPTION(JSONCPP_WITH_POST_BUILD_UNITTEST "Automatically run unit-tests as a post OPTION(JSONCPP_WITH_WARNING_AS_ERROR "Force compilation to fail if a warning occurs" OFF) OPTION(JSONCPP_WITH_PKGCONFIG_SUPPORT "Generate and install .pc files" ON) OPTION(JSONCPP_WITH_CMAKE_PACKAGE "Generate and install cmake package files" OFF) +OPTION(BUILD_SHARED_LIBS "Build jsoncpp_lib as a shared library." OFF) +OPTION(BUILD_STATIC_LIBS "Build jsoncpp_lib static library." ON) # Ensures that CMAKE_BUILD_TYPE is visible in cmake-gui on Unix IF(NOT WIN32) From 11130997c3b35c2015ec074f2dd415d857339784 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 23 Apr 2015 18:44:32 +0530 Subject: [PATCH 04/14] Use standard CMake variables - static/shared lib. Replace JSONCPP_LIB_BUILD_SHARED => BUILD_SHARED_LIBS Replace JSONCPP_LIB_BUILD_STATIC => BUILD_STATIC_LIBS Removed workaround https://github.com/open-source-parsers/jsoncpp/issues/51 Removed OPTION for shared/static in this file. --- src/lib_json/CMakeLists.txt | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/lib_json/CMakeLists.txt b/src/lib_json/CMakeLists.txt index 18d127b..97b7019 100644 --- a/src/lib_json/CMakeLists.txt +++ b/src/lib_json/CMakeLists.txt @@ -1,10 +1,3 @@ -OPTION(JSONCPP_LIB_BUILD_SHARED "Build jsoncpp_lib as a shared library." OFF) -OPTION(JSONCPP_LIB_BUILD_STATIC "Build jsoncpp_lib static library." ON) - -IF(BUILD_SHARED_LIBS) - SET(JSONCPP_LIB_BUILD_SHARED ON) -ENDIF(BUILD_SHARED_LIBS) - if( CMAKE_COMPILER_IS_GNUCXX ) #Get compiler version. execute_process( COMMAND ${CMAKE_CXX_COMPILER} -dumpversion @@ -46,7 +39,7 @@ ELSE(JSONCPP_WITH_CMAKE_PACKAGE) SET(INSTALL_EXPORT) ENDIF(JSONCPP_WITH_CMAKE_PACKAGE) -IF(JSONCPP_LIB_BUILD_SHARED) +IF(BUILD_SHARED_LIBS) ADD_DEFINITIONS( -DJSON_DLL_BUILD ) ADD_LIBRARY(jsoncpp_lib SHARED ${PUBLIC_HEADERS} ${jsoncpp_sources}) SET_TARGET_PROPERTIES( jsoncpp_lib PROPERTIES VERSION ${JSONCPP_VERSION} SOVERSION ${JSONCPP_VERSION_MAJOR}) @@ -65,7 +58,7 @@ IF(JSONCPP_LIB_BUILD_SHARED) ENDIF() -IF(JSONCPP_LIB_BUILD_STATIC) +IF(BUILD_STATIC_LIBS) ADD_LIBRARY(jsoncpp_lib_static STATIC ${PUBLIC_HEADERS} ${jsoncpp_sources}) SET_TARGET_PROPERTIES( jsoncpp_lib_static PROPERTIES VERSION ${JSONCPP_VERSION} SOVERSION ${JSONCPP_VERSION_MAJOR}) SET_TARGET_PROPERTIES( jsoncpp_lib_static PROPERTIES OUTPUT_NAME jsoncpp ) From 0c1c076b7c77ca60df2179d04560bf201d0bafca Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 23 Apr 2015 18:50:43 +0530 Subject: [PATCH 05/14] Use standard CMake variables - static/shared lib. Replaced JSONCPP_LIB_BUILD_SHARED => BUILD_SHARED_LIBS Moved definition DJSON_DLL to line 11. --- src/test_lib_json/CMakeLists.txt | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/test_lib_json/CMakeLists.txt b/src/test_lib_json/CMakeLists.txt index f925ce0..f54c85f 100644 --- a/src/test_lib_json/CMakeLists.txt +++ b/src/test_lib_json/CMakeLists.txt @@ -1,9 +1,5 @@ # vim: et ts=4 sts=4 sw=4 tw=0 -IF(JSONCPP_LIB_BUILD_SHARED) - ADD_DEFINITIONS( -DJSON_DLL ) -ENDIF(JSONCPP_LIB_BUILD_SHARED) - ADD_EXECUTABLE( jsoncpp_test jsontest.cpp jsontest.h @@ -11,11 +7,12 @@ ADD_EXECUTABLE( jsoncpp_test ) -IF(JSONCPP_LIB_BUILD_SHARED) +IF(BUILD_SHARED_LIBS) + ADD_DEFINITIONS( -DJSON_DLL ) TARGET_LINK_LIBRARIES(jsoncpp_test jsoncpp_lib) -ELSE(JSONCPP_LIB_BUILD_SHARED) +ELSE(BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(jsoncpp_test jsoncpp_lib_static) -ENDIF(JSONCPP_LIB_BUILD_SHARED) +ENDIF(BUILD_SHARED_LIBS) # another way to solve issue #90 #set_target_properties(jsoncpp_test PROPERTIES COMPILE_FLAGS -ffloat-store) @@ -23,19 +20,19 @@ ENDIF(JSONCPP_LIB_BUILD_SHARED) # Run unit tests in post-build # (default cmake workflow hides away the test result into a file, resulting in poor dev workflow?!?) IF(JSONCPP_WITH_POST_BUILD_UNITTEST) - IF(JSONCPP_LIB_BUILD_SHARED) + IF(BUILD_SHARED_LIBS) # First, copy the shared lib, for Microsoft. # Then, run the test executable. ADD_CUSTOM_COMMAND( TARGET jsoncpp_test POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ COMMAND $) - ELSE(JSONCPP_LIB_BUILD_SHARED) + ELSE(BUILD_SHARED_LIBS) # Just run the test executable. ADD_CUSTOM_COMMAND( TARGET jsoncpp_test POST_BUILD COMMAND $) - ENDIF(JSONCPP_LIB_BUILD_SHARED) + ENDIF(BUILD_SHARED_LIBS) ENDIF(JSONCPP_WITH_POST_BUILD_UNITTEST) SET_TARGET_PROPERTIES(jsoncpp_test PROPERTIES OUTPUT_NAME jsoncpp_test) From 43019088f0079fd6da2133b3a50af2006b7a5393 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 23 Apr 2015 18:53:30 +0530 Subject: [PATCH 06/14] Use standard CMake variables - static/shared lib. Replaced JSONCPP_LIB_BUILD_SHARED => BUILD_SHARED_LIBS Moved flag JSON_DLL to line no 8. --- src/jsontestrunner/CMakeLists.txt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/jsontestrunner/CMakeLists.txt b/src/jsontestrunner/CMakeLists.txt index a2e48d6..820a7cd 100644 --- a/src/jsontestrunner/CMakeLists.txt +++ b/src/jsontestrunner/CMakeLists.txt @@ -1,18 +1,15 @@ FIND_PACKAGE(PythonInterp 2.6) -IF(JSONCPP_LIB_BUILD_SHARED) - ADD_DEFINITIONS( -DJSON_DLL ) -ENDIF(JSONCPP_LIB_BUILD_SHARED) - ADD_EXECUTABLE(jsontestrunner_exe main.cpp ) -IF(JSONCPP_LIB_BUILD_SHARED) +IF(BUILD_SHARED_LIBS) + ADD_DEFINITIONS( -DJSON_DLL ) TARGET_LINK_LIBRARIES(jsontestrunner_exe jsoncpp_lib) -ELSE(JSONCPP_LIB_BUILD_SHARED) +ELSE(BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(jsontestrunner_exe jsoncpp_lib_static) -ENDIF(JSONCPP_LIB_BUILD_SHARED) +ENDIF(BUILD_SHARED_LIBS) SET_TARGET_PROPERTIES(jsontestrunner_exe PROPERTIES OUTPUT_NAME jsontestrunner_exe) From 0fe61a68f812e4c8d80547fe52b9b680a6ef4e96 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 23 Apr 2015 18:55:24 +0530 Subject: [PATCH 07/14] Use standard CMake variables - static/shared lib. Replaced JSONCPP_LIB_BUILD_SHARED => BUILD_SHARED_LIBS --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 59ba2ae..a0e84a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ language: cpp compiler: - gcc - clang -script: cmake -DJSONCPP_WITH_CMAKE_PACKAGE=$CMAKE_PKG -DJSONCPP_LIB_BUILD_SHARED=$SHARED_LIB -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE_MAKE . && make && make jsoncpp_check +script: cmake -DJSONCPP_WITH_CMAKE_PACKAGE=$CMAKE_PKG -DBUILD_SHARED_LIBS=$SHARED_LIB -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE_MAKE . && make && make jsoncpp_check env: matrix: - SHARED_LIB=ON STATIC_LIB=ON CMAKE_PKG=ON BUILD_TYPE=release VERBOSE_MAKE=false From 4f8ec9d207eb2fd7a25e2d6dacb3d37fd91d3d0b Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 23 Apr 2015 18:58:26 +0530 Subject: [PATCH 08/14] Use standard CMake variables - static/shared lib. Replaced JSONCPP_LIB_BUILD_SHARED => BUILD_SHARED_LIBS Replaced JSONCPP_LIB_BUILD_STATIC => BUILD_STATIC_LIBS --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e728973..2940852 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Steps for generating solution/makefiles using `cmake-gui`: * Make "source code" point to the source directory. * Make "where to build the binary" point to the directory to use for the build. * Click on the "Grouped" check box. -* Review JsonCpp build options (tick `JSONCPP_LIB_BUILD_SHARED` to build as a +* Review JsonCpp build options (tick `BUILD_SHARED_LIBS` to build as a dynamic library). * Click the configure button at the bottom, then the generate button. * The generated solution/makefiles can be found in the binary directory. @@ -67,7 +67,7 @@ Alternatively, from the command-line on Unix in the source directory: mkdir -p build/debug cd build/debug - cmake -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_STATIC=ON -DJSONCPP_LIB_BUILD_SHARED=OFF -G "Unix Makefiles" ../.. + cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -G "Unix Makefiles" ../.. make Running `cmake -`" will display the list of available generators (passed using From c09e121aeb927403369a06fbe456d7510db2e86f Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 23 Apr 2015 19:00:56 +0530 Subject: [PATCH 09/14] Use standard CMake variables - static/shared lib. Replace JSONCPP_LIB_BUILD_SHARED => BUILD_SHARED_LIBS --- dev.makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev.makefile b/dev.makefile index 710aafe..e289266 100644 --- a/dev.makefile +++ b/dev.makefile @@ -16,7 +16,7 @@ dox: # Then 'git add -A' and 'git push' in jsoncpp-docs. build: mkdir -p build/debug - cd build/debug; cmake -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_SHARED=ON -G "Unix Makefiles" ../.. + cd build/debug; cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_SHARED_LIBS=ON -G "Unix Makefiles" ../.. make -C build/debug # Currently, this depends on include/json/version.h generated From a53070c42b820e95d39d48b0af920a567fce8470 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 23 Apr 2015 19:03:12 +0530 Subject: [PATCH 10/14] Use standard CMake variables - static/shared lib. Replace JSONCPP_LIB_BUILD_SHARED => BUILD_SHARED_LIBS --- devtools/agent_vmw7.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devtools/agent_vmw7.json b/devtools/agent_vmw7.json index 38b50d9..086ad9a 100644 --- a/devtools/agent_vmw7.json +++ b/devtools/agent_vmw7.json @@ -19,8 +19,8 @@ }, {"name": "shared_dll", "variables": [ - ["JSONCPP_LIB_BUILD_SHARED=true"], - ["JSONCPP_LIB_BUILD_SHARED=false"] + ["BUILD_SHARED_LIBS=true"], + ["BUILD_SHARED_LIBS=false"] ] }, {"name": "build_type", From 3f6345234feda0f272df7694de9b02d8cf82de48 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Thu, 23 Apr 2015 19:04:09 +0530 Subject: [PATCH 11/14] Use standard CMake variables - static/shared lib. Replace JSONCPP_LIB_BUILD_SHARED => BUILD_SHARED_LIBS --- devtools/agent_vmxp.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devtools/agent_vmxp.json b/devtools/agent_vmxp.json index 61f5a4c..997aa5e 100644 --- a/devtools/agent_vmxp.json +++ b/devtools/agent_vmxp.json @@ -12,8 +12,8 @@ }, {"name": "shared_dll", "variables": [ - ["JSONCPP_LIB_BUILD_SHARED=true"], - ["JSONCPP_LIB_BUILD_SHARED=false"] + ["BUILD_SHARED_LIBS=true"], + ["BUILD_SHARED_LIBS=false"] ] }, {"name": "build_type", From 88184d142bc4a61aa47102345218470873d1de8d Mon Sep 17 00:00:00 2001 From: Christopher Dunn Date: Wed, 22 Apr 2015 19:43:27 -0700 Subject: [PATCH 12/14] run valgrind in Travis CI Because this runs apt-get, it will not work as-is for OSX. So when we have OSX in Travis, we will have to wrap this somehow. See #250. Closes #222. --- .travis.yml | 12 ++++++++++-- dev.makefile | 3 +++ travis.sh | 29 +++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100755 travis.sh diff --git a/.travis.yml b/.travis.yml index a0e84a3..17e52dc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,12 +2,20 @@ # http://about.travis-ci.org/docs/user/build-configuration/ # This file can be validated on: # http://lint.travis-ci.org/ -before_install: sudo apt-get install cmake + +#before_install: sudo apt-get install -y cmake +# cmake is pre-installed in Travis for both linux and osx + +before_install: + - sudo apt-get update -qq + - sudo apt-get install -qq valgrind +os: + - linux language: cpp compiler: - gcc - clang -script: cmake -DJSONCPP_WITH_CMAKE_PACKAGE=$CMAKE_PKG -DBUILD_SHARED_LIBS=$SHARED_LIB -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE_MAKE . && make && make jsoncpp_check +script: ./travis.sh env: matrix: - SHARED_LIB=ON STATIC_LIB=ON CMAKE_PKG=ON BUILD_TYPE=release VERBOSE_MAKE=false diff --git a/dev.makefile b/dev.makefile index e289266..d288b16 100644 --- a/dev.makefile +++ b/dev.makefile @@ -26,6 +26,9 @@ test-amalgamate: python3.4 amalgamate.py cd dist; gcc -I. -c jsoncpp.cpp +valgrind: + valgrind --error-exitcode=42 --leak-check=full ./build/debug/src/test_lib_json/jsoncpp_test + clean: \rm -rf *.gz *.asc dist/ diff --git a/travis.sh b/travis.sh new file mode 100755 index 0000000..2b25f47 --- /dev/null +++ b/travis.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env sh +# This is called by `.travis.yml` via Travis CI. +# Travis supplies $TRAVIS_OS_NAME. +# http://docs.travis-ci.com/user/multi-os/ +# Our .travis.yml also defines: +# - SHARED_LIB=ON/OFF +# - STATIC_LIB=ON/OFF +# - CMAKE_PKG=ON/OFF +# - BUILD_TYPE=release/debug +# - VERBOSE_MAKE=false/true +# - VERBOSE (set or not) + +# -e: fail on error +# -v: show commands +# -x: show expanded commands +set -vex + +env | sort + +cmake -DJSONCPP_WITH_CMAKE_PACKAGE=$CMAKE_PKG -DBUILD_SHARED_LIBS=$SHARED_LIB -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE_MAKE . +make + +# Python is not available in Travis for osx. +# https://github.com/travis-ci/travis-ci/issues/2320 +if [ "$TRAVIS_OS_NAME" != "osx" ] +then + make jsoncpp_check + valgrind --error-exitcode=42 --leak-check=full ./src/test_lib_json/jsoncpp_test +fi From fcbab02e4a2d17ce775eed21a3e7de6dba8690ab Mon Sep 17 00:00:00 2001 From: Dan Liu Date: Mon, 27 Apr 2015 05:20:05 +0100 Subject: [PATCH 13/14] fix crash for "C++ Builder" IDE http://blog.csdn.net/gzliudan/article/details/45264201 --- include/json/value.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/json/value.h b/include/json/value.h index 26bb38b..426b0f7 100644 --- a/include/json/value.h +++ b/include/json/value.h @@ -211,7 +211,7 @@ private: void swap(CZString& other); struct StringStorage { - DuplicationPolicy policy_: 2; + unsigned policy_: 2; unsigned length_: 30; // 1GB max }; From a0a7c5f6def1bcdcd0716af0d7dfa413c30cd005 Mon Sep 17 00:00:00 2001 From: Christopher Dunn Date: Mon, 27 Apr 2015 09:57:58 -0700 Subject: [PATCH 14/14] a little test for issue 252, but does not fail for me --- src/test_lib_json/main.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/test_lib_json/main.cpp b/src/test_lib_json/main.cpp index 09c3903..0d4284e 100644 --- a/src/test_lib_json/main.cpp +++ b/src/test_lib_json/main.cpp @@ -257,6 +257,20 @@ JSONTEST_FIXTURE(ValueTest, arrays) { JSONTEST_ASSERT_EQUAL(Json::Value(17), got); JSONTEST_ASSERT_EQUAL(false, array1_.removeIndex(2, &got)); // gone now } +JSONTEST_FIXTURE(ValueTest, arrayIssue252) +{ + int count = 5; + Json::Value root; + Json::Value item; + root["array"] = Json::Value::nullRef; + for (int i = 0; i < count; i++) + { + item["a"] = i; + item["b"] = i; + root["array"][i] = item; + } + //JSONTEST_ASSERT_EQUAL(5, root["array"].size()); +} JSONTEST_FIXTURE(ValueTest, null) { JSONTEST_ASSERT_EQUAL(Json::nullValue, null_.type()); @@ -2326,6 +2340,7 @@ int main(int argc, const char* argv[]) { JSONTEST_REGISTER_FIXTURE(runner, ValueTest, memberCount); JSONTEST_REGISTER_FIXTURE(runner, ValueTest, objects); JSONTEST_REGISTER_FIXTURE(runner, ValueTest, arrays); + JSONTEST_REGISTER_FIXTURE(runner, ValueTest, arrayIssue252); JSONTEST_REGISTER_FIXTURE(runner, ValueTest, null); JSONTEST_REGISTER_FIXTURE(runner, ValueTest, strings); JSONTEST_REGISTER_FIXTURE(runner, ValueTest, bools);