Do these any of these compute functions have analogs in other implementations of Arrow (e.g. Rust)?
I believe that as much as possible of Arrow’s compute functionality should be cross-language. Perhaps there are language-specific differences in how functions are invoked, but the basic functionality is the same. If people buy into that premise, then a single suite of tests is a powerful way to make that happen. The tests can be written in a high-level language and can generate tests in each implementation language. (For these purposes, the “high-level language” could be a special text format, could be a data language such as JSON, or could be a programming language such as Python; it doesn’t matter much.) For example, assertThatCall(“foo(1, 2)”, returns(“3”)) might actually call foo with arguments 1 and 2, or it might generate a C++ or Rust test that does the same. Julian > On May 14, 2021, at 8:45 AM, Antoine Pitrou <anto...@python.org> wrote: > > > Le 14/05/2021 à 15:30, Wes McKinney a écrit : >> hi folks, >> As we build more functions (kernels) in the project, I note that the >> amount of hand-coded C++ code relating to testing function correctness >> is growing significantly. Many of these tests are quite simple and >> could be expressed in a text format that can be parsed and evaluated. >> Thoughts about building something like that to make it easier to write >> functional correctness tests? > > Or perhaps build-up higher level C++ functions if desired? > > Or even write some of those tests as part of the PyArrow test suite. > > I'm not sure adding a custom (and probably inflexible) text format is really > a good use of our time. > > Regards > > Antoine.