+ t.tname = tname
+ t.p = opts.build_tree.append(tname, 'test-'+tname)
+ t.p.ontb()
+ def report(t, m):
+ report(t.tname, m)
+ def run(t):
+ testbed.open()
+ so = testbed.scratch.append('stdout-' + t.tname, 'stdout-' + t.tname)
+ se = testbed.scratch.append('stdout-' + t.tname, 'stdout-' + t.tname)
+ rc = testbed.commandr1('execute',(t.p.ontb(),
+ '/dev/null', so.ontb(), se.ontb()))
+ soh = so.onhost()
+ seh = se.onhost()
+ testbed.close()
+ rc = int(rc)
+ stab = os.stat(soh)
+ if stab.st_size != 0:
+ l = file(seh).readline()
+ l = l.rstrip('\n \t\r')
+ if len(l) > 40: l = l[:40] + '...'
+ t.report('FAIL stderr: %s' % l)
+ elif rc != 0:
+ t.report('FAIL non-zero exit status %d' % rc)
+ else:
+ t.report('PASS')