NAME¶
adt-testreport-runloop - repeatedly choose and test packages
SYNOPSYS¶
adt-testreport-runloop [[
!@]
variable=value|[
!@]
settings-file]...
DESCRIPTION¶
adt-testreport-runloop is a rather ad-hoc script which repeatedly invokes
adt-testreport-onepackage; it is designed to be invoked from cron.
WARNING - it is essential to reconfigure this program before use, as the
supplied examples will
send emails to people who will become
very
upset with you!
CONFIGURATION¶
Command-line arguments containing
= are interpreted with
eval;
other arguments are sourced using
., in each case interpreted as bash
script.
Supplied arguments are both executed by a-t-r and passed through to the
invocation of a-t-o. You may prefix an argument with
@ to indicate that
it is for a-t-onepackage only, or with
! to indicate that it is for
a-t-runloop only.
Thus the set of variables which can be set is the union of those for a-t-runloop
itself and those for a-t-onepackage. See the a-t-o manpage for such
information about its configuration as is available. Configuration fragment
authors should bear in mind that both programs use
set -e.
It is quite permissible to set PATH and other needed environmnet variables in
the configuration file.
The following variables may be set:
- distro
- distribution (`suite') to be tested. There is no default.
This variable is used only for the default values of
testbed_check_path and test_classes. However, it is probably
a convenient way of specifying the intended effect particularly as
attempting to do cross-distribution testing in a single installation does
not work properly right now (see a-t-o's BUGS).
- max_test_count
- the maximum number of times to invoke a-t-o. This counts
both passed and failed tests, but it doesn't count possible runs which
were suppressed. Default: 10.
- go_anway
- Run even though the file go does not exist. See
SUPPRESSION, below. Default: false.
- architecture
- Used in combination with distro when calculating the
right default for test_classes. The default is the result from dpkg
--print-architecture.
- testbed_check_path
- If the file named by this variable doesn't exist, a-t-r
will exit. This avoids it spinning and reporting many immediate failures
due to a broken testbed. The default is
/var/lib/autopkgtest/xenlvm/adt_distro/good if distro
is set, which assumes that the Xen-based virtualisation system is being
used; if distro is not set then default is /dev/null which nullifies this
feature.
- test_classes
- Specifies the set of test classes to try, with the details
of each test class separated by a colon : from the next. a-t-r will
run a-t-o once for each listed test class and then return to the beginning
of the list.
Tests in each class are thus selected approximately equally often. (If
max_test_count is not a multiple of the number of actual test classes then
early classes are used slightly more.)
Each test class consists of a set of suppression checks, a comma ,,
and some configuration arguments for a-t-o. The suppression checks are
whitespace-separated words; see SUPPRESSION. The configuration arguments
are likewise whitespace-separated. There is no provision for passing
configuration arguments containing spaces to a-t-o. a-t-o arguments in
test classes override other configuration settings.
The default is source distro, target=source : binary
distro, target=binary-architecture which
tests binary packages and source packages from the same distribution in
alternation
SUPPRESSION¶
a-t-r is designed to be enabled and disabled by sentinel files.
Firstly, if the file
go does not exist in its working directory, it will
stop at the first sensible opportunity. (See also the go_anyway configuration
variable.)
Secondly, test classes may specify suppression checks. For each such check
classcheck, a-t-r will test for the existence of
stop-classcheck in its current directory. If that file exists,
it will suppress that class of test. Do not suppress all of the tests without
removing
go.
FILES¶
- /var/lib/autopkgtest/xenlvm/adt_distro/good
- default sentinel file for testbed_check_path.
- ./go
- Sentinel file indicating that operation should be
enabled.
- ./stop-classcheck
- Sentinel file indicating that test classes mentioning
classcheck should be suppressed.
adt-testreport-runloop does not use any other files directly, but it will
probably need a configuration file as an argument, and it will invoke
adt-testreport-onepackage which uses many files in the current directory and
which invokes an autopkgtest virtualisation server.
BUGS AND WARNINGS¶
It is essential not to use the example configuration! This configuration
is likely to send inappropriate emails!
There is no locking. Whatever invokes a-t-r should take out a lock of some kind.
See the example cronjobs provided in
hosts/*/cronjob in the source
package.
If all of the test classes are suppressed, a-t-r will spin in a tight loop
looking for something to do.
The
testbed_check_path feature is rather ad-hoc. It would be better to
query the virtualisation server to be used directly and then suppress the test
class if relevant. (But the infinite loop bug would need to be fixed too.)
The design precludes detecting attempts to set incorrectly named configuration
options.
AUTHORS AND COPYRIGHT¶
This manpage is part of autopkgtest, a tool for testing Debian binary packages.
autopkgtest is Copyright (C) 2006-2007 Canonical Ltd and others.
See
/usr/share/doc/autopkgtest/CREDITS for the list of contributors and
full copying conditions.