John Keiser
a33bf40a7d
Add tests for sibling indexing detection
2021-02-05 16:39:52 -08:00
John Keiser
3801ea7777
Disable all OUT_OF_ORDER_ITERATION checks when SIMDJSON_API_USAGE_CHECKS
...
is off
2021-02-05 16:39:44 -08:00
John Keiser
e4626d233c
Descend into fields at the value position, not the key
2021-02-05 10:18:01 -08:00
John Keiser
9934f65987
Store start index of each depth for safety
2021-02-05 10:17:28 -08:00
John Keiser
b2de2dfd1b
Merge pull request #1416 from simdjson/jkeiser/safe-iterators-2
...
Add safety checks for out of order array/object iteration+indexing
2021-02-05 09:47:03 -08:00
John Keiser
3f2639a655
Merge pull request #1414 from simdjson/jkeiser/array-assert
...
Fix #1409 (assert when trying to get one value as multiple types)
2021-02-05 09:45:49 -08:00
Daniel Lemire
5449365658
This should make issue 1370 easier to track. ( #1429 )
...
* This should make issue 1370 easier to track.
* Avoiding exceptions.
2021-02-02 16:12:16 -05:00
Daniel Lemire
777202e1f1
Why would you use a reference when looping? ( #1422 )
...
* Why would you use a reference?
* I missed a few cases.
2021-02-01 12:30:36 -05:00
John Keiser
1bfbb6448a
Check out-of-order error in object index
2021-01-26 20:49:14 -08:00
John Keiser
fe726b0f80
Split up ondemand_dom_api_tests for sanitize build times
2021-01-26 19:42:37 -08:00
John Keiser
18ecc0032d
Reenable test that is now working
2021-01-26 15:15:09 -08:00
John Keiser
1a1532c8cc
Return INCORRECT_TYPE when numbers fail to parse
...
Also add tests for trying to get multiple types in a row
2021-01-26 14:59:13 -08:00
John Keiser
e6d2b7759a
Fix assertion when getting array after failing to get a scalar
...
Also remove distinction between & and && for array start, acting like
other types
2021-01-26 14:09:54 -08:00
Daniel Lemire
2a714f4e37
Hide the std::pair inheritance in our result instances ( #1396 )
...
* Fixing issue 1243
* The tie must go.
* Having std::pair be a protected inheritance breaks on demand.
* Putting it back.
* You really want to use emplace.
* Fixing one botched test.
* Prettier test.
* Using safer code.
* Fixing unsafe code.
* Simplifying the fuzzer.
* Trying another way.
* Ok. It should work without exceptions.
* Removing trailing spaces.
2021-01-18 12:00:02 -05:00
Daniel Lemire
73063e2dab
This adds a test to explain better the issue 1341: Support conversion of simdjson_result lvalue to dom::element ( #1397 )
...
* This adds a test to explain better the issue.
* Guarding it since it can throw.
2021-01-16 15:08:27 -05:00
John Keiser
55faf4c5bc
Recommend simdjson::ondemand over simdjson::builtin::ondemand ( #1380 )
...
Co-authored-by: Daniel Lemire <lemire@gmail.com >
2021-01-14 17:33:49 -05:00
Daniel Lemire
990da22249
Merge branch 'master' into jkeiser/ondemand-scalar-order
2021-01-13 14:21:16 -05:00
ihsinme
84b0e84447
fix function was exited without releasing ( #1389 )
...
* Update jsoncheck.cpp
* Update minefieldcheck.cpp
* Update jsoncheck.cpp
* Update minefieldcheck.cpp
2021-01-12 18:08:27 -05:00
Nicolai Grodzitski
095691160b
Add element representation trivially_copyable property test ( #1377 )
...
* Add element representation trivially_copyable property test
Releates to issue #1374
* Change test label
2021-01-11 19:06:59 -05:00
John Keiser
3279c2f15b
Remove unnecessary "try_get_XXX" methods
...
Also don't distinguish between & and && (instead, advance the first time
you encounter a scalar no matter what)
2021-01-11 15:19:26 -08:00
John Keiser
0f515785c6
Support reading scalars out of order
2021-01-11 15:17:46 -08:00
Daniel Lemire
7dbe4caf3f
Taking a float and adding hundreds of zeros, you may get a truncated value that is just one over the desired value (bug fix) ( #1388 )
...
* Found a bug where if take some float and add many zeros, you may get a truncated value that is just one over the desired value.
2021-01-11 17:07:25 -05:00
John Keiser
0039c5b981
Disallow parser.iterate("1"_padded), as it won't work
2021-01-01 19:18:00 -08:00
John Keiser
17f4f82827
Ondemand usage docs (and associated tests)
...
Also disallowed parsing a temporary padded_string, since the JSON *must*
live through the whole parse.
2021-01-01 19:17:58 -08:00
John Keiser
158a3c53d8
Merge pull request #1351 from simdjson/jkeiser/unordered-lookup
...
Make `object["field"]` order-insensitive in On Demand
2020-12-24 13:33:09 -08:00
John Keiser
92443772d2
Enable all acceptance tests on mingw
2020-12-23 09:14:45 -08:00
John Keiser
041d59cc17
Create acceptance_tests, all_tests, etc. make targets
...
And use them for mingw build and test
2020-12-23 09:14:45 -08:00
John Keiser
a405173d59
Break up ondemand_basictests into smaller executables
...
(Allows for faster compilation speeds)
2020-12-23 09:14:44 -08:00
John Keiser
ad4f718e0c
Make assert test succeed (not run anything) in Release builds
2020-12-21 10:52:01 -08:00
John Keiser
a1cf588d5f
Fix GCC 7 warning when inlining does its job
2020-12-21 09:19:07 -08:00
John Keiser
195acc3e45
Add find_field / find_field_unordered to object
2020-12-20 11:39:50 -08:00
John Keiser
b8426584fc
Make field lookup order-insensitive.
2020-12-19 13:57:29 -08:00
Daniel Lemire
85001c55fb
Fixing UTF-8 validation under PPC64 ( #1346 )
...
* Entering a new UTF-8 test
* Maybe *I* had a bug in the tests.
* Replacing nulls with 1s.
* Let us try to be more verbose.
* Return 0.
* Fixing issue.
* Adding puzzler scenario.
* Fixing PPC64
Co-authored-by: Daniel Lemire <dlemire@rcs-power9-talos>
2020-12-19 10:42:27 -05:00
John Keiser
f785f76d98
Merge pull request #1342 from simdjson/jkeiser/iter-safety
...
Safety: assert in debug mode when on demand values are used out of order
2020-12-16 15:58:29 -08:00
John Keiser
d670906ff3
Don't keep a separate at_start boolean in object
2020-12-15 11:29:31 -08:00
Daniel Lemire
c578f63f34
Fixing issue 1337 ( #1338 )
...
* Fixing issue 1337
* This test should always run.
* Removing bad attribute access.
2020-12-14 16:20:36 -05:00
Daniel Lemire
9a404bdcdc
Reenabling the optimized kernels (main branch). ( #1344 )
...
* Reenabling the optimized kernels (main branch).
* Defining SIMDJSON_CAN_ALWAYS_RUN_PPC64 and SIMDJSON_CAN_ALWAYS_RUN_ARM64
* Adding the bad UTF8 string from the fuzzer.
* Taking into account John's comments.
* Bumping the lib version.
* Update CMakeLists.txt
2020-12-14 14:28:45 -05:00
John Keiser
f9c6dedca1
Add test for out-of-order parse asserts
2020-12-13 13:39:47 -08:00
John Keiser
806cb39103
Clean up some more benchmark/test code
2020-12-07 13:44:58 -08:00
John Keiser
3aa3175378
Add tests for recovering from partial child iteration
2020-12-06 16:19:06 -08:00
John Keiser
4c63956624
Enable object["x"]["y"]
2020-12-06 15:23:52 -08:00
John Keiser
c89647af9e
Make all values use same underlying iterator
2020-12-06 15:23:52 -08:00
John Keiser
1303a88769
Unconditionally track depth
2020-12-06 15:23:52 -08:00
Daniel Lemire
aaa12c8fb6
more thread testing ( #1324 )
...
* Adding a few tests.
* More tests.
* Trailing.
* More links/documentations.
2020-12-02 11:33:36 -05:00
Daniel Lemire
9304d88920
Prototype test for issue 1299: using parse_many, find the location of the end of the last document ( #1301 )
...
* Prototype test for issue 1299.
* This improves the documentation.
* Removing trailing white spaces.
* Removing trailing spaces
* Trailing.
2020-12-01 15:59:20 -05:00
Daniel Lemire
d9c4191e8a
This should fix an issue we have with unclosed strings with document_stream ( #1321 )
...
* This should fix an issue we have with unclosed strings.
* Patching the fallback kernel.
* Better guarding the code.
* Patching the fallback.
2020-11-30 13:43:57 -05:00
Daniel Lemire
dc69bc28ae
Trying to verify recent document stream issues. ( #1318 )
...
* Trying to verify recent document stream issues.
* Adding another one.
* More thorough tests.
* Removing trailing spaces.
* Working toward exposing some issues.
* Tweaking.
2020-11-27 17:04:10 -05:00
Daniel Lemire
1abb64f6f6
This fixes issue 1302 ( #1303 )
...
* This verifies issue 1302
* I believe that this fixes the issue.
* Let us do it differently.
* Better comments.
2020-11-27 14:19:36 -05:00
Daniel Lemire
5609851747
This will guard the batch_size so it cannot be so low as to accidentally burn through your CPU. ( #1319 )
...
* This will guard the batch_size so it cannot be so low as to accidentally burn through your CPU.
2020-11-27 09:37:54 -05:00
friendlyanon
c805fc28a4
Remove git modules ( #1258 )
...
* Bump minimum CMake version
* Remove unnecessary git checks
* Move benchmark options where they are used
* Declare helper functions for dependencies
The custom solution here is tailored for fast configure times, but only
works for dependencies on Github.
* Import dependencies using the declared commands
* Remove git submodules
* Call target_link_libraries properly
target_link_libraries must not be called without a requirement
specifier.
* Fix includes for competition
Co-authored-by: friendlyanon <friendlyanon@users.noreply.github.com >
2020-11-04 13:34:29 -05:00