Architecture: field corrected so package selection works properly.
* adt-testreport-onepackage: use ln -f when installing summary.
* hosts/cadmium/*: new directory for stuff on Canonical buildd.
- * adt-run: increase timeouts 10s, 3ks, 10ks, 100ks.
+ * adt-run: increase timeouts 100s, 3ks, 10ks, 100ks.
* adt-testreport-onepackage: suppress repetitive emails.
* hosts/cadmium/onepackage-config: change destination directory
* adt-testreport-onepackage: support for Launchpad bug filing
in existing bugs suppression file.
* hosts/cadmium/*: convenience scripts changed.
* better formatting and explanations in some emails.
+ * options for setting timeouts.
--
tmpdir = None # pathstring on host
testbed = None # Testbed
errorcode = 0 # exit status that we are going to use
-timeouts = { 'short':10, 'install':3000, 'test':10000, 'build':100000 }
+timeouts = { 'short':100, 'install':3000, 'test':10000, 'build':100000 }
binaries = None # Binaries (.debs we have registered)
build_essential = ["build-essential"]
return "<Action %s %s %s>" % (a.kind, a.what, `a.af`)
def parse_args():
- global opts
+ global opts, timeouts
global n_non_actions # argh, stupid python scoping rules
usage = "%prog <options> --- <virt-server>..."
parser = OptionParser(usage=usage)
help='write a summary report to SUMMARY,'
' emptying it beforehand')
+ for k in timeouts.keys():
+ pa('','--timeout-'+k, type='int', dest='timeout_'+k,
+ metavar='T', help='set %s timeout to T')
+ pa('','--timeout-factor', type='float', dest='timeout_factor',
+ metavar='FACTOR', default=1.0,
+ help='multiply all default timeouts by FACTOR')
+
pa('','--user', type='string', dest='user',
help='run tests as USER (needs root on testbed)')
pa('','--gain-root', type='string', dest='gainroot',
if n_non_actions >= len(parser.largs):
parser.error('nothing to do specified')
+ for k in timeouts.keys():
+ t = getattr(opts,'timeout_'+k)
+ if t is None: t = timeouts[k] * opts.timeout_factor
+ timeouts[k] = int(t)
+
arghandling = initial_arghandling
opts.actions = []
ix = 0
if opts.summary is not None:
summary_stream = open(opts.summary, 'w', 0)
- debug('options: '+`opts`, 1)
+ debug('options: '+`opts`+'; timeouts: '+`timeouts`, 1)
def finalise_options():
global opts, tb, build_essential
in any case.
\fIsummary\fR is not affected by \fB--paths-testbed\fR.
.TP
+.BR --timeout- \fIwhich\fR = \fIseconds\fR
+Use a different timeout for operations on or with the testbed. There
+are four timeouts affected by four values of \fIwhich\fR:
+.BR short :
+supposedly
+short operations like setting up the testbed's apt and checking the
+state (default: 100s);
+.BR install :
+installation of packages including dependencies
+(default: 3ks);
+.BR test :
+test runs (default: 10ks); and
+.BR build :
+builds (default:
+100ks). The value must be specified as an integer number of seconds.
+.TP
+.BR --timeout-factor =\fIdouble\fR
+Multiply all of the default timeouts by the specified factor (see
+\fB--timeout-\fR\fIwhich\fR above). Only the defaults are affected;
+explicit timeout settings are used exactly as specified.
+.TP
.BR --debug | -d
Include additional debugging information in the trace log. Each
additional \fB-d\fR increases the debugging level; the current maximum