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
I am currently upgrading my ffi-geos Ruby gem (https://github.com/dark-panda/ffi-geos) for 3.10 compatibility and ran across a failing test involving GEOSSTRtree_remove. The test is effectively the following (forgive the Ruby code, but this should be hopefully fairly straight forward):
In 3.9 and prior, the line for @tree.remove(read('POINT (5 5)'), @item_1) correctly removes the item from the tree and the tests succeed. In 3.10 and in main, the tests fail because the item is not removed.
I noticed there is no test coverage for GEOSSTRtree_remove, which is what I base most of my Ruby tests for new code on, so I'm unsure if I'm correctly implementing Geos::STRtree#remove in my Ruby gem, although it has worked up until this point. When I debug the GEOS code via llvm, I'm noticing that it's bailing out at this point:
boolremove(const BoundsType& itemEnv, const ItemType& item) {
if (root == nullptr) { // the root is a nullptr coming from my Ruby codereturnfalse;
}
Is there something amiss with the implementation or something that needs doing in my Ruby code, or has there been a behaviour change that would affect GEOSSTRtree_remove? At a minimum, I believe there may be a missing regression test for GEOSSTRtree_remove specifically, as there are no references to it outside of the capi/ directory.
The code for my implementation of Geos::STRtree#remove can be found here:
I am currently upgrading my ffi-geos Ruby gem (https://github.com/dark-panda/ffi-geos) for 3.10 compatibility and ran across a failing test involving
GEOSSTRtree_remove. The test is effectively the following (forgive the Ruby code, but this should be hopefully fairly straight forward):In 3.9 and prior, the line for
@tree.remove(read('POINT (5 5)'), @item_1)correctly removes the item from the tree and the tests succeed. In 3.10 and in main, the tests fail because the item is not removed.I noticed there is no test coverage for
GEOSSTRtree_remove, which is what I base most of my Ruby tests for new code on, so I'm unsure if I'm correctly implementingGeos::STRtree#removein my Ruby gem, although it has worked up until this point. When I debug the GEOS code via llvm, I'm noticing that it's bailing out at this point:https://github.com/libgeos/geos/blob/main/include/geos/index/strtree/TemplateSTRtree.h#L309
Is there something amiss with the implementation or something that needs doing in my Ruby code, or has there been a behaviour change that would affect
GEOSSTRtree_remove? At a minimum, I believe there may be a missing regression test forGEOSSTRtree_removespecifically, as there are no references to it outside of thecapi/directory.The code for my implementation of
Geos::STRtree#removecan be found here:https://github.com/dark-panda/ffi-geos/blob/master/lib/ffi-geos/strtree.rb#L98
The text was updated successfully, but these errors were encountered: