Commit graph

646 commits

Author SHA1 Message Date
Niels Lohmann dd45ba6f89 🚧 renamed version() to meta() 2017-01-08 09:19:44 +01:00
Alex Astashyn c236b596c9 Merge upstream/develop into feature/locale_independent_str_to_num 2017-01-04 19:20:16 -05:00
Alex Astashyn 949061079a Merge upstream/develop into feature/locale_independent_num_to_str 2017-01-04 18:55:19 -05:00
Niels Lohmann e1b89dd1d6 Merge branch 'develop' into feature/release_information 2017-01-04 20:06:23 +01:00
Niels Lohmann cdd3b5a68c 🚑 fix for #416 2017-01-03 23:52:01 +01:00
Niels Lohmann f8d640b185 👷 better support for OSS-Fuzz 2017-01-03 22:35:31 +01:00
Niels Lohmann 245a69d554 💄 ran clang-tidy 2017-01-03 21:33:23 +01:00
Niels Lohmann ea4d71ee21 Merge branch 'develop' into feature/release_information 2017-01-02 17:26:00 +01:00
Niels Lohmann 8b46eb8ec0 📄 it's 2017 already 2017-01-02 09:40:00 +01:00
Niels Lohmann 60b3703c62 🔖 version bump to 2.0.10 2017-01-02 09:35:57 +01:00
Niels Lohmann d173517212 💄 clean up 2017-01-02 09:21:26 +01:00
Niels Lohmann a3063c2419 🚧 added target to build all fuzzers 2017-01-01 21:51:36 +01:00
Niels Lohmann 09b91406c6 🔀 merge pull request #410 from Daniel599/feature/clang_sanitize
Feature/clang sanitize
2017-01-01 19:45:11 +01:00
Niels Lohmann cf9bf2d913 🚑 fix for #411 and #412 2017-01-01 15:28:01 +01:00
Daniel Cohen ff3221a375 #394 fixed memory leak in unit-allocator, found by clang's fsanitize 2016-12-30 15:21:25 +02:00
Niels Lohmann 328eb55dc4 🚧 started working on #397 2016-12-30 14:02:51 +01:00
Niels Lohmann d7029c37aa improved test coverage 2016-12-30 13:04:33 +01:00
Niels Lohmann f0edab2363 🚑 fix for #408 2016-12-29 17:00:02 +01:00
Niels Lohmann 383a29a924 🚑 fix for #407 2016-12-29 16:14:15 +01:00
Niels Lohmann 871cebaf84 🚑 fix for #405 2016-12-29 15:39:16 +01:00
Niels Lohmann 1dd99d04b6 Merge branch 'develop' into feature/fuzzer 2016-12-28 12:19:12 +01:00
Niels Lohmann 888f5b9f60 🚚 renamed test files to allow windows build 2016-12-28 12:18:48 +01:00
Niels Lohmann 55be721615 Merge branch 'develop' into feature/fuzzer 2016-12-28 12:11:51 +01:00
Niels Lohmann acb7e0558d 🚑 fixed bugs detected by AFL-Fuzz 2016-12-28 12:09:15 +01:00
Niels Lohmann 1399abc583 🚧 added MessagePack fuzz target 2016-12-25 16:18:56 +01:00
Niels Lohmann 6de9d4035a 🐛 fixed AFL driver to also read binary data 2016-12-25 16:06:56 +01:00
Niels Lohmann 33be4e7f1f 🚧 cleanup 2016-12-22 12:08:36 +01:00
Niels Lohmann a084e90f39 🔨 split AFL test in driver and test file 2016-12-22 11:09:26 +01:00
Niels Lohmann 048330b14b ⬆️ Catch v1.5.9 2016-12-22 09:37:15 +01:00
Niels Lohmann 22a6b956e8 📄 added license for Catch 2016-12-22 09:36:34 +01:00
Niels Lohmann ad241a2260 🔨 moved third-party code into separate folder 2016-12-22 09:35:53 +01:00
Niels Lohmann 6e8791912f 🚧 added fuzzer from OSS-Fuzz 2016-12-22 09:09:40 +01:00
Niels Lohmann 69ed19e483 added libFuzzer 2016-12-22 09:08:50 +01:00
Niels Lohmann 303e873ae8 🔖 bumped version to 2.0.9 2016-12-16 20:45:46 +01:00
Niels Lohmann 2f94c30bad added a regression test for #380 / #390 2016-12-13 21:46:07 +01:00
Alex Astashyn 6fba52b6da Merged upstream/develop into feature/locale_independent_str_to_num 2016-12-12 20:27:15 -05:00
Alex Astashyn 65b9b0c429 Disabling snprintf pre-check, since can't get locale-specific behavior to manifest in AppVeyor 2016-12-12 19:50:21 -05:00
Alex Astashyn 0f8de48ddb Disabling strtod pre-check, since can't get locale-specific behavior to manifest in AppVeyor 2016-12-12 19:48:14 -05:00
Niels Lohmann 79fa8b2f41 🚑 fix to address #389 2016-12-12 23:19:43 +01:00
Niels Lohmann 447e01427d 🚨 fixed some warnings 2016-12-12 18:21:17 +01:00
Niels Lohmann dc6fc3e079 📝 clean up and added documentation for #358 2016-12-11 13:36:08 +01:00
Niels Lohmann fdce38fa79 fixed a test case 2016-12-11 00:39:26 +01:00
Niels Lohmann e8c903294f more test cases for CBOR and msgpack 2016-12-11 00:05:29 +01:00
Niels Lohmann 41673e8fed 🐛 fixed CBOR code and added test cases 2016-12-10 23:12:57 +01:00
Niels Lohmann d99c230f51 implemented indefinite-length CBOR types (#387) 2016-12-10 18:32:56 +01:00
Alex Astashyn 01930357f7 Tweaking unit test, as digits grouping is failing to be invoked in CI 2016-12-08 22:39:38 -05:00
Alex Astashyn 1c029b97c0 Still trying to invoke locale-specific behavior in CI 2016-12-08 22:13:05 -05:00
Alex Astashyn 50f0484ad5 Added unit test for issue #378 2016-12-07 20:23:25 -05:00
Alex Astashyn 27d9740ad6 Tweaks to unit-test for issue #379 2016-12-07 19:55:07 -05:00
Niels Lohmann 81a4272444 more test cases for CBOR 2016-12-07 23:14:37 +01:00
Niels Lohmann 3a0f5398a2 more CBOR test cases 2016-12-07 22:50:10 +01:00
Niels Lohmann b7e0c12966 CBOR support for half-precision floats 2016-12-07 21:43:59 +01:00
Niels Lohmann 17c9b17a7e test cases from RFC 7049 #384 2016-12-07 21:25:22 +01:00
Niels Lohmann de289ea336 💚 another approach to the AppVeyor error 2016-12-07 19:15:05 +01:00
Niels Lohmann 81c43dca6a 💚 more AppVeyor fixes 2016-12-07 16:51:15 +01:00
Niels Lohmann 3f14a09e73 💚 another try to fix the AppVeyor build 2016-12-07 16:43:55 +01:00
Niels Lohmann 74571d531c 💚 still fixing the AppVeyor error 2016-12-07 16:34:02 +01:00
Niels Lohmann 2c7946f2bc 💚 hopefully fixed an error on AppVeyor 2016-12-07 16:21:22 +01:00
Niels Lohmann 474da6b28f  more msgpack test cases 2016-12-07 13:47:08 +01:00
Niels Lohmann be973e52bb more msgpack test cases 2016-12-07 09:19:46 +01:00
Niels Lohmann a1693bfe48 Merge branch 'develop' into feature/messagepack 2016-12-07 08:39:57 +01:00
Alex Astashyn 6774457733 Trying to coerce setlocale to make snprintf use commas as delimiter some more 2016-12-06 22:59:12 -05:00
Alex Astashyn d2e9ce270a Trying to coerce setlocale to make snprintf use commas as delimiter; the behavior appears to be compiler/platform-specific 2016-12-06 22:18:20 -05:00
Alex Astashyn 6e8da7d8c4 Added unit-test for issue #379 (locale-independent str-to-num) 2016-12-06 19:45:48 -05:00
Alex Astashyn 2197856395 Fixed suffixing .0 and modified the unit tests accordingly 2016-12-04 01:38:23 -05:00
Alex Astashyn 6b78b5c2be Added strtonum for locale-independent number parsing 2016-12-03 19:05:09 -05:00
Niels Lohmann 4adb8a81bf 📝 version bump 2016-12-02 18:39:35 +01:00
Niels Lohmann ba3c5e1a25 more test cases 2016-11-29 09:49:05 +01:00
Niels Lohmann c46b4ea990 more test cases 2016-11-29 08:37:27 +01:00
Niels Lohmann ee0f23fdc6 🚧 bug fixes and more tests 2016-11-28 23:20:03 +01:00
Niels Lohmann aeb4f87a27 added return value for emplace (#349) 2016-11-28 18:33:46 +01:00
Niels Lohmann 6ecff31b7f Merge branch 'develop' into feature/emplace 2016-11-28 18:00:10 +01:00
Niels Lohmann bc238124ee 🚧 further simplifications 2016-11-27 21:42:21 +01:00
Niels Lohmann 4c232fe12b 👷 added precondition for individual tests 2016-11-27 19:11:58 +01:00
Niels Lohmann 56843eb7ba Merge branch 'feature/individual_tests' into feature/messagepack 2016-11-27 18:28:23 +01:00
Niels Lohmann 93589e630c CBOR roundtrip tests 2016-11-27 17:47:56 +01:00
Niels Lohmann e1f98fbfc0 🚧 splitting tests into several binaries 2016-11-27 16:19:26 +01:00
Niels Lohmann eef408e5fb tests for CBOR 2016-11-27 00:09:24 +01:00
Niels Lohmann 87e088990b Merge branch 'develop' into feature/messagepack 2016-11-26 18:17:18 +01:00
Niels Lohmann 1ed510c232 Merge branch 'develop' into feature/filenotfound 2016-11-25 17:39:24 +01:00
Niels Lohmann c39c36e6ad 💄 fixed indentation 2016-11-24 22:05:29 +01:00
Niels Lohmann 8014637ad1 added a test for EOF error (#367) 2016-11-24 21:53:41 +01:00
Niels Lohmann 4bb41d065b 🐛 parsing erroneous files yields an exception (#366) 2016-11-23 16:57:01 +01:00
Niels edc81f3bc1 💚 restored test call 2016-11-16 22:49:25 +01:00
Niels d362a07239 💚 moved sample.json to standard test suite to run it with Valgrind 2016-11-16 22:49:16 +01:00
Niels a9744f3937 💚 is sample.json killing AppVeyor? 2016-11-16 22:08:21 +01:00
Niels 0c9ab9427f 💚 added verbose message to check AppVeyor build 2016-11-16 22:02:38 +01:00
Niels 05e916717b Merge branch 'develop' into feature/messagepack 2016-11-16 19:16:36 +01:00
Niels 693bfe439b Merge branch 'develop' into feature/emplace 2016-11-16 19:16:16 +01:00
Niels 0d72767b3e ⬆️ updated to Catch v1.5.8 2016-11-16 19:15:54 +01:00
Niels 1be73b903e proposal for emplace/emplace_back (#349) 2016-11-11 19:29:14 +01:00
Niels d1e73ce954 hid an expensive test case 2016-11-11 17:31:37 +01:00
Niels 543745a10e starting to integrate MessagePack (#358) 2016-11-11 17:11:13 +01:00
Niels 700977d73e version bump 2016-11-02 20:52:15 +01:00
Niels 3716a2fbe8 Merge branch 'develop' into feature/jsontestsuite 2016-11-02 17:03:12 +01:00
Niels 737d43724f Merge branch 'feature/issue329' into develop 2016-11-02 16:59:23 +01:00
Niels 59c8343851 cleanup 2016-11-02 15:44:46 +01:00
Niels 8f70525374 more test coverage 2016-10-30 17:46:00 +01:00
Niels 7adccde714 improved coverage and updated README 2016-10-30 17:10:11 +01:00
Niels 8d1e65f297 evaluated i-tests (#344) 2016-10-30 16:07:17 +01:00
Niels 7b4e6cf705 added implementation-specific tests (#344) 2016-10-30 12:08:29 +01:00
Niels a8136c578a fixed BOM handling #344 2016-10-29 21:08:30 +02:00
Niels b820bb3b1f fixed a lot of unicode errors (#344)
BOMs currently yield an error.
2016-10-29 19:35:17 +02:00
Niels b03bbe724d added n test cases (#344) 2016-10-29 14:02:33 +02:00
Niels 42ea4fb751 fixed a bug for short input files (#344)
For input files with less than 5 bytes, the parser had a bug so that
refilling the input buffer led to erasing it.
2016-10-29 13:32:36 +02:00
Niels 2fdba9de19 added "y" cases 2016-10-26 23:45:11 +02:00
Niels a2808322c6 add test files from https://github.com/nst/JSONTestSuite 2016-10-26 18:57:56 +02:00
Niels 606098f45d release 2.0.6 2016-10-15 16:47:45 +02:00
Niels d91067220f added missing overflow check for #329 2016-10-13 21:00:48 +02:00
Niels 470197bd0b improve test coverage 2016-10-10 21:58:31 +02:00
Niels 2fa8ea0f74 started fixing #323 2016-10-08 14:27:28 +02:00
Vasil Dimov b5128b1610
Fix usage examples' comments for std::multiset 2016-10-04 18:53:44 +03:00
Niels d6005e59a5 added fuzzing results 2016-10-02 11:23:47 +02:00
Niels 3d104f1d43 version bump 2016-09-14 23:06:39 +02:00
Niels 6bbcdc1ec5 fixes #310 2016-09-14 22:48:12 +02:00
Niels 7b6cba23f3 results for #307 2016-09-12 21:23:12 +02:00
Niels 768d66560e version bump 2016-09-11 23:36:59 +02:00
Niels f922426ec3 fixed #304 2016-09-11 22:40:51 +02:00
Niels 2daab5a4c2 fixed #306 2016-09-11 22:30:08 +02:00
Niels 42be2edd4c fixed test coverage 2016-09-01 00:29:42 +02:00
Niels df9fd6237e release 2.0.3 2016-08-31 21:27:23 +02:00
Niels 58cbf4b3ef added another test case 2016-08-31 18:23:46 +02:00
Niels ae7aaed4ac Merge branch 'develop' into feature/iterator_range_parsing 2016-08-31 18:07:18 +02:00
Niels a485aa8d27 cleanup and improvement of branch coverage 2016-08-30 23:44:15 +02:00
Thomas Braun e0ff1a837c unit-constructor1.cpp: Fix floating point truncation warning 2016-08-25 00:24:33 +02:00
Niels 1d66ab9f7a fixed lexer issue which required null byte at the end of contiguous storage containers #290 2016-08-23 22:38:05 +02:00
Niels cda84ba323 Merge branch 'develop' into feature/iterator_range_parsing 2016-08-21 23:15:27 +02:00
Niels 1e896eb91e improved code coverage 2016-08-21 22:38:56 +02:00
Niels aa7f5ad8b1 minor changes 2016-08-21 21:48:15 +02:00
Niels 585a39a235 improved branch coverage 2016-08-21 14:39:54 +02:00
Niels b4571360df more on #290 2016-08-21 12:35:40 +02:00
Niels eef8059003 allowing parsing from contiguous containers 2016-08-20 20:29:33 +02:00
Niels 628a5eae50 reset build file 2016-08-17 22:33:26 +02:00
Niels f40f81c87e forgot a semicolon 2016-08-17 21:44:53 +02:00
Niels c0922c7aac /Wall 2016-08-17 21:43:28 +02:00
Niels 35f22e8596 checking MSVC compiler flags 2016-08-17 21:38:19 +02:00
Niels a78eaa27b5 fixed unit tests 2016-08-17 21:31:59 +02:00
Niels 5e67f7af01 added a first version of a parser for #290 2016-08-15 22:44:14 +02:00
Niels dfc2c1abe5 added assertion for contiguous memory 2016-08-14 23:38:20 +02:00
Niels 92ee1d56eb cleanup 2016-08-14 21:59:41 +02:00
Niels 4871e39415 spell fix 2016-08-14 17:52:21 +02:00
Niels 7b42c973bd fix for MSVC 2016-08-14 17:34:58 +02:00
Niels c9e5d56c9c fix for MSVC 2016-08-14 17:30:53 +02:00
Niels 01386b3977 cleanup 2016-08-14 17:23:15 +02:00
Niels b76f5506d7 added a parser for continguous containers 2016-08-14 14:18:25 +02:00
Niels 46174879ef clean up 2016-08-10 22:41:09 +02:00
Niels d02e67d4a9 coveralls with lcov 2016-08-10 20:56:26 +02:00
Niels b1c1fe9d39 added Clang 3.8 2016-08-10 16:22:53 +02:00
Niels 38f562af2a reorganization into smaller test units 2016-08-04 22:51:08 +02:00
Niels ff592c6d50 adjusted warning flags 2016-08-04 22:05:05 +02:00
Niels 91b6e223d9 adjusted capacity test cases 2016-08-04 22:04:55 +02:00
Niels d80329034e split test suite in one file per test case 2016-08-04 21:55:47 +02:00
Niels be5cf0e3ba forgot to pass CPPFLAGS 2016-08-04 07:33:44 +02:00
Niels 5541e6f6f9 split unit tests 2016-08-04 07:24:46 +02:00
Niels a05df038cd prepared release 2016-07-31 13:37:04 +02:00
Niels 148fed1e63 minor change 2016-07-25 18:06:59 +02:00
Niels a01ec918ac minor changes 2016-07-25 16:21:15 +02:00
Niels 369671f028 added more Unicode tests 2016-07-25 16:05:58 +02:00
Niels 84673b7de3 added test case from issue #283 2016-07-24 11:08:39 +02:00
Niels e2aa2d2189 improved test coverage 2016-07-24 11:01:47 +02:00
Niels 75dbbc55cf started to implement #283 2016-07-23 09:59:09 +02:00
Niels ddfe86cc49 fixed a bug that was found in the discussion of #274 2016-07-22 21:40:58 +02:00
Niels 4e7501e59a minor changes
- fixed a bug that did not discard strings with control characters
between 0x10 and 0x1f
- added termination proofs for two important loops
- made get_ref() constexpr
2016-07-22 15:34:45 +02:00
Niels 1286d35767 make sure precision is reset on output streams during serialization 2016-07-20 20:07:45 +02:00
Niels 28644bada0 removed std::out output from test cases 2016-07-01 17:25:56 +02:00
Niels d2475f9010 bumped version number 2016-06-28 21:44:03 +02:00
Niels 7214243d89 reset locale (for #272) 2016-06-28 19:18:23 +02:00
Niels 420659f187 addressing #272 2016-06-28 10:42:17 +02:00
Niels 0767290c26 off-by-one error in the documentation 2016-06-24 08:06:41 +02:00
Niels 04a80a8f60 Merge branch 'develop' into feature/undo-number-roundtrip 2016-06-23 05:57:41 +02:00
Niels 7cff6c8771 Merge branch 'develop' into feature/issue269
# Conflicts:
#	README.md
2016-06-23 00:04:55 +02:00
Niels 6f76c9237b overworked ChangeLog and README 2016-06-22 22:20:55 +02:00
Niels ecf84dddb1 test case for #269 2016-06-22 20:40:15 +02:00
Niels 90b46868b5 Merge branch 'develop' into feature/undo-number-roundtrip 2016-06-19 18:27:07 +02:00
Niels 8c48ef1f73 updated to Catch v1.5.6 2016-06-19 18:25:43 +02:00
Niels b47fdf88ee Merge branch 'develop' into feature/undo-number-roundtrip 2016-06-19 17:59:53 +02:00
Niels 4ff27b207e fixed two typos 2016-06-19 17:56:58 +02:00
Niels ad7a419a03 removed roundtripping of floats (#230) 2016-06-19 17:13:13 +02:00
Robert Marki 639d63217e Define CMake/CTest tests
Instead of copying the test executable and the JSON files used by
the tests at install time, define CMake/CTest tests for running
the json_unit executable from any build directory with the project's
source directory as its working directory.

- call enable_testing in the main lists file to allow the definition
of tests
- remove install commands from the test directory's lists file
- define two tests
  - json_unit_default for running the default tests by executing
json_unit without any arguments
  - json_unit_all for running all the tests by executing json_unit
with the "*" argument
- update the AppVeyor configuration file to use the new testing method
2016-05-18 11:53:49 +02:00
Chris Kitching 527a69bb64
Install the test binary and test data. Fixes #241
The resulting install tree, when tests are enabled, looks like this:

```
.
├── cmake
│   ├── nlohmann_jsonConfig.cmake
│   ├── nlohmann_jsonConfigVersion.cmake
│   └── nlohmann_jsonTargets.cmake
├── include
│   └── nlohmann
│       └── json.hpp
└── test
    ├── bin
    │   └── json_unit
    └── data
        ├── json_nlohmann_tests
        │   ├── all_unicode.json
        │   └── bom.json
        ├── json.org
        │   ├── 1.json
        │   ├── ...
        ├── json_roundtrip
        │   ├── roundtrip01.json
        │   ├── roundtrip02.json
        │   └── ...
        ├── json_tests
        │   ├── fail10.json
        │   └── ...
        └── json_testsuite
            └── sample.json
```

It has the property that you can invoke the test binary from the
root of the install tree and the tests work correctly (you no
longer depend on the test binary being run inside the source
tree).

If tests are disabled, the entire `test/` subtree is omitted.
Notice how that yields exactly what you want for using this
library in other projects.

I do not believe I need to update travis due to this change, as the
evil Makefile continues to do in-tree builds. I expect I'll find
out soon enough.
2016-05-11 01:43:42 +01:00
Chris Kitching af76508fe7
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...
2016-05-11 01:30:08 +01:00
Chris Kitching bf7b6d15c7
Unset execute bit on sample.json 2016-05-11 01:10:29 +01:00
Niels 9ecf83f630 working on #235 2016-05-08 20:28:20 +02:00
Niels fadf286653 added test case for std::bad_alloc 2016-05-08 14:35:32 +02:00
Niels 85a30813c8 removed unnecessary code (numbers must not begin with "+") 2016-05-07 20:22:58 +02:00
Niels c04275966f improved test coverage 2016-05-07 18:33:43 +02:00
Niels f4ecceab19 cleanup 2016-04-30 00:12:19 +02:00
Niels 1d3b4dd158 added test cases 2016-04-30 00:03:47 +02:00
Niels 5e0bf75d60 cleanup, test, and diff 2016-04-25 23:17:04 +02:00
Niels fb54e212b6 clean up and added tests 2016-04-24 19:03:33 +02:00
Niels 09e9f6dcd4 implemented "move" 2016-04-24 17:43:27 +02:00
Niels 855cf2307b extended "add" to cope with arrays 2016-04-24 16:51:06 +02:00
Niels 397ada22d3 implemented remove 2016-04-20 16:52:00 +02:00
Niels fa03cf0c63 replace and copy 2016-04-20 15:41:33 +02:00
Niels 70fc5835cb started implementing JSON Patch (RFC 6902) 2016-04-18 22:41:36 +02:00
Niels 1dee40a969 fixed test case 2016-04-17 22:34:39 +02:00
Niels 6268287940 improved documentation and test coverage 2016-04-17 22:08:21 +02:00
Niels 7034ae2486 improved test coverage 2016-04-17 19:12:12 +02:00
Niels 0835eb293f improved RFC compliance and code coverage 2016-04-17 18:54:54 +02:00
Niels 40e899a819 cleanup and documentation 2016-04-17 17:39:35 +02:00