Last two weeks I worked on test infrastructure proposal and
implementation.
The idea is to build ABRT & libreport (and perhaps others related
components), run tests daily and report results to mailing list.
Currently we have ~15 tests range from executing internal test
suites to regression coverage of bugs from Red Hat Bugzilla, as
well as some sanity tests.
How is it expected to work?
===========================
At 2 AM Cron [1] executes `run-abrt-nightly-tests.sh', which installs
Virtual Machine with Fedora 15 by a Kickstart [2] and powers-on the
VM, if was not running (login: root password: redhat).
[1] E.g.: >>> 0 2 * * * root /home/newman/bin/run-abrt-nightly-tests.sh
[2] Currently:
http://mnowak.fedorapeople.org/anaconda-ks.cfg
The Kickstart file provides Anaconda all the info, so it can install
w/o user interaction. Also it should provide most of the packages
the tests need to run.
Part of the Kickstart is Cron job installation[3] which executes
`abrt-nightly-test.sh' [4] at 3 AM which starts and logs all the
tests.
[3] 0 3 * * * root /usr/local/share/abrt-tests/abrt-nightly-test.sh | tee -a
/tmp/abrt-nightly-test.log
[4] Currently:
http://mnowak.fedorapeople.org/abrt/abrt-tests.tar.xz
First, `abrt-nightly-build.sh' [4] builds and installs ABRT and
libreport from Git, if this fails, everything fails. Then, all other
tests are alphabetically executed, one by one.
Summary [5] and complete log [6] is sent to this mailing-list
(currently I am not sure how to reliably send emails because mailx
succeeds in sending email but the email is not delivered then).
[5] "abrt-test-output.summary" in abrt-TESTOUT.tar.xz
[6] abrt-nightly-test.log.xz
What's needed?
- public machine capable of running VM connected to the Internet
- more tests
- integration to upstream Git
Ideas? Comments? Patches?
Michal