From Fedora Project Wiki

No edit summary
(Integrated into Writing_AutoQA_Tests)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Will's notes (to be integrated into main page) ==
=== Control Files ===
The control file, when interpreted, starts by importing all the symbols from the <code>autotest_lib.client.bin.util</code> module.<ref>http://autotest.kernel.org/browser/branches/0.10.1/client/bin/job.py#L19</ref> This means the control files can use any function defined in <code>common_lib.utils</code> or <code>bin.base_utils</code>, among others<ref>http://autotest.kernel.org/browser/branches/0.10.1/client/bin/utils.py</ref>.


=== Test Results ===
The result of the test is the exit code of the command. Usually retrieved like so:
<pre>self.results = utils.system_output(cmd, retain_output=True)</pre>
Further test-level info can be returned by using <code>test.write_test_keyval(dict)</code>:
<pre>
extrainfo = dict()
for line in self.results.stdout:
    if line.startswith("kernel version "):
        extrainfo['kernelver'] = line.split()[3]
    ...
self.write_test_keyval(extrainfo)
</pre>
* For per-iteration data (performance numbers, etc) there are three methods:
** Just attr: <code>test.write_attr_keyval(attr_dict)</code>
** Just perf: <code>test.write_perf_keyval(perf_dict)</code>
** Both: <code>test.write_iteration_keyval(attr_dict, perf_dict)</code>
=== Test Directories ===
<code>test</code> objects have the following attributes available<ref>http://autotest.kernel.org/browser/branches/0.10.1/client/common_lib/test.py#L9</ref>:
<pre>
outputdir      eg. results/<job>/<testname.tag>
resultsdir      eg. results/<job>/<testname.tag>/results
profdir        eg. results/<job>/<testname.tag>/profiling
debugdir        eg. results/<job>/<testname.tag>/debug
bindir          eg. tests/<test>
src            eg. tests/<test>/src
tmpdir          eg. tmp/<tempname>_<testname.tag>
</pre>
<references/>

Latest revision as of 20:57, 25 August 2009