blob: f2bf924e7fed5dccf774665603e28e4493eaecdd [file] [log] [blame]
Dale Curtis456d3c12011-07-19 11:42:51 -07001Autotest: Fully automated tests under the linux platform
2--------------------------------------------------------
Eric Li0a993912011-05-17 12:56:25 -07003
4Autotest is a framework for fully automated testing. It is designed primarily to
5test the Linux kernel, though it is useful for many other functions such as
6qualifying new hardware. It's an open-source project under the GPL and is used
7and developed by a number of organizations, including Google, IBM, Red Hat, and
8many others.
9
10Autotest is composed of a number of modules that will help you to do stand alone
11tests or setup a fully automated test grid, depending on what you are up to.
12A non extensive list of modules is:
13
14* Autotest client: The engine that executes the tests (dir client). Each
15autotest test is a a directory inside (client/tests) and it is represented
16by a python class that implements a minimum number of methods. The client
17is what you need if you are a single developer trying out autotest and executing
18some tests. Autotest client executes ''client side control files'', which are
19regular python programs, and leverage the API of the client.
20
21* Autotest server: A program that copies the client to remote machines and
22controls their execution. Autotest server executes ''server side control files'',
23which are also regular python programs, but leverage a higher level API, since
24the autotest server can control test execution in multiple machines. If you
25want to perform tests slightly more complex involving more than one machine you
26might want the autotest server
27
28* Autotest database: For test grids, we need a way to store test results, and
29that is the purpose of the database component. This DB is used by the autotest
30scheduler and the frontends to store and visualize test results.
31
32* Autotest scheduler: For test grids, we need an utility that can schedule and
33trigger job execution in test machines, the autotest scheduler is that utility.
34
35* Autotest web frontend: For test grids, A web app, whose backend is written in
36django (http://www.djangoproject.com/) and UI written in gwt
37(http://code.google.com/webtoolkit/), lets users to trigger jobs and visualize
38test results
39
40* Autotest command line interface: Alternatively, users also can use the
41autotest CLI, written in python
42
Dale Curtis456d3c12011-07-19 11:42:51 -070043
44Getting started with autotest client
45------------------------------------
Eric Li0a993912011-05-17 12:56:25 -070046
47For the impatient:
48
49http://autotest.kernel.org/wiki/QuickStart
50
Dale Curtis456d3c12011-07-19 11:42:51 -070051
52Check out the main project documentation source
53-----------------------------------------------
Eric Li0a993912011-05-17 12:56:25 -070054
55You can find plenty of information on the autotest wiki
56
57http://autotest.kernel.org/
58
59That also contains references to the project activity
60
61http://autotest.kernel.org/timeline
62
63Links to an online view of the version control system
64
65http://autotest.kernel.org/browser
66
Dale Curtis456d3c12011-07-19 11:42:51 -070067
68Grabbing the latest source
69--------------------------
Eric Li0a993912011-05-17 12:56:25 -070070
71http://autotest.kernel.org/wiki/DownloadSource
72
Dale Curtis456d3c12011-07-19 11:42:51 -070073
74Hacking and submitting patches
75------------------------------
Eric Li0a993912011-05-17 12:56:25 -070076
77http://autotest.kernel.org/wiki/SubmissionChecklist
78
Dale Curtis456d3c12011-07-19 11:42:51 -070079
80Downloading stable versions
81---------------------------
Eric Li0a993912011-05-17 12:56:25 -070082
83http://autotest.kernel.org/wiki/Download