At Confluent, we strive to be great open source citizens. As part of that commitment, we provide transparent access to reports emitted by nightly runs of system tests for Apache Kafka.
These tests check things which are too difficult, or too time consuming to test using unit tests. Roughly speaking, most of our tests fall into the following categories, and we continue to actively expand test coverage:
Writing robust fully distributed systems tests can be tricky, and we’re actively developing tools to make this process easier and better. Currently, our primary tools are Vagrant, AWS, and ducktape system test framework. We use Vagrant to bring up and deploy code to ec2 “test worker nodes”, and we use ducktape to dynamically bring up various services such as Kafka and Zookeeper on these worker nodes, as well as to run the tests themselves.
Clicking into the Kafka system test page (for any listed branch), you'll see a variety of archived reports, one from each nightly run. Each report has a summary page listing the various tests run, which tests passed/failed, how long each test took to run, as well as summary data from the run if available. If you click into the details for a given test, you'll trigger a download of a tarball containing log files for that particular test. To unpack the downloaded results, run 'tar xzf MY_DOWNLOADED_TEST_RESULTS'.
See this tutorial for help running the tests locally.