diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2015-02-17 11:04:07 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2015-02-17 11:04:07 +0000 |
commit | 35575c32277ca6aef07e3e2b2507d1fe845fb71f (patch) | |
tree | 1df7f16fcd152c5429a67181359e24b6f7f6dbfa | |
parent | 651e5e9a3b8f2d41d0d17d11d725958b5e1d0a3b (diff) | |
download | morph-35575c32277ca6aef07e3e2b2507d1fe845fb71f.tar.gz |
1. Two initiators at the same time, 1 line of logs.
No errors.
-rwxr-xr-x | scripts/distbuild | 35 |
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) |