| ## Apache BookKeeper Dev Tools | |
| ### Running Integration Tests on macOS | |
| Currently all the integration tests are docker based and written using arquillian framework. | |
| Due to the networking issues, the integration tests can only be run on linux environment. | |
| For people who is using macOS as their development environment, you can use [Vagrant](https://www.vagrantup.com) | |
| to launch a linux virtual machine and run the integration tests there. | |
| 1. [Download and Install](https://www.vagrantup.com/downloads.html) Vagrant. | |
| 2. Provision and launch the dev vm. | |
| ```shell | |
| $ cd ${BOOKKEEPER_HOME}/dev | |
| # provision the vm | |
| $ vagrant up | |
| ``` | |
| 3. The dev vm will try to mount your current bookkeeper workspace to be under `/bookkeeper` in the vm. You might | |
| potentially hit following errors due to fail to install VirtualBox Guest additions. | |
| ``` | |
| /sbin/mount.vboxsf: mounting failed with the error: No such device | |
| ``` | |
| If that happens, follow the below instructions: | |
| ``` | |
| # ssh to the dev vm | |
| $ vagrant ssh | |
| [vagrant@bogon bookkeeper]$ sudo yum update -y | |
| [vagrant@bogon bookkeeper]$ exit | |
| # reload the vm | |
| $ vagrant reload | |
| ``` | |
| 4. Now, you will have a bookkeeper dev vm ready for running integration tests. | |
| ```shell | |
| $ vagrant ssh | |
| # once you are in the bookkeeper dev vm, you can launch docker. | |
| [vagrant@bogon bookkeeper]$ sudo systemctl start docker | |
| # your bookkeeper workspace will be mount under /bookkeeper | |
| [vagrant@bogon bookkeeper]$ cd /bookkeeper | |
| # you can build and test using maven commands | |
| ``` | |