Remove "#define private public" from tests
This PR adds a macro `JSON_PRIVATE_UNLESS_TESTED` which is `private` by default, but can be defined to `public` when `JSON_TESTS_PRIVATE` is defined. This is done in all tests that previously used the `#define private public` hack.

Closes #1985 
Closes #913 
Closes #43 
Related to #2346
{"label": "nlohmann:develop", "ref": "develop", "sha": "b888afe5f45f0ac6381aa5fa93bba7b5fc035354"}
The snippet to reproduce the error:

``` c++
  struct A {
    nlohmann::json j;
    auto has_entry(std::string n) {
      return j.find(n) != j.end() ? true : false;
    }
  };
```

what the error looks like:

``` shell
src/json.hpp:1073:20: error: 'm_it' is a private member of 'nlohmann::basic_json<std::map, std::vector, std::__1::basic_string<char>, bool, long long,
      double, std::allocator>::const_iterator'
            result.m_it.object_iterator = m_value.object->find(key);
                   ^
```

This is not catched by the unit tests because they are compiled by defining `private=public`. 

A "better" way to do that could be  to have a separate file only for those tests that "need" `private=public`.

This _might be_ clang 3.6 specific, since I'm the only one who seems to be having problems. 

I worked around this issue by including the library as follows:

``` c++
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wfloat-equal"
#pragma clang diagnostic ignored "-Wdeprecated"
#define private public
#include <json.hpp>
#define private private
#pragma clang diagnostic pop
```

Compilation error due to assuming that private=public
diff --git a/Makefile b/Makefile
index 98fa365afe..0b310e9eaa 100644
--- a/Makefile
+++ b/Makefile
@@ -81,7 +81,6 @@ doctest:
 # -Wno-documentation-unknown-command: code uses user-defined commands like @complexity
 # -Wno-exit-time-destructors: warning in json code triggered by NLOHMANN_JSON_SERIALIZE_ENUM
 # -Wno-float-equal: not all comparisons in the tests can be replaced by Approx
-# -Wno-keyword-macro: unit-tests use "#define private public"
 # -Wno-missing-prototypes: for NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE
 # -Wno-padded: padding is nothing to warn about
 # -Wno-range-loop-analysis: items tests "for(const auto i...)"
@@ -98,7 +97,6 @@ pedantic_clang:
 		-Wno-documentation-unknown-command \
 		-Wno-exit-time-destructors \
 		-Wno-float-equal \
-		-Wno-keyword-macro \
 		-Wno-missing-prototypes \
 		-Wno-padded \
 		-Wno-range-loop-analysis \
diff --git a/include/nlohmann/detail/iterators/iter_impl.hpp b/include/nlohmann/detail/iterators/iter_impl.hpp
index e9a394d4cc..b4faa88a5d 100644
--- a/include/nlohmann/detail/iterators/iter_impl.hpp
+++ b/include/nlohmann/detail/iterators/iter_impl.hpp
@@ -163,7 +163,7 @@ class iter_impl
         return *this;
     }
 
