OpenRAVE Testing Framework¶
Using python nose for the testing framework.
OpenRAVE testing server uses Jenkins and runs these tests, records statistics, and generates this documentation. The tests are run on trunk, and if deemed stable, the stable subversion tag is updated.
Because it is not necessary to cater to the lowest common denominator, use easy_install to get latest test packages
sudo easy_install nose coverage
Optional For entire testing harness:
sudo apt-get install graphviz python-svn gnu-pgagent
If using Jenkins to run tests, the following Jenkins plugins should be installed:
- CMake plugin
- Measurement Plots
- Performance Publisher plugin
- Post build task
- Publish Over SSH
- Python Plugin
- SSH Slaves plugin
- Subversion Plug-in
- Subversion Release Manager plugin
- Subversion Tagging Plugin
- Edgewall Trac plugin
- Jenkins xUnit plugin
- Downstream buildview plugin
- Global Build Stats Plugin
- Dependency Graph View Plugin
- Join Plugin
- Release Plugin
- Parameterized Trigger Plugin
The tests are designed to output to Jenkins-friendly format using the python nose and Jenkins xUnit plugins.
Measurements and their history are recorded with the Jenkins Measurement Plots Plugins. This is done by outputting the following xml on stdout:
To run, first install OpenRAVE into your path, then:
For future: Running ‘make test’ in the root directory should setup the OpenRAVE environment from local build folder and run all tests.
All these tests must pass for a release candidate:
- single precision, double precision
- compile wihtout python bindings, without octave bindings, without plugins, without collada
- boost versions: 1.35, 1.39, 1.44
- cmake versions: 2.6, 2.8
- 32bit vs 64bit
- Visual Studio 2005 (sp1), 2008, and 2010.
- All exapmles/databases run without throwing exceptions