Avocado is a test framework that is built on the experience accumulated with autotest, while improving on its weaknesses and shortcomings.
The main goal of the Avocado project is to provide a set of smart tools for automated testing and continuous integration. Among them, we can highlight:
- A powerful test runner;
- A multiplexer that allows tests to be run with different sets of variables;
- Test APIs for test writers;
- A database for results, with a web interface;
- A scheduler for setting up a test grid.
An extensive set of slides about avocado, including details about its architecture, main features and status is available in google-drive.
The most straightforward way of using avocado is to install packages available for your distro:
Fedora/RHEL
Avocado is not yet officially packed in Fedora/RHEL, but you can use avocado yum repositories by putting corresponding file into
/etc/yum.repos.d
.and install it by
yum install avocado
(or usingdnf
)
Once you install it, you can start exploring it by checking the output of
avocado --help
and the test runner man-page, accessible via man avocado
.
If you want to develop avocado, or run it directly from the git repository, you have a couple of options:
The avocado test runner was designed to run in tree, for rapid development prototypes. Just use:
$ scripts/avocado --help
Installing avocado in the system is also an option, although remember that distutils has no
uninstall
functionality:$ sudo python setup.py install $ avocado --help
Avocado comes with in tree documentation about the most advanced features and
its API. It can be built with sphinx
, but a publicly available build of
the latest master branch documentation and releases can be seen on read the
docs:
http://avocado-framework.readthedocs.org/
If you want to build the documentation yourself:
Make sure you have the package
python-sphinx
installed. For Fedora:$ sudo yum install python-sphinx
For Mint/Ubuntu/Debian:
$ sudo apt-get install python-sphinx
Optionally, you can install the read the docs theme, that will make your in-tree documentation look just like the online version:
$ sudo pip install sphinx_rtd_theme
Build the docs:
$ make -C docs html
Once done, point your browser to:
$ [your-browser] docs/build/html/index.html