Browse Source

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.
Brad King 9 years ago
parent
commit
d56f9237d7
1 changed files with 14 additions and 0 deletions
  1. 14 0
      Tests/Server/server-test.py

+ 14 - 0
Tests/Server/server-test.py

@@ -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)