-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Description
Currently, NativeVectorUtilSupport is only exercised in tests when the user explicitly enables it and provides a native binary with overridden implementations. Even then, not all code paths and VectorUtil
operations are covered but only the ones overridden in the provided binary (e.g., the issue @ExE-Boss found here). The native path is not tested automatically in our CI workflow which disconnects it from other implementations.
One option is to generate a simple native binary purely for test coverage - not architecture-specific optimized code, just trivial C implementations that exercise the FFM calling convention and code paths. This
would keep maintenance overhead low since the binary wouldn't need per-arch tuning and only supposed to be used for testing(and also provide as base for users to build on if they want to write more optimized c code). Or we could just have fake java methods calling DefaultVectorUtil and use those to test the native path? That being said, there may be better approaches and I'm looking for suggestions and ideas to improve coverage here.