Installing
Use git to grab everything and then make a distributable tar.gz of the testrunner
git clone git@github.com:membase/testrunner cd testrunner
Requirements:
- python 2.7
- pycrypto (http://www.dlitz.net/software/pycrypto/)
- paramiko (http://www.lag.net/paramiko/)
Test framework uses paramiko library for making ssh connections into linux and windows machines where membase is installed.
resource file:
resource files are defined under resources/jenkins folder. we follow standard .ini format.
Running Hello World
Tests are implemented in python using pyunit framework . so each test needs a setUp and tearDown method.
./testrunner -t management.addnodes.addnodestests.AddNodesTests.test_add_1_node_with_bucket
this command will run test_add_1_node_with_bucket test which is a method in AddNodesTests class defined under pytests/management/addnodestests.py
Running
edit servers with each IP
servers
<ip1> <ip2> <ipn>
run a test that is located in ./conf
if your test uses "install" then add the -v parameter with the correct version information
./testrunner -f servers -c smoke.conf -v 1.6.0beta3a-19-g81e14c
Developing Tests
Just copy an existing test that you like as a starting point...
cd src/scripts/testrunner cp -r tests/hello-world tests/harsh-new-test ./testrunner -t harsh-new-test -s localhost
TestRunner generates a report xml file after each test run named "report-$time" where time stands for the start-time for running one or multiple test.
The generated xml output follows the standard nunit xml reports which can be imported to other test databases.
example : report-09-55-39-.xml