Originally the codes of this test were written by Ivana Varekova (varekova@redhat.com) but not tested and wrapped for autoqa. I modified the codes and put them into one test and created other control and configuration files.
You can get the man_checker test http://matrix.senecac.on.ca/~jwpark2/man_checker.tgz) including "control, control.autoqa, man_checker, man_checker.py" files.
You can also find out addition information on http://zenit.senecac.on.ca/wiki/index.php/AutoQA.
This test has not been fully set but still being examined.
This test is able to check man pages whether the references in "See also" section are valid or whether they point to inexistent tools. The test would be run with post-koji-build hook.
For whom to want to work on this test, the autoqa project provides a basic framework for executing a series of tests and reporting results.
In order to verifiy and run the AutoQA tests, you need to install autoqa and autotest first.
1. Pre-requistes
First, install the autotest and autoqa packages. These packages provide a local test harness and the autoqa hooks, watchers and python libraries needed to verify a test is functioning properly. Be sure to setup the correct package repositories
1. Configure the AutoQA package repository.
# wget -P /etc/yum.repos.d http://repos.fedorapeople.org/repos/fedora-qa/autoqa/fedora-autoqa.repo
2. Finally, with yum repositories configured, use the yum command to install autotest and its dependencies.
# yum install autotest-server
3. Install autoQA
# yum install autoqa
4. configure Cron : On the server you will want to periodically run AutoQA watchers, which will execute corresponding tests. We have prepared a cron file for these purposes, you can install it by:
# cp /usr/share/autoqa/autoqa.cron /etc/cron.d/
2. Examine the watcher
Now we need to simulate running the hook's watcher on AutoQA server to see what commands would be run. My test uses post-koji-build hook, which announces every package built and tagged with dist-fX-updates-candidate tag in Koji. So I would run:
# /usr/share/autoqa/post-koji-build/watch-koji-builds.py --dry-run No previous run - checking builds in the past 3 hours autoqa post-koji-build --kojitag dist-f12-updates-candidate --arch x86_64 --arch i686 espeak-1.42.04-1.fc12 autoqa post-koji-build --kojitag dist-f11-updates-candidate --arch x86_64 kdemultimedia-4.3.4-1.fc11 autoqa post-koji-build --kojitag dist-f11-updates-candidate --arch x86_64 kdeplasma-addons-4.3.4-1.fc11 autoqa post-koji-build --kojitag dist-f12-updates-candidate --arch x86_64 --arch i686 cryptopp-5.6.1-0.1.svn479.fc12 autoqa post-koji-build --kojitag dist-f12-updates-candidate --arch x86_64 drupal-6.15-1.fc12 autoqa post-koji-build --kojitag dist-f12-updates-candidate --arch x86_64 --arch i686 seamonkey-2.0.1-1.fc12 ... output trimmed ... |
3. Run just your test
Now I will run my test for real. But I don't want to run all tests of that post-koji-build hook on it. I will modify the command to look like this:
# autoqa post-koji-build --kojitag dist-f13-updates-candidate --arch x86_64 --arch i686 espeak-1.42.04-1.fc13 --test man_checker The output will look like 13:53:03 DEBUG| Persistent state variable __group_level now set to 1 13:53:03 INFO | START man_checker man_checker timestamp=129252 5583 localtime=Dec 16 13:53:03 13:53:03 DEBUG| Persistent state variable __group_level now set to 2 13:53:03 DEBUG| Crash handling system enabled 13:53:03 DEBUG| Running 'rpm -qa' 13:53:04 INFO | Test started. Number of iterations: 1 13:53:04 INFO | Executing iteration 1 of 1 13:53:04 INFO | Dropping caches between iterations 13:53:04 DEBUG| Running 'sync' 13:53:05 DEBUG| Running 'echo 3 > /proc/sys/vm/drop_caches' 13:53:05 INFO | **************************************** 13:53:05 INFO | * RESULT: CRASHED 13:53:05 INFO | * SUMMARY: man_checker: CRASHED; TypeError: run_once() takes exa ctly 2 non-keyword arguments (1 given) 13:53:05 INFO | * HIGHLIGHTS: 0 lines 13:53:05 INFO | * OUTPUTS: 6 lines |
No comments:
Post a Comment