adt-testreport-runloop - repeatedly choose and test packages
adt-testreport-runloop is a rather ad-hoc script which repeatedly
invokes adt-testreport-onepackage; it is designed to be invoked from
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!
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
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.
Run even though the file go does not exist. See SUPPRESSION,
below. Default: false.
Used in combination with distro when calculating the right
default for test_classes. The default is the result from dpkg
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.
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
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
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.
default sentinel file for testbed_check_path.
./go Sentinel file indicating that operation should be enabled.
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
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
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
See /usr/share/doc/autopkgtest/CREDITS for the list of contributors and
full copying conditions.