You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by ro...@apache.org on 2014/08/07 14:37:32 UTC
[1/2] git commit: THRIFT-2578 Moving 'make cross' from test.sh to
test.py
Repository: thrift
Updated Branches:
refs/heads/master 16c164ed3 -> 7fd06407a
THRIFT-2578 Moving 'make cross' from test.sh to test.py
Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/c53bbd2c
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/c53bbd2c
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/c53bbd2c
Branch: refs/heads/master
Commit: c53bbd2c4b2df1dafaf71fec822269b0a63268ef
Parents: 16c164e
Author: cdwijayarathna <cd...@gmail.com>
Authored: Wed Aug 6 01:21:06 2014 +0530
Committer: Roger Meier <ro...@apache.org>
Committed: Thu Aug 7 03:20:21 2014 +0200
----------------------------------------------------------------------
test/test.py | 42 ++++++++++++++++++++++++++++--------------
test/tests.json | 13 +++++++++++--
2 files changed, 39 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/thrift/blob/c53bbd2c/test/test.py
----------------------------------------------------------------------
diff --git a/test/test.py b/test/test.py
index 00d2d0d..f69cb62 100644
--- a/test/test.py
+++ b/test/test.py
@@ -60,14 +60,16 @@ def runServiceTest(test_name, server_lib, server_executable, server_extra_args,
server_args = []
cli_args = []
if server_lib == 'java':
- server_executable[2] = relfile(server_executable[2])
- server_args.extend(server_executable)
+ server_args.append(server_executable[0])
+ server_args.append(server_executable[1])
+ server_args.append(relfile(server_executable[2]))
server_args.extend(['-Dtestargs','\"'])
else:
server_args = [relfile(server_executable)]
if client_lib == 'java':
- client_executable[2] = relfile(client_executable[2])
- cli_args.extend(client_executable)
+ cli_args.append(client_executable[0])
+ cli_args.append(client_executable[1])
+ cli_args.append(relfile(client_executable[2]))
cli_args.extend(['-Dtestargs','\"'])
else:
cli_args = [relfile(client_executable)]
@@ -90,14 +92,18 @@ def runServiceTest(test_name, server_lib, server_executable, server_extra_args,
# which.append('-v')
if server_lib == 'java':
server_args.append('\"')
+ elif server_lib == 'py':
+ server_args.append('--genpydir=' + relfile('py/gen-py'))
if client_lib == 'java':
cli_args.append('\"')
+ elif client_lib == 'py':
+ cli_args.append('--genpydir=' + relfile('py/gen-py'))
server_args.extend(server_extra_args)
cli_args.extend(client_extra_args)
- server_log=open("log/" + test_name + "_server.log","a")
- client_log=open("log/" + test_name + "_client.log","a")
+ server_log=open(relfile("log/" + test_name + "_server.log"),"a")
+ client_log=open(relfile("log/" + test_name + "_client.log"),"a")
try:
if options.verbose > 0:
@@ -169,8 +175,8 @@ def runServiceTest(test_name, server_lib, server_executable, server_extra_args,
'processes to terminate via alarm'
% (protocol, use_zlib, use_ssl, extra_sleep))
time.sleep(extra_sleep)
- os.kill(serverproc.pid, signal.SIGKILL)
- serverproc.wait()
+ os.kill(serverproc.pid, signal.SIGTERM)
+ #serverproc.wait()
client_log.flush()
server_log.flush()
client_log.close()
@@ -178,14 +184,15 @@ def runServiceTest(test_name, server_lib, server_executable, server_extra_args,
test_count = 0
failed = 0
+hard_fail_count = 0
platform = platform.system()
-if os.path.exists('log'): shutil.rmtree('log')
-os.makedirs('log')
-if os.path.exists('results.json'): os.remove('results.json')
-results_json = open("results.json","a")
+if os.path.exists(relfile('log')): shutil.rmtree(relfile('log'))
+os.makedirs(relfile('log'))
+if os.path.exists(relfile('results.json')): os.remove(relfile('results.json'))
+results_json = open(relfile("results.json"),"a")
results_json.write("[\n")
-with open('tests.json') as data_file:
+with open(relfile('tests.json')) as data_file:
data = json.load(data_file)
#subprocess.call("export NODE_PATH=../lib/nodejs/test:../lib/nodejs/lib:${NODE_PATH}")
@@ -217,6 +224,8 @@ for server in data["server"]:
ret = runServiceTest(test_name, server_lib, server_executable, server_extra_args, client_lib, client_executable, client_extra_args, protocol, protocol, transport, 9090, 0, sock)
if ret != None:
failed += 1
+ if client["exit"] == "hard" and server["exit"] == "hard":
+ hard_fail_count +=1
print "Error: %s" % ret
print "Using"
print (' Server: %s --protocol=%s --transport=%s %s %s'
@@ -240,6 +249,8 @@ for server in data["server"]:
if ret != None:
failed += 1
+ if client["exit"] == "hard" and server["exit"] == "hard":
+ hard_fail_count +=1
print "Error: %s" % ret
print "Using"
print (' Server: %s --protocol=%s --transport=%s %s %s'
@@ -262,6 +273,8 @@ for server in data["server"]:
ret = runServiceTest(test_name, server_lib,server_executable, server_extra_args, client_lib, client_executable, client_extra_args, protocol, 'binary', transport, 9090, 0, sock)
if ret != None:
failed += 1
+ if client["exit"] == "hard" and server["exit"] == "hard":
+ hard_fail_count +=1
print "Error: %s" % ret
print "Using"
print (' Server: %s --protocol=%s --transport=%s %s %s'
@@ -276,4 +289,5 @@ for server in data["server"]:
results_json.write("\n]")
results_json.flush()
results_json.close()
-print '%s failed of %s tests in total' % (failed, test_count)
\ No newline at end of file
+print '%s failed of %s tests in total' % (failed, test_count)
+sys.exit(hard_fail_count)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/thrift/blob/c53bbd2c/test/tests.json
----------------------------------------------------------------------
diff --git a/test/tests.json b/test/tests.json
index 2c16a69..54d699e 100644
--- a/test/tests.json
+++ b/test/tests.json
@@ -4,7 +4,7 @@
"description": "Python TestClient",
"lib": "py",
"executable": "py/TestClient.py",
- "extra_args": ["--genpydir=py/gen-py"],
+ "exit": "hard",
"protocols": [
"binary",
"compact",
@@ -27,6 +27,7 @@
"description": "C++ TestClient",
"lib": "cpp",
"executable": "cpp/TestClient",
+ "exit": "soft",
"protocols": [
"binary",
"compact",
@@ -50,6 +51,7 @@
"description": "Nodejs TestClient",
"lib": "nodejs",
"executable": "../lib/nodejs/test/client.js",
+ "exit": "soft",
"protocols": [
"binary",
"compact",
@@ -71,6 +73,7 @@
"description": "Ruby TestClient",
"lib": "ruby",
"executable": "rb/integration/TestClient.rb",
+ "exit": "soft",
"protocols": [
"binary",
"compact",
@@ -93,6 +96,7 @@
"lib": "java",
"executable": ["ant","-f","../lib/java/build.xml","-Dno-gen-thrift=\"\""],
"extra_args": ["run-testclient"],
+ "exit": "soft",
"protocols": [
"binary",
"compact",
@@ -118,8 +122,9 @@
"description": "Python TSimpleServer",
"lib": "py",
"executable": "py/TestServer.py",
- "extra_args": ["--genpydir=py/gen-py", "TSimpleServer"],
+ "extra_args": ["TSimpleServer"],
"extra_delay": 0,
+ "exit": "hard",
"protocols": [
"binary",
"compact",
@@ -142,6 +147,7 @@
"description": "C++ TestServer",
"lib": "cpp",
"executable": "cpp/TestServer",
+ "exit": "hard",
"protocols": [
"binary",
"compact",
@@ -165,6 +171,7 @@
"description": "Ruby TestServer",
"lib": "ruby",
"executable": "rb/integration/TestServer.rb",
+ "exit": "soft",
"protocols": [
"binary",
"compact",
@@ -186,6 +193,7 @@
"description": "Nodejs TestServer",
"lib": "nodejs",
"executable": "../lib/nodejs/test/server.js",
+ "exit": "soft",
"protocols": [
"binary",
"compact",
@@ -208,6 +216,7 @@
"lib": "java",
"executable": ["ant","-f","../lib/java/build.xml","-Dno-gen-thrift=\"\""],
"extra_args": ["run-testserver"],
+ "exit": "soft",
"protocols": [
"binary",
"compact",
[2/2] git commit: THRIFT-2649 TAsyncClientManager leaks the selector
Posted by ro...@apache.org.
THRIFT-2649 TAsyncClientManager leaks the selector
Client: Java
Patch: Roelof Naude
Signed-off-by: Roger Meier <ro...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/7fd06407
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/7fd06407
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/7fd06407
Branch: refs/heads/master
Commit: 7fd06407a035795bccceade0e56768825e927004
Parents: c53bbd2
Author: Roger Meier <ro...@apache.org>
Authored: Thu Aug 7 14:36:49 2014 +0200
Committer: Roger Meier <ro...@apache.org>
Committed: Thu Aug 7 14:36:49 2014 +0200
----------------------------------------------------------------------
lib/java/src/org/apache/thrift/async/TAsyncClientManager.java | 6 ++++++
1 file changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/thrift/blob/7fd06407/lib/java/src/org/apache/thrift/async/TAsyncClientManager.java
----------------------------------------------------------------------
diff --git a/lib/java/src/org/apache/thrift/async/TAsyncClientManager.java b/lib/java/src/org/apache/thrift/async/TAsyncClientManager.java
index 6fcf4b4..c07ccd5 100644
--- a/lib/java/src/org/apache/thrift/async/TAsyncClientManager.java
+++ b/lib/java/src/org/apache/thrift/async/TAsyncClientManager.java
@@ -117,6 +117,12 @@ public class TAsyncClientManager {
LOGGER.error("Ignoring uncaught exception in SelectThread", exception);
}
}
+
+ try {
+ selector.close();
+ } catch (IOException ex) {
+ LOGGER.warn("Could not close selector. This may result in leaked resources!", ex);
+ }
}
// Transition methods for ready keys