Tests: Teach Server test to wait for server exit

We expect the server to exit when its communication pipes are closed.
Close them and wait for the server to exit.  If supported by the current
version of python, kill the server if it does not exit after a few
seconds.
This commit is contained in:
Brad King 2016-09-30 09:36:57 -04:00
parent 8491a539cf
commit d56f9237d7
1 changed files with 14 additions and 0 deletions

View File

@ -102,4 +102,18 @@ for obj in testData:
print("Completed")
# Tell the server to exit.
proc.stdin.close()
proc.stdout.close()
# Wait for the server to exit.
# If this version of python supports it, terminate the server after a timeout.
try:
proc.wait(timeout=5)
except TypeError:
proc.wait()
except:
proc.terminate()
raise
sys.exit(0)