-  private:
+  JSON_PRIVATE_UNLESS_TESTED:
     /*!
     @brief set the iterator to the first value
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
@@ -627,7 +627,7 @@ class iter_impl
         return operator*();
     }
 
-  private:
+  JSON_PRIVATE_UNLESS_TESTED:
     /// associated JSON instance
     pointer m_object = nullptr;
     /// the actual iterator of the associated instance
diff --git a/include/nlohmann/detail/iterators/primitive_iterator.hpp b/include/nlohmann/detail/iterators/primitive_iterator.hpp
index 28d6f1a65d..16dcc9f97f 100644
--- a/include/nlohmann/detail/iterators/primitive_iterator.hpp
+++ b/include/nlohmann/detail/iterators/primitive_iterator.hpp
@@ -23,6 +23,7 @@ class primitive_iterator_t
     static constexpr difference_type begin_value = 0;
     static constexpr difference_type end_value = begin_value + 1;
 
+  JSON_PRIVATE_UNLESS_TESTED:
     /// iterator as signed integer type
     difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
 
diff --git a/include/nlohmann/detail/json_pointer.hpp b/include/nlohmann/detail/json_pointer.hpp
index 78bc3a3a38..865376cf18 100644
--- a/include/nlohmann/detail/json_pointer.hpp
+++ b/include/nlohmann/detail/json_pointer.hpp
@@ -375,6 +375,7 @@ class json_pointer
         return static_cast<size_type>(res);
     }
 
+  JSON_PRIVATE_UNLESS_TESTED:
     json_pointer top() const
     {
         if (JSON_HEDLEY_UNLIKELY(empty()))
@@ -387,6 +388,7 @@ class json_pointer
         return result;
     }
 
+  private:
     /*!
     @brief create and return a reference to the pointed to value
 
@@ -823,6 +825,7 @@ class json_pointer
         {}
     }
 
+  JSON_PRIVATE_UNLESS_TESTED:
     /// escape "~" to "~0" and "/" to "~1"
     static std::string escape(std::string s)
     {
@@ -838,6 +841,7 @@ class json_pointer
         replace_substring(s, "~0", "~");
     }
 
+  private:
     /*!
     @param[in] reference_string  the reference string to the current value
     @param[in] value             the value to consider
diff --git a/include/nlohmann/detail/macro_scope.hpp b/include/nlohmann/detail/macro_scope.hpp
index 8c9f63296b..77acf04c76 100644
--- a/include/nlohmann/detail/macro_scope.hpp
+++ b/include/nlohmann/detail/macro_scope.hpp
@@ -83,6 +83,13 @@
     #define JSON_ASSERT(x) assert(x)
 #endif
 
+// allow to access some private functions (needed by the test suite)
+#if defined(JSON_TESTS_PRIVATE)
+    #define JSON_PRIVATE_UNLESS_TESTED public
+#else
+    #define JSON_PRIVATE_UNLESS_TESTED private
+#endif
+
 /*!
 @brief macro to briefly define a mapping between an enum and JSON
 @def NLOHMANN_JSON_SERIALIZE_ENUM
diff --git a/include/nlohmann/detail/macro_unscope.hpp b/include/nlohmann/detail/macro_unscope.hpp
index eb7065113d..5ac66f5af8 100644
--- a/include/nlohmann/detail/macro_unscope.hpp
+++ b/include/nlohmann/detail/macro_unscope.hpp
@@ -14,6 +14,7 @@
 #undef JSON_CATCH
 #undef JSON_THROW
 #undef JSON_TRY
+#undef JSON_PRIVATE_UNLESS_TESTED
 #undef JSON_HAS_CPP_14
 #undef JSON_HAS_CPP_17
 #undef NLOHMANN_BASIC_JSON_TPL_DECLARATION
diff --git a/include/nlohmann/detail/output/serializer.hpp b/include/nlohmann/detail/output/serializer.hpp
index 865b8904e2..f59e8ad31f 100644
--- a/include/nlohmann/detail/output/serializer.hpp
+++ b/include/nlohmann/detail/output/serializer.hpp
@@ -362,7 +362,7 @@ class serializer
         }
     }
 
-  private:
+  JSON_PRIVATE_UNLESS_TESTED:
     /*!
     @brief dump escaped string
 
@@ -625,6 +625,7 @@ class serializer
         }
     }
 
+  private:
     /*!
     @brief count digits
 
diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp
index ff8c46463a..cd56dafdc4 100644
--- a/include/nlohmann/json.hpp
+++ b/include/nlohmann/json.hpp
@@ -189,6 +189,7 @@ class basic_json
     /// workaround type for MSVC
     using basic_json_t = NLOHMANN_BASIC_JSON_TPL;
 
+  JSON_PRIVATE_UNLESS_TESTED:
     // convenience aliases for types residing in namespace detail;
     using lexer = ::nlohmann::detail::lexer_base<basic_json>;
 
@@ -204,6 +205,7 @@ class basic_json
                 std::move(cb), allow_exceptions, ignore_comments);
     }
 
+  private:
     using primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t;
     template<typename BasicJsonType>
     using internal_iterator = ::nlohmann::detail::internal_iterator<BasicJsonType>;
@@ -220,6 +222,7 @@ class basic_json
     using binary_reader = ::nlohmann::detail::binary_reader<basic_json, InputType>;
     template<typename CharType> using binary_writer = ::nlohmann::detail::binary_writer<basic_json, CharType>;
 
+  JSON_PRIVATE_UNLESS_TESTED:
     using serializer = ::nlohmann::detail::serializer<basic_json>;
 
   public:
@@ -934,6 +937,7 @@ class basic_json
     // JSON value storage //
     ////////////////////////
 
+  JSON_PRIVATE_UNLESS_TESTED:
     /*!
     @brief a JSON value
 
@@ -1210,6 +1214,7 @@ class basic_json
         }
     };
 
+  private:
     /*!
     @brief checks the class invariants
 
@@ -6947,7 +6952,7 @@ class basic_json
     }
 
 
-  private:
+  JSON_PRIVATE_UNLESS_TESTED:
     //////////////////////
     // member variables //
     //////////////////////
diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
index 7d107f21ed..e9dbc87dad 100644
--- a/single_include/nlohmann/json.hpp
+++ b/single_include/nlohmann/json.hpp
@@ -2100,6 +2100,13 @@ JSON_HEDLEY_DIAGNOSTIC_POP
     #define JSON_ASSERT(x) assert(x)
 #endif
 
+// allow to access some private functions (needed by the test suite)
+#if defined(JSON_TESTS_PRIVATE)
+    #define JSON_PRIVATE_UNLESS_TESTED public
+#else
+    #define JSON_PRIVATE_UNLESS_TESTED private
+#endif
+
 /*!
 @brief macro to briefly define a mapping between an enum and JSON
 @def NLOHMANN_JSON_SERIALIZE_ENUM
@@ -10642,6 +10649,7 @@ class primitive_iterator_t
     static constexpr difference_type begin_value = 0;
     static constexpr difference_type end_value = begin_value + 1;
 
+  JSON_PRIVATE_UNLESS_TESTED:
     /// iterator as signed integer type
     difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
 
@@ -10934,7 +10942,7 @@ class iter_impl
         return *this;
     }
 
-  private:
+  JSON_PRIVATE_UNLESS_TESTED:
     /*!
     @brief set the iterator to the first value
     @pre The iterator is initialized; i.e. `m_object != nullptr`.
@@ -11398,7 +11406,7 @@ class iter_impl
         return operator*();
     }
 
-  private:
+  JSON_PRIVATE_UNLESS_TESTED:
     /// associated JSON instance
     pointer m_object = nullptr;
     /// the actual iterator of the associated instance
@@ -11913,6 +11921,7 @@ class json_pointer
         return static_cast<size_type>(res);
     }
 
+  JSON_PRIVATE_UNLESS_TESTED:
     json_pointer top() const
     {
         if (JSON_HEDLEY_UNLIKELY(empty()))
@@ -11925,6 +11934,7 @@ class json_pointer
         return result;
     }
 
+  private:
     /*!
     @brief create and return a reference to the pointed to value
 
@@ -12361,6 +12371,7 @@ class json_pointer
         {}
     }
 
+  JSON_PRIVATE_UNLESS_TESTED:
     /// escape "~" to "~0" and "/" to "~1"
     static std::string escape(std::string s)
     {
@@ -12376,6 +12387,7 @@ class json_pointer
         replace_substring(s, "~0", "~");
     }
 
+  private:
     /*!
     @param[in] reference_string  the reference string to the current value
     @param[in] value             the value to consider
@@ -15801,7 +15813,7 @@ class serializer
         }
     }
 
-  private:
+  JSON_PRIVATE_UNLESS_TESTED:
     /*!
     @brief dump escaped string
 
@@ -16064,6 +16076,7 @@ class serializer
         }
     }
 
+  private:
     /*!
     @brief count digits
 
@@ -16682,6 +16695,7 @@ class basic_json
     /// workaround type for MSVC
     using basic_json_t = NLOHMANN_BASIC_JSON_TPL;
 
+  JSON_PRIVATE_UNLESS_TESTED:
     // convenience aliases for types residing in namespace detail;
     using lexer = ::nlohmann::detail::lexer_base<basic_json>;
 
@@ -16697,6 +16711,7 @@ class basic_json
                 std::move(cb), allow_exceptions, ignore_comments);
     }
 
+  private:
     using primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t;
     template<typename BasicJsonType>
     using internal_iterator = ::nlohmann::detail::internal_iterator<BasicJsonType>;
@@ -16713,6 +16728,7 @@ class basic_json
     using binary_reader = ::nlohmann::detail::binary_reader<basic_json, InputType>;
     template<typename CharType> using binary_writer = ::nlohmann::detail::binary_writer<basic_json, CharType>;
 
+  JSON_PRIVATE_UNLESS_TESTED:
     using serializer = ::nlohmann::detail::serializer<basic_json>;
 
   public:
@@ -17427,6 +17443,7 @@ class basic_json
     // JSON value storage //
     ////////////////////////
 
+  JSON_PRIVATE_UNLESS_TESTED:
     /*!
     @brief a JSON value
 
@@ -17703,6 +17720,7 @@ class basic_json
         }
     };
 
+  private:
     /*!
     @brief checks the class invariants
 
@@ -23440,7 +23458,7 @@ class basic_json
     }
 
 
-  private:
+  JSON_PRIVATE_UNLESS_TESTED:
     //////////////////////
     // member variables //
     //////////////////////
@@ -25296,6 +25314,7 @@ inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std
 #undef JSON_CATCH
 #undef JSON_THROW
 #undef JSON_TRY
+#undef JSON_PRIVATE_UNLESS_TESTED
 #undef JSON_HAS_CPP_14
 #undef JSON_HAS_CPP_17
 #undef NLOHMANN_BASIC_JSON_TPL_DECLARATION

diff --git a/test/src/unit-allocator.cpp b/test/src/unit-allocator.cpp
index 40361ce00f..ad78b8f9ea 100644
--- a/test/src/unit-allocator.cpp
+++ b/test/src/unit-allocator.cpp
@@ -29,10 +29,9 @@ SOFTWARE.
 
 #include "doctest_compatibility.h"
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 namespace
 {
diff --git a/test/src/unit-class_const_iterator.cpp b/test/src/unit-class_const_iterator.cpp
index 608e6a544e..a972fd4c72 100644
--- a/test/src/unit-class_const_iterator.cpp
+++ b/test/src/unit-class_const_iterator.cpp
@@ -29,10 +29,9 @@ SOFTWARE.
 
 #include "doctest_compatibility.h"
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 TEST_CASE("const_iterator class")
 {
diff --git a/test/src/unit-class_iterator.cpp b/test/src/unit-class_iterator.cpp
index c06ef0a484..b4ef11e436 100644
--- a/test/src/unit-class_iterator.cpp
+++ b/test/src/unit-class_iterator.cpp
@@ -29,10 +29,9 @@ SOFTWARE.
 
 #include "doctest_compatibility.h"
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 TEST_CASE("iterator class")
 {
diff --git a/test/src/unit-class_lexer.cpp b/test/src/unit-class_lexer.cpp
index 15b390cfb8..1a4f8ed754 100644
--- a/test/src/unit-class_lexer.cpp
+++ b/test/src/unit-class_lexer.cpp
@@ -29,10 +29,9 @@ SOFTWARE.
 
 #include "doctest_compatibility.h"
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 namespace
 {
diff --git a/test/src/unit-class_parser.cpp b/test/src/unit-class_parser.cpp
index 07044ed56f..0cffee02ae 100644
--- a/test/src/unit-class_parser.cpp
+++ b/test/src/unit-class_parser.cpp
@@ -29,10 +29,9 @@ SOFTWARE.
 
 #include "doctest_compatibility.h"
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 #include <valarray>
 
diff --git a/test/src/unit-constructor1.cpp b/test/src/unit-constructor1.cpp
index 33bd92c3b6..70b3e40470 100644
--- a/test/src/unit-constructor1.cpp
+++ b/test/src/unit-constructor1.cpp
@@ -30,10 +30,9 @@ SOFTWARE.
 #include "doctest_compatibility.h"
 DOCTEST_GCC_SUPPRESS_WARNING("-Wfloat-equal")
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 #include <deque>
 #include <forward_list>
diff --git a/test/src/unit-convenience.cpp b/test/src/unit-convenience.cpp
index 162ad56d86..c75edac4ea 100644
--- a/test/src/unit-convenience.cpp
+++ b/test/src/unit-convenience.cpp
@@ -29,10 +29,9 @@ SOFTWARE.
 
 #include "doctest_compatibility.h"
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 #include <sstream>
 
diff --git a/test/src/unit-conversions.cpp b/test/src/unit-conversions.cpp
index de8040c87b..c71e230d96 100644
--- a/test/src/unit-conversions.cpp
+++ b/test/src/unit-conversions.cpp
@@ -29,10 +29,9 @@ SOFTWARE.
 
 #include "doctest_compatibility.h"
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 #include <deque>
 #include <forward_list>
diff --git a/test/src/unit-iterators1.cpp b/test/src/unit-iterators1.cpp
index 45a84a07f4..1ff8958fad 100644
--- a/test/src/unit-iterators1.cpp
+++ b/test/src/unit-iterators1.cpp
@@ -29,10 +29,9 @@ SOFTWARE.
 
 #include "doctest_compatibility.h"
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 TEST_CASE("iterators 1")
 {
diff --git a/test/src/unit-json_pointer.cpp b/test/src/unit-json_pointer.cpp
index 61b6e323b6..14d8cd1830 100644
--- a/test/src/unit-json_pointer.cpp
+++ b/test/src/unit-json_pointer.cpp
@@ -29,10 +29,9 @@ SOFTWARE.
 
 #include "doctest_compatibility.h"
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 TEST_CASE("JSON pointers")
 {
diff --git a/test/src/unit-regression1.cpp b/test/src/unit-regression1.cpp
index 18820d1717..9dcc75b092 100644
--- a/test/src/unit-regression1.cpp
+++ b/test/src/unit-regression1.cpp
@@ -33,10 +33,9 @@ DOCTEST_GCC_SUPPRESS_WARNING("-Wfloat-equal")
 // for some reason including this after the json header leads to linker errors with VS 2017...
 #include <locale>
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 #include <fstream>
 #include <sstream>
diff --git a/test/src/unit-regression2.cpp b/test/src/unit-regression2.cpp
index 69e3dea9bc..ca50cdd41d 100644
--- a/test/src/unit-regression2.cpp
+++ b/test/src/unit-regression2.cpp
@@ -33,10 +33,9 @@ DOCTEST_GCC_SUPPRESS_WARNING("-Wfloat-equal")
 // for some reason including this after the json header leads to linker errors with VS 2017...
 #include <locale>
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 #include <fstream>
 #include <sstream>
diff --git a/test/src/unit-unicode.cpp b/test/src/unit-unicode.cpp
index 8e122d5dd3..63a9d5010c 100644
--- a/test/src/unit-unicode.cpp
+++ b/test/src/unit-unicode.cpp
@@ -32,10 +32,9 @@ SOFTWARE.
 // for some reason including this after the json header leads to linker errors with VS 2017...
 #include <locale>
 
-#define private public
+#define JSON_TESTS_PRIVATE
 #include <nlohmann/json.hpp>
 using nlohmann::json;
-#undef private
 
 #include <fstream>
 #include <sstream>

{"test-noexcept": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-large_json": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-testsuites": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-convenience": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-regression2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_fetch_content_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-reference_access": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-wstring": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_import_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-to_chars": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "download_test_data": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ubjson": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_target_include_directories_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-bson": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-allocator": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ordered_json": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_import_minver_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-cbor": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_import_minver_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ordered_map": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-capacity": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_lexer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-udt": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-concepts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-comparison": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-modifiers": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-user_defined_input": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_add_subdirectory_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-unicode": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_iterator": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-hash": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-readme": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_target_include_directories_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-conversions": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-msgpack": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-inspection": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-meta": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-items": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_parser": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_patch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_fetch_content_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-merge_patch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-serialization": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_pointer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-deserialization": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-assert_macro": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-pointer_access": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-alt-string": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-regression1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_import_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-algorithms": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-udt_macro": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_const_iterator": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_add_subdirectory_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"test-noexcept": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-large_json": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-testsuites": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-convenience": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-regression2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_fetch_content_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-reference_access": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-wstring": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_import_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-to_chars": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "download_test_data": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ubjson": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_target_include_directories_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-bson": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-allocator": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ordered_json": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_import_minver_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-cbor": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_import_minver_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-ordered_map": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-capacity": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_lexer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-udt": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-concepts": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-comparison": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-modifiers": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-user_defined_input": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_add_subdirectory_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-unicode": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_iterator": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-hash": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-readme": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_target_include_directories_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-conversions": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-msgpack": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-iterators2": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-inspection": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-meta": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-items": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-constructor1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_parser": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_patch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_fetch_content_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-element_access1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-merge_patch": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-serialization": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-json_pointer": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-deserialization": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-assert_macro": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-pointer_access": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-alt-string": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-regression1": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_import_configure": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-algorithms": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-udt_macro": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "test-class_const_iterator": {"run": "PASS", "test": "NONE", "fix": "PASS"}, "cmake_add_subdirectory_build": {"run": "PASS", "test": "NONE", "fix": "PASS"}}
{"passed_count": 60, "failed_count": 0, "skipped_count": 0, "passed_tests": ["test-noexcept", "test-udt_macro", "test-large_json", "test-testsuites", "test-convenience", "test-regression2", "cmake_fetch_content_build", "test-reference_access", "test-wstring", "cmake_import_build", "test-to_chars", "download_test_data", "test-ubjson", "cmake_target_include_directories_configure", "test-bson", "test-allocator", "test-ordered_json", "test-element_access2", "cmake_import_minver_build", "test-cbor", "cmake_import_minver_configure", "test-ordered_map", "test-capacity", "test-class_lexer", "test-udt", "test-concepts", "test-comparison", "test-class_const_iterator", "test-modifiers", "test-user_defined_input", "test-unicode", "test-class_iterator", "test-constructor2", "test-hash", "test-readme", "cmake_target_include_directories_build", "test-iterators1", "test-conversions", "test-msgpack", "test-iterators2", "test-inspection", "test-meta", "test-items", "test-constructor1", "test-json_patch", "cmake_fetch_content_configure", "test-element_access1", "test-merge_patch", "test-serialization", "test-json_pointer", "test-assert_macro", "test-pointer_access", "cmake_add_subdirectory_configure", "test-alt-string", "test-regression1", "cmake_import_configure", "test-algorithms", "test-class_parser", "test-deserialization", "cmake_add_subdirectory_build"], "failed_tests": [], "skipped_tests": []}
{"passed_count": 0, "failed_count": 0, "skipped_count": 0, "passed_tests": [], "failed_tests": [], "skipped_tests": []}
{"passed_count": 60, "failed_count": 0, "skipped_count": 0, "passed_tests": ["test-noexcept", "test-udt_macro", "test-large_json", "test-testsuites", "test-convenience", "test-regression2", "cmake_fetch_content_build", "test-reference_access", "test-wstring", "cmake_import_build", "test-to_chars", "download_test_data", "test-ubjson", "cmake_target_include_directories_configure", "test-bson", "test-allocator", "test-ordered_json", "test-element_access2", "cmake_import_minver_build", "test-cbor", "cmake_import_minver_configure", "test-ordered_map", "test-capacity", "test-class_lexer", "test-udt", "test-concepts", "test-comparison", "test-class_const_iterator", "test-modifiers", "test-user_defined_input", "test-unicode", "test-class_iterator", "test-constructor2", "test-hash", "test-readme", "cmake_target_include_directories_build", "test-iterators1", "test-conversions", "test-msgpack", "test-iterators2", "test-inspection", "test-meta", "test-items", "test-constructor1", "test-json_patch", "cmake_fetch_content_configure", "test-element_access1", "test-merge_patch", "test-serialization", "test-json_pointer", "test-assert_macro", "test-pointer_access", "cmake_add_subdirectory_configure", "test-alt-string", "test-regression1", "cmake_import_configure", "test-algorithms", "test-class_parser", "test-deserialization", "cmake_add_subdirectory_build"], "failed_tests": [], "skipped_tests": []}