Hi Tim, I’m not sure what you mean by relying on actual installations. If you have the kudu, kudu-master and kudu-tserver binaries at the same location and they can be executed, MiniKuduCluster can be used (“binDir” property should be set to the directory containing the Kudu binaries). You should also look into BaseKuduTest as that will set up the MiniKuduCluster for you and you don’t have to do it manually.
Extracting the Kudu binaries from an rpm should probably work, but that binds you to CDH as currently Cloudera is the only one that ships Kudu binaries and MacOS builds are not available anywhere afaik. Also, 1.4.0 is around a year old, you might want to use this repository instead (from CDH 5.13 Kudu is part of the CDH): http://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5/RPMS/x86_64/kudu-1.7.0+cdh5.15.0+0-1.cdh5.15.0.p0.52.el7.x86_64.rpm <http://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5/RPMS/x86_64/kudu-1.7.0+cdh5.15.0+0-1.cdh5.15.0.p0.52.el7.x86_64.rpm> As a general suggestion, I would recommend mocking Kudu for unit tests (that’s what a unit test is for after all) and create separate integration tests that actually use Kudu that can be skipped where Kudu is not available. Of course the CI should be set up to be able to provide all necessary integrations for the tests, but a developer wouldn’t have to set up Kudu, or use Docker to run the tests if their change doesn’t affect the Kudu integration. Attila > On 2018. Jun 29., at 16:42, Tim Robertson <timrobertson...@gmail.com> wrote: > > Hi folks, > > I've written Java KuduIO for Apache Beam with integration tests making use > of Kudu in Docker. It is yet to be committed on Apache Beam. > > Rather than mocking Kudu client for unit tests I'd like to explore use of > the MiniKuduCluster which "Depends on precompiled kudu, kudu-master, and > kudu-tserver binaries". > > I'd need unit tests to run on the main linux distros and OS X. > > For the linux distros, would an approach where I extract the binaries from > the packages [1] work please? Or does the MiniKuduCluster rely on actual > installations? I am pretty weak on C builds and linked libraries etc (Java > guy, sorry). > > For CentOS I'm exploring this for example: > rpm2cpio ./kudu-1.4.0+cdh5.12.2+0-1.cdh5.12.2.p0.8.el7.x86_64.rpm | cpio > -idmv > > I haven't explored OS X options yet. > > Any advice here would greatly be appreciated to save me going down a dead > end. > > Many thanks, > Tim > > > [1] http://kudu.apache.org/docs/installation.html#install_packages
signature.asc
Description: Message signed with OpenPGP