Description
Hi! I package nlohmann-json for Arch Linux. Upon building version 3.8.0 I ran the unit tests, but some fail.
For the last stable release (3.7.3) I used the below described workflow and the unit tests pass. Maybe something has changed in the meantime?
What is the issue you have?
Executing test-algorithms...
[doctest] doctest version is "2.3.7"
[doctest] run with "--help" for options
===============================================================================
[doctest] test cases: 1 | 1 passed | 0 failed | 0 skipped
[doctest] assertions: 39 | 39 passed | 0 failed |
[doctest] Status: SUCCESS!
Executing test-allocator...
[doctest] doctest version is "2.3.7"
[doctest] run with "--help" for options
===============================================================================
[doctest] test cases: 3 | 3 passed | 0 failed | 0 skipped
[doctest] assertions: 17 | 17 passed | 0 failed |
[doctest] Status: SUCCESS!
Executing test-alt-string...
[doctest] doctest version is "2.3.7"
[doctest] run with "--help" for options
===============================================================================
[doctest] test cases: 1 | 1 passed | 0 failed | 0 skipped
[doctest] assertions: 28 | 28 passed | 0 failed |
[doctest] Status: SUCCESS!
Executing test-bson...
[doctest] doctest version is "2.3.7"
[doctest] run with "--help" for options
===============================================================================
[doctest] test cases: 6 | 6 passed | 0 failed | 1 skipped
[doctest] assertions: 486 | 486 passed | 0 failed |
[doctest] Status: SUCCESS!
Executing test-capacity...
[doctest] doctest version is "2.3.7"
[doctest] run with "--help" for options
===============================================================================
[doctest] test cases: 1 | 1 passed | 0 failed | 0 skipped
[doctest] assertions: 120 | 120 passed | 0 failed |
[doctest] Status: SUCCESS!
Executing test-cbor...
[doctest] doctest version is "2.3.7"
[doctest] run with "--help" for options
===============================================================================
src/unit-cbor.cpp:1912:
TEST CASE: single CBOR roundtrip
sample.json
src/unit-cbor.cpp:1912: ERROR: test case THREW exception: exception thrown in subcase - will translate later when the whole test case has been exited (cannot translate while there is an active exception)
===============================================================================
src/unit-cbor.cpp:1912:
TEST CASE: single CBOR roundtrip
src/unit-cbor.cpp:1912: ERROR: test case THREW exception: [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal
===============================================================================
src/unit-cbor.cpp:2350:
TEST CASE: examples from RFC 7049 Appendix A
byte arrays
src/unit-cbor.cpp:2500: ERROR: CHECK_NOTHROW( j = json::from_cbor(packed) ) THREW exception: "[json.exception.parse_error.110] parse error at byte 1: syntax error while parsing CBOR value: unexpected end of input"
src/unit-cbor.cpp:2505: ERROR: CHECK( j == json::binary(expected) ) is NOT correct!
values: CHECK( null == {"bytes":[],"subtype":null} )
===============================================================================
[doctest] test cases: 5 | 3 passed | 2 failed | 1 skipped
[doctest] assertions: 1640832 | 1640830 passed | 2 failed |
[doctest] Status: FAILURE!
Full build log:
nlohmann-json-3.8.0-build.log
Please describe the steps to reproduce the issue.
I'm cloning this repository from the commit (as no annotated tags exist) and verify the lightweight tag/commit using the author's PGP signature.
I'm building with:
cmake -DCMAKE_INSTALL_PREFIX='/usr' \
-DCMAKE_INSTALL_LIBDIR='/usr/lib' \
-DCMAKE_BUILD_TYPE='None' \
-DBUILD_TESTING=ON \
-DJSON_MultipleHeaders=ON \
-Wno-dev \
-B build \
-S .
make VERBOSE=1 -C build
Additional to the above I run the following to get pkgconfig integration (but that has nothing to do with the tests):
meson --prefix=/usr \
--libdir=lib \
meson-build
ninja -C meson-build
I run tests with:
make -k check
Note:
When running the test suite using ctest (e.g. as in use in the travis integration)
Lines 324 to 328 in e7452d8
No tests are collected:
UpdateCTestConfiguration from :/build/nlohmann-json/src/nlohmann-json-3.8.0/DartConfiguration.tcl
UpdateCTestConfiguration from :/build/nlohmann-json/src/nlohmann-json-3.8.0/DartConfiguration.tcl
Test project /build/nlohmann-json/src/nlohmann-json-3.8.0
Constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
No tests were found!!!
Can you provide a small but working code example?
n/a
What is the expected behavior?
All unit-tests pass
And what is the actual behavior instead?
Some unit-cbor
unit tests fail.
Which compiler and operating system are you using?
- Compiler: gcc 10.1.0
- Operating system: Arch Linux
Which version of the library did you use?
- latest release version 3.7.3
- other release - please state the version: 3.8.0
- the
develop
branch
If you experience a compilation error: can you compile and run the unit tests?
- yes
- no - please copy/paste the error message below
see above