From: Ian Jackson Date: Tue, 28 Aug 2007 16:28:24 +0000 (+0100) Subject: * adt-run: increase timeouts 100s, 3ks, 10ks, 100ks. X-Git-Tag: converted-from-bzr~38 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=0aea8a815f241afddda831fb512249bffb3c92b3;p=autopkgtest.git * adt-run: increase timeouts 100s, 3ks, 10ks, 100ks. * options for setting timeouts. --- diff --git a/debian/changelog b/debian/changelog index 3a3c4d6..449d39a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,7 +4,7 @@ autopkgtest (1.0.4) unstable; urgency=low 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 @@ -14,6 +14,7 @@ autopkgtest (1.0.4) unstable; urgency=low in existing bugs suppression file. * hosts/cadmium/*: convenience scripts changed. * better formatting and explanations in some emails. + * options for setting timeouts. -- diff --git a/runner/adt-run b/runner/adt-run index eb4fb2c..c14e926 100755 --- a/runner/adt-run +++ b/runner/adt-run @@ -45,7 +45,7 @@ signal.signal(signal.SIGINT, signal.SIG_DFL) # undo stupid Python SIGINT thing 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"] @@ -408,7 +408,7 @@ class Action: return "" % (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 --- ..." parser = OptionParser(usage=usage) @@ -558,6 +558,13 @@ def parse_args(): 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', @@ -594,6 +601,11 @@ def parse_args(): 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 @@ -654,7 +666,7 @@ def setup_trace(): 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 diff --git a/runner/adt-run.1 b/runner/adt-run.1 index fda5fd6..ff1a661 100644 --- a/runner/adt-run.1 +++ b/runner/adt-run.1 @@ -159,6 +159,27 @@ Specifies that a summary of the outcome should be written to 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