|  | ||
|---|---|---|
| .. | ||
| aws | ||
| kafkatest | ||
| .gitignore | ||
| README.md | ||
| setup.py | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	System Integration & Performance Testing
This directory contains Kafka system integration and performance tests. Ducktape is used to run the tests.
Ducktape is a distributed testing framework which provides test runner, result reporter and utilities to pull up and tear down services. It automatically discovers tests from a directory and generate an HTML report for each run.
To run the tests:
- 
Build a specific branch of Kafka $ cd kafka $ git checkout $BRANCH $ gradle $ ./gradlew jar
- 
Setup a testing cluster. You can use Vagrant to create a cluster of local VMs or on EC2. Configure your Vagrant setup by creating the file Vagrantfile.localin the directory of your Kafka checkout. At a minimum , you MUST setmode = "test"and the value ofnum_workershigh enough for the test you're trying to run. If you run on AWS, you also need to set enable_dns = true.
- 
Bring up the cluster, making sure you have enough workers. For Vagrant, use vagrant up. If you want to run on AWS, usevagrant up --provider=aws --no-parallel.
Note that the initial provisioning process can be quite slow since it involves installing dependencies and updates on every vm.
- 
Install ducktape: $ git clone https://github.com/confluentinc/ducktape $ cd ducktape $ python setup.py install
- 
Run the system tests using ducktape, you can view results in the resultsdirectory.$ cd tests $ ducktape tests
- 
To iterate/run again if you made any changes: $ cd kafka $ ./gradlew jar $ vagrant rsync # Re-syncs build output to cluster