Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TESTING: legacy_test_real13.json parsing failed. #1446

Open
olivier-fs opened this issue Nov 17, 2022 · 2 comments
Open

TESTING: legacy_test_real13.json parsing failed. #1446

olivier-fs opened this issue Nov 17, 2022 · 2 comments

Comments

@olivier-fs
Copy link

Hi!

I'm using latest jsoncpp from master, on a Windows 10 dev box with Visual Studio 2019

Build has been configured with CMake :

cmake -B ~/build/cpp/www-git/jsoncpp -D CMAKE_CONFIGURATION_TYPES=Release \
-D CMAKE_INSTALL_PREFIX=~/build/cpp/www-git/jsoncpp/install -D BUILD_SHARED_LIBS=ON -D JSONCPP_WITH_TESTS=ON \
-D JSONCPP_WITH_POST_BUILD_UNITTEST=ON -D JSONCPP_WITH_EXAMPLE=ON

Everything builds fine, but one test (only one of all tests) in jsoncpp_readerwriter_tests fails :

Excerpts from the output log of "Build Solution" in VS 2019 :

18>C:\Users\olivier\build\cpp\www-git\jsoncpp\bin\Release\jsontestrunner_exe.exe  --json-writer StyledWriter "C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_11.json"
18>C:\Users\olivier\build\cpp\www-git\jsoncpp\bin\Release\jsontestrunner_exe.exe  --json-writer StyledWriter "C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_12.json"
18>C:\Users\olivier\build\cpp\www-git\jsoncpp\bin\Release\jsontestrunner_exe.exe  --json-writer StyledWriter "C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_13.json"
18>Failed to parse input file:
18>* Line 1, Column 2
18>  '-1e+9999' is not a number.
18>
18>C:\Users\olivier\build\cpp\www-git\jsoncpp\bin\Release\jsontestrunner_exe.exe  --json-writer StyledWriter "C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_01.json"
18>C:\Users\olivier\build\cpp\www-git\jsoncpp\bin\Release\jsontestrunner_exe.exe  --json-writer StyledWriter "C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_02.json"
18>C:\Users\olivier\build\cpp\www-git\jsoncpp\bin\Release\jsontestrunner_exe.exe  --json-writer StyledWriter "C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_03.json"
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\fail_invalid_quote.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\fail_test_array_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\fail_test_array_02.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\fail_test_object_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\fail_test_stack_limit.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_array_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_array_02.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_array_03.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_array_04.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_array_05.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_array_06.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_array_07.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_basic_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_basic_02.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_basic_03.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_basic_04.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_basic_05.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_basic_06.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_basic_07.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_basic_08.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_basic_09.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_comment_00.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_comment_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_comment_02.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_complex_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_integer_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_integer_02.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_integer_03.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_integer_04.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_integer_05.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_integer_06_64bits.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_integer_07_64bits.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_integer_08_64bits.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_large_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_object_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_object_02.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_object_03.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_object_04.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_preserve_comment_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_02.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_03.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_04.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_05.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_06.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_07.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_08.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_09.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_10.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_11.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_12.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_13.json parsing failed
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_02.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_03.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_04.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_05.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_unicode_01.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_unicode_02.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_unicode_03.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_unicode_04.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_string_unicode_05.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\test_array_08.json OK
18>TESTING: C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\test_object_05.json OK
18>
18>Failure details:
18>* Test C:\Users\olivier\dev\cpp\www-git\jsoncpp\test\data\legacy_test_real_13.json
18>Parsing failed:
18>
18>
18>Test results: 63 passed, 1 failed.

Not sure what's going on here...

Shouldn't '-1e+9999' be a 'number' as expected by the test ?

@BillyDonahue
Copy link
Contributor

BillyDonahue commented Dec 3, 2022 via email

@olivier-fs
Copy link
Author

Hi!

Not sure about what you mean by "doesn't fail all the time?".

When building jsoncpp_readerwriter_tests in VS 2019 (BTW part of the whole 'Rebuild solution') :

  • Test 'legacy_test_real_13.json' always fails.
  • All other tests always succeed.

And I can add : all jsoncpp_test.exe tests succeed :

