-if sys.version_info >= (3, 3):
- try:
- daemon_process_return_code = daemon_process.wait(5)
- except subprocess.TimeoutExpired:
- daemon_process.kill()
- daemon_process_return_code = -1
-else:
- daemon_process_return_code = daemon_process.wait()
-
-daemon_process_output = daemon_process.communicate()[0]
-daemon_process_output = daemon_process_output.decode('utf-8').splitlines()
+for line in daemon_process.stdout:
+ name, pid = line.decode('utf-8').split()
+ if name == "child_pid":
+ daemon_pid = int(pid)
+ if name == "parent_pid":
+ parent_pid = int(pid)
+
+daemon_process_return_code = daemon_process.wait()
+
+if parent_pid is None or daemon_pid is None:
+ bail("Unexpected output received from daemon test executable." + str(daemon_process_output))