[Zope3-checkins]
SVN: zope.testing/branches/benji-parallelize-subprocesses/src/zope/testing/testrunner/runner.py
fix a bug (inherited from the trunk) that causes any
subprocesses that generate
Benji York
benji at zope.com
Fri Jul 4 20:59:12 EDT 2008
Log message for revision 88029:
fix a bug (inherited from the trunk) that causes any subprocesses that generate
output on stderr to report an error (and not have their successes, failure,
etc. counted); needs tests
Changed:
U zope.testing/branches/benji-parallelize-subprocesses/src/zope/testing/testrunner/runner.py
-=-
Modified: zope.testing/branches/benji-parallelize-subprocesses/src/zope/testing/testrunner/runner.py
===================================================================
--- zope.testing/branches/benji-parallelize-subprocesses/src/zope/testing/testrunner/runner.py 2008-07-05 00:49:47 UTC (rev 88028)
+++ zope.testing/branches/benji-parallelize-subprocesses/src/zope/testing/testrunner/runner.py 2008-07-05 00:59:12 UTC (rev 88029)
@@ -410,15 +410,24 @@
else:
break
- line = suberr.readline()
- try:
- ran, nfail, nerr = map(int, line.strip().split())
- except KeyboardInterrupt:
- raise
- except:
- raise SubprocessError(
- 'No subprocess summary found', line+suberr.read())
+ # Subprocesses may have spewed any number of things to stderr, so we'll
+ # keep looking until we find the information we're looking for.
+ whole_suberr = ''
+ while True:
+ line = suberr.readline()
+ whole_suberr += line
+ if not line:
+ raise SubprocessError(
+ 'No subprocess summary found', whole_suberr)
+ try:
+ ran, nfail, nerr = map(int, line.strip().split())
+ break
+ except KeyboardInterrupt:
+ raise
+ except:
+ continue
+
while nfail > 0:
nfail -= 1
failures.append((suberr.readline().strip(), None))
More information about the Zope3-Checkins
mailing list