$ cd ~/build/cpp/www-git/jsoncpp/bin/Release && ./jsoncpp_test.exe
Testing ValueTest/checkNormalizeFloatingPointStr: OK
Testing ValueTest/memberCount: OK
Testing ValueTest/objects: OK
Testing ValueTest/arrays: OK
Testing ValueTest/resizeArray: OK
Testing ValueTest/resizePopulatesAllMissingElements: OK
Testing ValueTest/getArrayValue: OK
Testing ValueTest/arrayIssue252: OK
Testing ValueTest/arrayInsertAtRandomIndex: OK
Testing ValueTest/null: OK
Testing ValueTest/strings: OK
Testing ValueTest/bools: OK
Testing ValueTest/integers: OK
Testing ValueTest/nonIntegers: OK
Testing ValueTest/compareNull: OK
Testing ValueTest/compareInt: OK
Testing ValueTest/compareUInt: OK
Testing ValueTest/compareDouble: OK
Testing ValueTest/compareString: OK
Testing ValueTest/compareBoolean: OK
Testing ValueTest/compareArray: OK
Testing ValueTest/compareObject: OK
Testing ValueTest/compareType: OK
Testing ValueTest/CopyObject: OK
Testing ValueTest/typeChecksThrowExceptions: OK
Testing ValueTest/offsetAccessors: OK
Testing ValueTest/StaticString: OK
Testing ValueTest/WideString: OK
Testing ValueTest/CommentBefore: OK
Testing ValueTest/zeroes: OK
Testing ValueTest/zeroesInKeys: OK
Testing ValueTest/specialFloats: OK
Testing ValueTest/precision: OK
Testing ValueTest/searchValueByPath: OK
Testing FastWriterTest/dropNullPlaceholders: OK
Testing FastWriterTest/enableYAMLCompatibility: OK
Testing FastWriterTest/omitEndingLineFeed: OK
Testing FastWriterTest/writeNumericValue: OK
Testing FastWriterTest/writeArrays: OK
Testing FastWriterTest/writeNestedObjects: OK
Testing StyledWriterTest/writeNumericValue: OK
Testing StyledWriterTest/writeArrays: OK
Testing StyledWriterTest/writeNestedObjects: OK
Testing StyledWriterTest/multiLineArray: OK
Testing StyledWriterTest/writeValueWithComment: OK
Testing StyledStreamWriterTest/writeNumericValue: OK
Testing StyledStreamWriterTest/writeArrays: OK
Testing StyledStreamWriterTest/writeNestedObjects: OK
Testing StyledStreamWriterTest/multiLineArray: OK
Testing StyledStreamWriterTest/writeValueWithComment: OK
Testing StreamWriterTest/writeNumericValue: OK
Testing StreamWriterTest/writeArrays: OK
Testing StreamWriterTest/writeNestedObjects: OK
Testing StreamWriterTest/multiLineArray: OK
Testing StreamWriterTest/dropNullPlaceholders: OK
Testing StreamWriterTest/enableYAMLCompatibility: OK
Testing StreamWriterTest/indentation: OK
Testing StreamWriterTest/writeZeroes: OK
Testing StreamWriterTest/unicode: OK
Testing StreamWriterTest/escapeControlCharacters: OK
Testing StreamWriterTest/escapeTabCharacterWindows: OK
Testing ReaderTest/parseWithNoErrors: OK
Testing ReaderTest/parseObject: OK
Testing ReaderTest/parseArray: OK
Testing ReaderTest/parseString: OK
Testing ReaderTest/parseComment: OK
Testing ReaderTest/streamParseWithNoErrors: OK
Testing ReaderTest/parseWithNoErrorsTestingOffsets: OK
Testing ReaderTest/parseWithOneError: OK
Testing ReaderTest/parseSpecialFloat: OK
Testing ReaderTest/strictModeParseNumber: OK
Testing ReaderTest/parseChineseWithOneError: OK
Testing ReaderTest/parseWithDetailError: OK
Testing ReaderTest/pushErrorTest: OK
Testing ReaderTest/allowNumericKeysTest: OK
Testing CharReaderTest/parseWithNoErrors: OK
Testing CharReaderTest/parseWithNoErrorsTestingOffsets: OK
Testing CharReaderTest/parseNumber: OK
Testing CharReaderTest/parseString: OK
Testing CharReaderTest/parseComment: OK
Testing CharReaderTest/parseObjectWithErrors: OK
Testing CharReaderTest/parseArrayWithErrors: OK
Testing CharReaderTest/parseWithOneError: OK
Testing CharReaderTest/parseChineseWithOneError: OK
Testing CharReaderTest/parseWithDetailError: OK
Testing CharReaderTest/parseWithStackLimit: OK
Testing CharReaderTest/testOperator: OK
Testing CharReaderStrictModeTest/dupKeys: OK
Testing CharReaderFailIfExtraTest/issue164: OK
Testing CharReaderFailIfExtraTest/issue107: OK
Testing CharReaderFailIfExtraTest/commentAfterObject: OK
Testing CharReaderFailIfExtraTest/commentAfterArray: OK
Testing CharReaderFailIfExtraTest/commentAfterBool: OK
Testing CharReaderFailIfExtraTest/parseComment: OK
Testing CharReaderAllowDropNullTest/issue178: OK
Testing CharReaderAllowNumericKeysTest/allowNumericKeys: OK
Testing CharReaderAllowSingleQuotesTest/issue182: OK
Testing CharReaderAllowZeroesTest/issue176: OK
Testing CharReaderAllowSpecialFloatsTest/specialFloat: OK
Testing CharReaderAllowSpecialFloatsTest/issue209: OK
Testing EscapeSequenceTest/readerParseEscapeSequence: OK
Testing EscapeSequenceTest/charReaderParseEscapeSequence: OK
Testing EscapeSequenceTest/writeEscapeSequence: OK
Testing BuilderTest/settings: OK
Testing BomTest/skipBom: OK
Testing BomTest/notSkipBom: OK
Testing IteratorTest/convert: OK
Testing IteratorTest/decrement: OK
Testing IteratorTest/reverseIterator: OK
Testing IteratorTest/distance: OK
Testing IteratorTest/nullValues: OK
Testing IteratorTest/staticStringKey: OK
Testing IteratorTest/names: OK
Testing IteratorTest/indexes: OK
Testing IteratorTest/constness: OK
Testing RValueTest/moveConstruction: OK
Testing FuzzTest/fuzzDoesntCrash: OK
Testing MemberTemplateAs/BehavesSameAsNamedAs: OK
Testing MemberTemplateIs/BehavesSameAsNamedIs: OK
Testing VersionTest/VersionNumbersMatch: OK
All 120 tests passed

So only that specific 'legacy_test_real_13.json' test fails.

My question "Shouldn't '-1e+9999' be a 'number' as expected by the test ?"
was based on the output of the test : " '-1e+9999' is not a number."
and the "failed" test result.

I'm not sure what is actually expected here... The scientific notation looks ok but the exponent is huge.

My intent is to warn : That specific test fails, and it is the only one, so whatever the reason it looks unexpected to the author of the tests.

My build configuration : x64 / Release, with VS Enterprise 2019 latest version 16.11.21, CMake 3.25.1.

P.S. jsoncpp is otherwise perfectly functional for my use cases 8-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants