Autotest - Fully automated tests on Linux
Python Java C PLpgSQL Perl Shell Other
Latest commit a5cf4bf Sep 12, 2017 @lmr lmr committed on GitHub Merge pull request #1033 from ldoktor/venv-home-dirs
setup/settings: Support venv to get top autotest path
Permalink
Failed to load latest commit information.
apache apache: Fix Django directives to serve cobbler imports of SLES Feb 13, 2014
artwork/logo Add artwork directory, with new logo Jun 22, 2011
cli PEP8 Fixes Aug 15, 2017
client setup/settings: Support venv to get top autotest path Sep 12, 2017
conmux PEP8 Fixes Aug 15, 2017
contrib Lint fixes Aug 15, 2017
database_legacy PEP8 Fixes Aug 15, 2017
debian debian/changelog: Add latest ubuntu build Apr 2, 2014
documentation PEP8 Fixes Aug 15, 2017
frontend Lint fixes Aug 15, 2017
installation_support PEP8 Fixes Aug 15, 2017
logs logs dir: Update README Feb 24, 2012
mirror Lint fixes Aug 15, 2017
packages Add a README to the packages/ dir. Oct 2, 2008
results Add results and queue directories for the scheduler Sep 29, 2007
scheduler Lint fixes Aug 15, 2017
server Lint fixes Aug 15, 2017
shared autotest: The Big Import Cleanup Dec 3, 2015
tko Lint fixes Aug 15, 2017
utils PEP8 Fixes Aug 15, 2017
.gitignore added tox and build directories to .gitignore Aug 6, 2013
.gitmodules utils: Remove codespell Feb 7, 2014
.nose.cfg ci job: Remove coverage report Dec 1, 2015
.travis.yml Rename requirements.txt to requirements-travis.txt Aug 16, 2017
CODING_STYLE Manual: fix typo Apr 22, 2015
DCO Add DCO license Aug 31, 2006
LGPL_LICENSE Licenses: Replace some tabs with spaces Feb 7, 2012
LICENSE Licenses: Replace some tabs with spaces Feb 7, 2012
MANIFEST.in MANIFEST.in - Add more files Dec 27, 2012
Makefile Makefile: Update debian build rules Jul 18, 2014
README.fedora README.fedora: add instructions for generating autotest packages Oct 7, 2013
README.rst Advertise Avocado Apr 15, 2016
__init__.py __init__.py: Fix virt-test issue #275 Feb 4, 2014
autotest-framework.spec Remove aexpect from autotest Sep 10, 2015
common.py PEP8 mass fixes Sep 9, 2013
global_config.ini global_config.ini: Consolidate section [AUTOSERV] Feb 27, 2015
requirements-travis.txt requirements-travis.txt: Update aexpect to 1.4.0 Aug 16, 2017
setup.py setup.py: make Sphinx dependency optional Jan 7, 2016
shadow_config.ini shadow_config.ini: Change reference from TKO to AUTOTEST_WEB Oct 13, 2011
tox.ini Added tox for running isolated tests on python 2.4,2.5,2.6 and 2.7 Aug 6, 2013

README.rst

'Stories in Ready'

Autotest: Fully automated tests under the linux platform

Autotest is a framework for fully automated testing. It is designed primarily to test the Linux kernel, though it is useful for many other functions such as qualifying new hardware. It's an open-source project under the GPL and is used and developed by a number of organizations, including Google, IBM, Red Hat, and many others.

Autotest is composed of a number of modules that will help you to do stand alone tests or setup a fully automated test grid, depending on what you are up to. A non extensive list of modules is:

  • Autotest client: The engine that executes the tests (dir client). Each autotest test is a directory inside (client/tests) and it is represented by a python class that implements a minimum number of methods. The client is what you need if you are a single developer trying out autotest and executing some tests. Autotest client executes ''client side control files'', which are regular python programs, and leverage the API of the client.
  • Autotest server: A program that copies the client to remote machines and controls their execution. Autotest server executes ''server side control files'', which are also regular python programs, but leverage a higher level API, since the autotest server can control test execution in multiple machines. If you want to perform tests slightly more complex involving more than one machine you might want the autotest server
  • Autotest database: For test grids, we need a way to store test results, and that is the purpose of the database component. This DB is used by the autotest scheduler and the frontends to store and visualize test results.
  • Autotest scheduler: For test grids, we need an utility that can schedule and trigger job execution in test machines, the autotest scheduler is that utility.
  • Autotest web frontend: For test grids, A web app, whose backend is written in django (http://www.djangoproject.com/) and UI written in gwt (http://code.google.com/webtoolkit/), lets users to trigger jobs and visualize test results
  • Autotest command line interface: Alternatively, users also can use the autotest CLI, written in python

Getting started with autotest client

For the impatient:

http://autotest.readthedocs.org/en/latest/main/local/ClientQuickStart.html

Installing the autotest server

For the impatient using Red Hat:

http://autotest.readthedocs.org/en/latest/main/sysadmin/AutotestServerInstallRedHat.html

For the impatient using Ubuntu/Debian:

http://autotest.readthedocs.org/en/latest/main/sysadmin/AutotestServerInstall.html

You are advised to read the documentation carefully, specially with details regarding appropriate versions of Django autotest is compatible with.

Main project page

http://autotest.github.com/

Documentation

Autotest comes with in tree documentation, that can be built with sphinx. A publicly available build of the latest master branch documentation and releases can be seen on read the docs:

http://autotest.readthedocs.org/en/latest/index.html

It is possible to consult the docs of released versions, such as:

http://autotest.readthedocs.org/en/0.16.0/

If you want to build the documentation, here are the instructions:

  1. Make sure you have the package python-sphinx installed. For Fedora:

    $ sudo yum install python-sphinx
    
  2. For Ubuntu/Debian:

    $ sudo apt-get install python-sphinx
    
  3. Optionally, you can install the read the docs theme, that will make your in-tree documentation to look just like in the online version:

    $ sudo pip install sphinx_rtd_theme
    
  4. Build the docs:

    $ make -C documentation html
    
  5. Once done, point your browser to:

    $ [your-browser] docs/build/html/index.html
    

Mailing list and IRC info

http://autotest.readthedocs.org/en/latest/main/general/ContactInfo.html

Grabbing the latest source

https://github.com/autotest/autotest

Hacking and submitting patches

http://autotest.readthedocs.org/en/latest/main/developer/SubmissionChecklist.html

Downloading stable versions

https://github.com/autotest/autotest/releases

Next Generation Testing Framework

Please check Avocado, a next generation test automation framework being developed by several of the original Autotest team members:

http://avocado-framework.github.io/