replay-log: add support for replaying ops in target device sector range
[xfstests-dev.git] / tools / README.auto-qa
1 Quick guide to auto-qa                                      dxm 04/10/2000
2 ______________________                                      ______________
3
4
5         - pick/create a user to run auto-qa and check they 
6           can use ptools to check out of the tree
7         - add your host to xfstests/common/config and check this file in
8           OR create a local.config file in your xfstests directory
9         - make a directory "$HOME/qa"
10         - make a kernel workarea "$HOME/qa/2.4.x-xfs" for 2.4.x-xfs
11           and a commands workarea "$HOME/qa/xfs-cmds" for xfs-cmds
12                 (easiest to copy them from elsewhere)
13         - copy an appropriate .config file to
14                 $HOME/qa/$HOSTNAME.config
15         - You'll need a hacked version of 'su' in $HOME/qa that
16                 lets your user su to root/root without a password
17                 (if you want to run from cron, it mustn't require
18                 /dev/tty). Warning - this is a massive security
19                 hole.
20         - chown root.root $HOME/qa/su
21         - chmod 6755 $HOME/qa/su
22         - add the soon to be kernel to /etc/lilo.conf
23
24                 image=/boot/vmlinuz-xfs-qa
25                         label=linux-xfs-qa
26                         append = "console=ttyS0,38400n8"
27                 
28         - $HOME/qa/auto-qa init
29
30 At this point, the script should update the workarea, clean it,
31 rebuild it, install it and reboot.
32
33 Then run
34
35         - $HOME/qa/auto-qa restarted
36
37 And the tests should happen... and all pass, of course.
38
39 To get it going automagically:
40
41         - add some lines to the appropriate user's crontab:
42
43                 0 4 * * *       $HOME/qa/auto-qa cron-init
44                 30 4 * * *      $HOME/qa/auto-qa cron-restarted
45
46 Notes:
47         - if MODULAR=1 in auto-qa the XFS filesystem is expected to
48                 be a module; if MODULAR=0 it should be built into
49                 the kernel.
50         - the test device is cleaned at the start of the QA run
51                 (to stop nightly QA being stuffed up if someone
52                 leaves the device inconsistant etc)
53         - I'm using a hacked su because PCP sudo won't set the
54                 gid properly, and normal linux su won't run
55                 without a tty even if PAM is switched off.
56         - The QA is restarted after reboot by a second cron entry
57                 to avoid the test being able to get itself into
58                 some stupid loop and so that it's always started
59                 by the appropriate user. You might have to make
60                 the second cron run later if your build takes ages.
61         - Point the email addresses somewhere appropriate
62         - When run in "cron-init" or "init" states, the script
63                 will p_tupdate itself and restart. If you start
64                 with an empty source tree, you'll need to check
65                 out the xfstests/tools/auto-qa script before it'll
66                 work (duh).
67
68 good luck.