Repository: thrift
Updated Branches:
refs/heads/master bee7b7380 -> 11066bd56
THRIFT-2578 Moving 'make cross' from test.sh to test.py
This closes #166
----
commit 0fdd2148af1ea4e3be79ec05a76ea31af0f2b082
Author: cdwijayarathna <[email protected]>
Date: 2014-07-26T17:32:13Z
THRIFT-2578 Moving 'make cross' from test.sh to test.py
----
Signed-off-by: Roger Meier <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/11066bd5
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/11066bd5
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/11066bd5
Branch: refs/heads/master
Commit: 11066bd56d05e6ab1b8dec8cdb4b981c88039c46
Parents: bee7b73
Author: cdwijayarathna <[email protected]>
Authored: Sat Jul 26 23:02:13 2014 +0530
Committer: Roger Meier <[email protected]>
Committed: Sat Jul 26 22:30:37 2014 +0200
----------------------------------------------------------------------
test/test.py | 46 ++++++++++++++++++++++++++--------------------
1 file changed, 26 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/thrift/blob/11066bd5/test/test.py
----------------------------------------------------------------------
diff --git a/test/test.py b/test/test.py
index cab942e..c281ccd 100644
--- a/test/test.py
+++ b/test/test.py
@@ -80,18 +80,18 @@ def runServiceTest(test_name, server_executable,
server_extra_args, client_execu
server_log=open("log/" + test_name + "_server.log","a")
client_log=open("log/" + test_name + "_client.log","a")
- if options.verbose > 0:
- print 'Testing server: %s' % (' '.join(server_args))
- serverproc = subprocess.Popen(server_args, stdout=server_log,
stderr=server_log)
- else:
- serverproc = subprocess.Popen(server_args, stdout=server_log,
stderr=server_log)
+ try:
+ if options.verbose > 0:
+ print 'Testing server: %s' % (' '.join(server_args))
+ serverproc = subprocess.Popen(server_args, stdout=server_log,
stderr=server_log)
+ else:
+ serverproc = subprocess.Popen(server_args, stdout=server_log,
stderr=server_log)
+ except OSError as e:
+ return "OS error({0}): {1}".format(e.errno, e.strerror)
def ensureServerAlive():
if serverproc.poll() is not None:
- print ('FAIL: Server process (%s) failed with retcode %d'
- % (' '.join(server_args), serverproc.returncode))
- raise Exception('Server subprocess died, args: %s'
- % (' '.join(server_args)))
+ return 'Server subprocess died, args: %s' % (' '.join(server_args))
# Wait for the server to start accepting connections on the given port.
sock = socket.socket()
@@ -104,8 +104,7 @@ def runServiceTest(test_name, server_executable,
server_extra_args, client_execu
while sock.connect_ex(('127.0.0.1', port)) != 0:
attempt += 1
if attempt >= max_attempts:
- raise Exception("TestServer not ready on port %d after %.2f seconds"
- % (port, sleep_time * attempt))
+ return "TestServer not ready on port %d after %.2f seconds" % (port,
sleep_time * attempt)
ensureServerAlive()
time.sleep(sleep_time)
finally:
@@ -114,15 +113,20 @@ def runServiceTest(test_name, server_executable,
server_extra_args, client_execu
try:
o = []
def target():
- if options.verbose > 0:
- print 'Testing client: %s' % (' '.join(cli_args))
- process = subprocess.Popen(cli_args, stdout=client_log,
stderr=client_log)
- o.append(process)
- process.communicate()
- else:
- process = subprocess.Popen(cli_args, stdout=client_log,
stderr=client_log)
- o.append(process)
- process.communicate()
+ try:
+ if options.verbose > 0:
+ print 'Testing client: %s' % (' '.join(cli_args))
+ process = subprocess.Popen(cli_args, stdout=client_log,
stderr=client_log)
+ o.append(process)
+ process.communicate()
+ else:
+ process = subprocess.Popen(cli_args, stdout=client_log,
stderr=client_log)
+ o.append(process)
+ process.communicate()
+ except OSError as e:
+ return "OS error({0}): {1}".format(e.errno, e.strerror)
+ except:
+ return "Unexpected error:", sys.exc_info()[0]
thread = threading.Thread(target=target)
thread.start()
@@ -131,6 +135,8 @@ def runServiceTest(test_name, server_executable,
server_extra_args, client_execu
print 'Terminating process'
o[0].terminate()
thread.join()
+ if(len(o)==0):
+ return "Client subprocess failed, args: %s" % (' '.join(cli_args))
ret = o[0].returncode
if ret != 0:
return "Client subprocess failed, retcode=%d, args: %s" % (ret, '
'.join(cli_args))