Hello Andreas, Welcome. :)
> First thank you Marvin for taking the time and giving me some good > options to start supporting Lucy. To put this in context, Andreas asked me off-list about options for contributing to Lucy and/or KinoSearch. (He's new to the library and doesn't have any particular itches yet.) I mentioned porting the KS test suite and the Lucene benchmarking suite and recommended that we discuss the matter on lucy-dev. > Probably the porting of the Lucene benchmark suite would be a good > starting point. This way I will get a good overview of the project and > as a little bonus KinoSearch will also benefit from the work. Being able to benchmark Lucy (eventually) and KinoSearch would be very handy. Just this week the discussion on Matcher ran into problems because we lack search-time benchmarking capabilities. However, please be aware that taking on the benchmarker is a bit of an ambitious task, particularly since KinoSearch and Lucene have many API differences. Might you also be interested in starting off with a pure-Perl test case to verify that the pluggable deletions apparatus works as it should? If so, I'll try to write up the necessary docs. > I will focus mainly on this task and port the classes > org.apache.lucene.benchmark.* to C and get them to work with > Lucy/KinoSearch. FYI, I had intended to use Perl, because this is mostly a scripting task and I wanted to get things done reasonably quickly. C would give us the advantage of being able to test multiple bindings, but it's a lot of work up front. If we do go with C, I think we should only worry about GCC on modern Unixen for the time being. > But I'll also spend some time porting the test suite from Perl to C. I will > probably get back about this soon with a few questions. I was already taking > a look about the work done and what is still there to be done. > Core tests live in trunk/core/KinoSearch/Test/ and generate TAP output like ordinary Perl tests. [1] The testing infrastructure lives in trunk/charmonizer/src/Charmonizer/Test.* and trunk/core/KinoSearch/Test.bp. Documentation is lacking; however, there's not that much to it. (Writing a simple TAP-producing test harness isn't very difficult.) To run a core test using the Perl bindings, you need an entry in trunk/perl/lib/KinoSearch/Test.pm and an individual test file a la trunk/perl/t/core/013-bit_vector.t. Marvin Humphrey [1] Test Anything Protocol: <http://testanything.org/>
