-#!/usr/bin/python2.4
+#!/usr/bin/python2.6
#
# adt-run is part of autopkgtest
# autopkgtest is a tool for testing Debian binary packages
xtra = ''
if p.spec is not None:
xtra = ' spec[%s]=%s' % (p.spec, getattr(p,'spec_tb',None))
- raise ("internal error: %s (%s)" % (how, str(p)))
+ raise Exception("internal error: %s (%s)" % (how, str(p)))
def _ensure_path(p, tbp):
if p.path[tbp] is None:
help='run tests as USER (needs root on testbed)')
pa('','--gain-root', type='string', dest='gainroot',
help='prefix debian/rules binary with GAINROOT')
- pa('-q', '--quiet', action='store_false', dest='quiet', default=False);
+ pa('-q', '--quiet', action='store_true', dest='quiet', default=False);
pa('-d', '--debug', action='count', dest='debuglevel', default=0);
pa('','--gnupg-home', type='string', dest='gnupghome',
default='~/.autopkgtest/gpg',
elif type(act) == str:
act = (act,act)
else:
- raise ("unknown action in list `%s' having"
+ raise Exception("unknown action in list `%s' having"
" type `%s'" % (act, type(act)))
(pathstr, kindpath) = act
def __init__(r,rname,base): pass
class Restriction_rw_build_tree(Restriction): pass
+class Restriction_build_neeeded(Restriction): pass
class Restriction_breaks_testbed(Restriction):
def __init__(r, rname, base):
- if 'revert' not in testbed.caps:
+ if 'revert-full-system' not in testbed.caps:
raise Unsupported(f.lno,
- 'Test breaks testbed but testbed cannot revert')
+ 'Test breaks testbed but testbed does not advertise revert-full-system')
class Restriction_needs_root(Restriction):
def __init__(r, rname, base):
if 'root-on-testbed' not in testbed.caps:
return []
lno = 0
- def badctrl(m): act.bomb('tests/control line %d: %s' % (lno, m))
- stz = None # stz[field_name][index] = (lno, value)
+ def badctrl(m): testbed.bomb('tests/control line %d: %s' % (lno, m))
+ stz = { } # stz[field_name][index] = (lno, value)
# special field names:
# stz[' lno'] = number
# stz[' tests'] = list of Test objects
+ # empty dictionary means we're between stanzas
+ def in_stanza(stz):
+ return stz.has_key(' lno')
def end_stanza(stz):
- if stz is None: return
+ if not in_stanza(stz): return
stz[' errs'] = 0
- stanzas.append(stz)
- stz = None
+ stanzas.append(stz.copy())
+ stz.clear()
hcurrent = None
- initre = regexp.compile('([A-Z][-0-9a-z]*)\s*\:\s*(.*)$')
+ initre = regexp.compile('([A-Z][-0-9a-zA-Z]*)\s*\:\s*(.*)$')
while 1:
l = control.readline()
if not l: break
if initmat:
(fname, l) = initmat.groups()
fname = string.capwords(fname)
- if stz is None:
+ if not in_stanza(stz):
stz = { ' lno': lno, ' tests': [] }
if not stz.has_key(fname): stz[fname] = [ ]
hcurrent = stz[fname]