summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2015-02-17 11:04:07 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2015-02-17 11:04:07 +0000
commit35575c32277ca6aef07e3e2b2507d1fe845fb71f (patch)
tree1df7f16fcd152c5429a67181359e24b6f7f6dbfa
parent651e5e9a3b8f2d41d0d17d11d725958b5e1d0a3b (diff)
downloadmorph-35575c32277ca6aef07e3e2b2507d1fe845fb71f.tar.gz
1. Two initiators at the same time, 1 line of logs.
No errors.
-rwxr-xr-xscripts/distbuild35
1 files changed, 19 insertions, 16 deletions
diff --git a/scripts/distbuild b/scripts/distbuild
index 9e4991cd..04632d42 100755
--- a/scripts/distbuild
+++ b/scripts/distbuild
@@ -331,22 +331,25 @@ class DistbuildTestHarness(cliapp.Application):
print('Data in %s' % datadir)
initiators = []
-
- for i, triplet in enumerate(to_build):
- initiator = self.start_build(
- 'build-%i' % i, controller, triplet,
- log_path=subdir(datadir, str(i)))
- initiators.append(initiator)
- self.process_monitor.watch(initiator)
-
- while not any(initiator.poll() for initiator in initiators):
- select.select([], [], [], 0.1)
- self.process_monitor.check_all()
-
- if any(initiator.returncode != 0 for initiator in initiators):
- print('Initiator fail')
- else:
- print('Success!')
+ initiator_monitor = ProcessMonitor()
+ try:
+ for i, triplet in enumerate(to_build):
+ initiator = self.start_build(
+ 'build-%i' % i, controller, triplet,
+ log_path=subdir(datadir, str(i)))
+ initiators.append(initiator)
+ initiator_monitor.watch(initiator)
+
+ while not any(initiator.poll() for initiator in initiators):
+ select.select([], [], [], 0.1)
+ self.process_monitor.check_all()
+
+ if any(initiator.returncode != 0 for initiator in initiators):
+ print('Initiator fail')
+ else:
+ print('Success!')
+ finally:
+ initiator_monitor.terminate_all()
finally:
self.process_monitor.terminate_all()
print('Test state kept in %s' % datadir)