Currently all the integration tests are docker based and written using testcontainers 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 to launch a linux virtual machine and run the integration tests there.
-
Download and Install Vagrant.
-
Provision and launch the dev vm.
$ cd ${PULSAR_HOME}/dev # provision the vm $ vagrant up
-
The dev vm will try to mount your current pulsar workspace to be under
/pulsar
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:
$ vagrant plugin install vagrant-vbguest $ vagrant destroy && vagrant up # reload the vm $ vagrant reload
-
Now, you will have a pulsar dev vm ready for running integration tests.
$ vagrant ssh # once you are in the pulsar dev vm, you can launch docker. [vagrant@bogon pulsar]$ sudo systemctl start docker # your pulsar workspace will be mount under /pulsar [vagrant@bogon pulsar]$ cd /pulsar # you can build and test using maven commands