You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If feature are sorted and then the vectorized decoding path is used and all features are iterated over, an exception is triggered:
MltDecoderTest > Decode OMT Tiles (advanced encodings) > com.mlt.decoder.MltDecoderTest.decodeOMTTiles(String)[6] FAILED
java.lang.IndexOutOfBoundsException
at java.base/java.nio.Buffer.checkIndex(Buffer.java:743)
at java.base/java.nio.HeapIntBuffer.get(HeapIntBuffer.java:169)
at com.mlt.vector.dictionary.StringDictionaryVector.getValueFromBuffer(StringDictionaryVector.java:71)
at com.mlt.vector.dictionary.StringDictionaryVector.getValueFromBuffer(StringDictionaryVector.java:12)
at com.mlt.vector.Vector.getValue(Vector.java:29)
at com.mlt.vector.FeatureTable$1.next(FeatureTable.java:52)
at com.mlt.vector.FeatureTable$1.next(FeatureTable.java:31)
at com.mlt.TestUtils.compareTilesVectorized(TestUtils.java:76)
at com.mlt.decoder.MltDecoderTest.testTile(MltDecoderTest.java:204)
at com.mlt.decoder.MltDecoderTest.decodeOMTTiles(MltDecoderTest.java:123)
The text was updated successfully, but these errors were encountered:
springmeyer
added a commit
to springmeyer/maplibre-tile-spec
that referenced
this issue
Jun 21, 2024
Currently we do not fully test all these combinations:
- Vectorized path + advanced encodings
- Vectorized path + without advanced encodings
- Non-Vectorized path + advanced encodings
- Non-Vectorized path + without advanced encodings
This PR starts testing all those paths.
The code coverage changes are:
- **overall:** `36%`to `45%`
- **mlt.converter:** `64%` to `85%`
- **mlt.decoder:** `55%` to `71%`
In addition this PR includes:
- Some refactoring in TestUtils.java to share more code between
vectorized and non-vectorized
- Improvements to TestUtils.java around geometry comparisons (refs #178)
- Improvements to TestUtils.java around property comparisons
Finally, this PR does not attempt to solve any bugs. Rather it finds,
isolates, and writes tests harnesses to capture them in code. Once bugs
are solved in the future it should be easy to update the tests
accordingly.
TODO:
- [x] ~This PR uncovered a number of bugs that do not have open issues
and did not have tests that hit them until now. So I need to create
following issues to capture fixing these.~
- Added:
- #181
- #182
- #183
- #184
- #185
- #186
- [ ] Property nesting in MLT makes comparison to MVT difficult so I
disabled it in this test refactor because comparison to MVT is what the
decoder tests rely on. My sense is that standalone unit tests of nesting
might be more appropriate than including nesting in the decoder tests.
Do others agree?
If feature are sorted and then the vectorized decoding path is used and all features are iterated over, an exception is triggered:
The text was updated successfully, but these errors were encountered: