83 lines
3 KiB
Text
83 lines
3 KiB
Text
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 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.kernel.org/wiki/QuickStart
|
|
|
|
|
|
Check out the main project documentation source
|
|
-----------------------------------------------
|
|
|
|
You can find plenty of information on the autotest wiki
|
|
|
|
http://autotest.kernel.org/
|
|
|
|
That also contains references to the project activity
|
|
|
|
http://autotest.kernel.org/timeline
|
|
|
|
Links to an online view of the version control system
|
|
|
|
http://autotest.kernel.org/browser
|
|
|
|
|
|
Grabbing the latest source
|
|
--------------------------
|
|
|
|
http://autotest.kernel.org/wiki/DownloadSource
|
|
|
|
|
|
Hacking and submitting patches
|
|
------------------------------
|
|
|
|
http://autotest.kernel.org/wiki/SubmissionChecklist
|
|
|
|
|
|
Downloading stable versions
|
|
---------------------------
|
|
|
|
http://autotest.kernel.org/wiki/Download
|