~gary/zope.testing/3.9.4-fork

« back to all changes in this revision

Viewing changes to src/zope/testing/testrunner/runner.py

  • Committer: Graham Binns
  • Date: 2012-03-26 14:26:41 UTC
  • Revision ID: graham@canonical.com-20120326142641-74gaap0gvpz43qqn
Fixed the bug.

Show diffs side-by-side

added added

removed removed

Lines of Context:
240
240
        if setup_layers:
241
241
            if self.options.resume_layer is None:
242
242
                self.options.output.info("Tearing down left over layers:")
243
 
            tear_down_unneeded(self.options, (), setup_layers, True)
 
243
            try:
 
244
                tear_down_unneeded(self.options, (), setup_layers, True)
 
245
            except Exception:
 
246
                f = cStringIO.StringIO()
 
247
                traceback.print_exc(file=f)
 
248
                self.options.output.error(f.getvalue())
 
249
                self.errors.append((SetUpLayerFailure(), sys.exc_info()))
244
250
 
245
251
        self.failed = bool(self.import_errors or self.failures or self.errors)
246
252
 
358
364
    needed = dict([(l, 1) for l in gathered])
359
365
    if options.resume_number != 0:
360
366
        output.info("Running %s tests:" % layer_name)
361
 
    tear_down_unneeded(options, needed, setup_layers)
 
367
    try:
 
368
        tear_down_unneeded(options, needed, setup_layers)
 
369
    except Exception:
 
370
        f = cStringIO.StringIO()
 
371
        traceback.print_exc(file=f)
 
372
        output.error(f.getvalue())
 
373
        errors.append((SetUpLayerFailure(), sys.exc_info()))
 
374
        return 0
362
375
 
363
376
    if options.resume_layer is not None:
364
377
        output.info_suboptimal("  Running in a subprocess.")