THRIFT-3347 Improve cross test servers and clients
Client: TestSuite, C++, Perl, NodeJS, c_glib, Haskell, Python
Patch: Nobuaki Sukegawa <nsukeg@gmail.com>

This closes #621
diff --git a/test/known_failures_Linux.json b/test/known_failures_Linux.json
index bf05f93..ee12ebf 100644
--- a/test/known_failures_Linux.json
+++ b/test/known_failures_Linux.json
@@ -1,6 +1,9 @@
 [
+  "c_glib-cpp_binary_buffered-ip",
+  "c_glib-cpp_binary_framed-ip",
   "c_glib-csharp_binary_buffered-ip",
   "c_glib-csharp_binary_framed-ip",
+  "c_glib-hs_binary_buffered-ip",
   "c_glib-hs_binary_framed-ip",
   "c_glib-nodejs_binary_buffered-ip",
   "c_glib-nodejs_binary_framed-ip",
@@ -12,11 +15,8 @@
   "c_glib-rb_binary-accel_framed-ip",
   "c_glib-rb_binary_buffered-ip",
   "c_glib-rb_binary_framed-ip",
-  "cpp-cpp_binary_http-domain",
   "cpp-cpp_binary_http-ip",
   "cpp-cpp_compact_http-domain",
-  "cpp-cpp_compact_http-ip",
-  "cpp-cpp_json_http-domain",
   "cpp-cpp_json_http-ip",
   "cpp-csharp_binary_buffered-ip-ssl",
   "cpp-csharp_binary_framed-ip-ssl",
@@ -24,27 +24,9 @@
   "cpp-csharp_compact_framed-ip-ssl",
   "cpp-csharp_json_buffered-ip-ssl",
   "cpp-csharp_json_framed-ip-ssl",
-  "cpp-hs_binary_buffered-ip-ssl",
-  "cpp-hs_binary_framed-ip",
-  "cpp-hs_binary_framed-ip-ssl",
-  "cpp-hs_binary_http-evhttp-ip",
-  "cpp-hs_binary_http-evhttp-ip-ssl",
-  "cpp-hs_binary_http-ip",
-  "cpp-hs_binary_http-ip-ssl",
-  "cpp-hs_compact_buffered-ip-ssl",
-  "cpp-hs_compact_framed-ip",
-  "cpp-hs_compact_framed-ip-ssl",
-  "cpp-hs_compact_http-evhttp-ip",
-  "cpp-hs_compact_http-evhttp-ip-ssl",
-  "cpp-hs_compact_http-ip",
-  "cpp-hs_compact_http-ip-ssl",
-  "cpp-hs_json_buffered-ip-ssl",
+  "cpp-hs_json_buffered-ip",
   "cpp-hs_json_framed-ip",
-  "cpp-hs_json_framed-ip-ssl",
-  "cpp-hs_json_http-evhttp-ip",
-  "cpp-hs_json_http-evhttp-ip-ssl",
   "cpp-hs_json_http-ip",
-  "cpp-hs_json_http-ip-ssl",
   "cpp-java_binary_http-ip",
   "cpp-java_binary_http-ip-ssl",
   "cpp-java_compact_http-ip",
@@ -92,17 +74,11 @@
   "csharp-go_json_framed-ip",
   "csharp-go_json_framed-ip-ssl",
   "csharp-hs_binary_buffered-ip",
-  "csharp-hs_binary_buffered-ip-ssl",
   "csharp-hs_binary_framed-ip",
-  "csharp-hs_binary_framed-ip-ssl",
   "csharp-hs_compact_buffered-ip",
-  "csharp-hs_compact_buffered-ip-ssl",
   "csharp-hs_compact_framed-ip",
-  "csharp-hs_compact_framed-ip-ssl",
   "csharp-hs_json_buffered-ip",
-  "csharp-hs_json_buffered-ip-ssl",
   "csharp-hs_json_framed-ip",
-  "csharp-hs_json_framed-ip-ssl",
   "csharp-java_binary_buffered-ip",
   "csharp-java_binary_buffered-ip-ssl",
   "csharp-java_binary_framed-fastframed-ip",
@@ -151,21 +127,18 @@
   "csharp-rb_json_framed-ip",
   "go-c_glib_binary_buffered-ip",
   "go-c_glib_binary_framed-ip",
+  "go-cpp_json_buffered-ip",
+  "go-cpp_json_buffered-ip-ssl",
+  "go-cpp_json_framed-ip",
+  "go-cpp_json_framed-ip-ssl",
   "go-csharp_binary_buffered-ip-ssl",
   "go-csharp_binary_framed-ip-ssl",
   "go-csharp_compact_buffered-ip-ssl",
   "go-csharp_compact_framed-ip-ssl",
   "go-csharp_json_buffered-ip-ssl",
   "go-csharp_json_framed-ip-ssl",
-  "go-hs_binary_buffered-ip-ssl",
-  "go-hs_binary_framed-ip",
-  "go-hs_binary_framed-ip-ssl",
-  "go-hs_compact_buffered-ip-ssl",
-  "go-hs_compact_framed-ip",
-  "go-hs_compact_framed-ip-ssl",
-  "go-hs_json_buffered-ip-ssl",
+  "go-hs_json_buffered-ip",
   "go-hs_json_framed-ip",
-  "go-hs_json_framed-ip-ssl",
   "go-nodejs_binary_buffered-ip",
   "go-nodejs_binary_buffered-ip-ssl",
   "go-nodejs_binary_framed-ip",
@@ -182,111 +155,26 @@
   "go-perl_binary_framed-ip-ssl",
   "go-rb_json_buffered-ip",
   "go-rb_json_framed-ip",
-  "hs-c_glib_binary_buffered-ip",
-  "hs-c_glib_binary_framed-ip",
-  "hs-cpp_binary_buffered-ip-ssl",
-  "hs-cpp_binary_evhttp-http-ip",
-  "hs-cpp_binary_evhttp-http-ip-ssl",
-  "hs-cpp_binary_framed-ip",
-  "hs-cpp_binary_framed-ip-ssl",
-  "hs-cpp_binary_http-ip",
-  "hs-cpp_binary_http-ip-ssl",
-  "hs-cpp_compact_buffered-ip-ssl",
-  "hs-cpp_compact_evhttp-http-ip",
-  "hs-cpp_compact_evhttp-http-ip-ssl",
-  "hs-cpp_compact_framed-ip",
-  "hs-cpp_compact_framed-ip-ssl",
-  "hs-cpp_compact_http-ip",
-  "hs-cpp_compact_http-ip-ssl",
   "hs-cpp_json_buffered-ip",
-  "hs-cpp_json_buffered-ip-ssl",
-  "hs-cpp_json_evhttp-http-ip",
-  "hs-cpp_json_evhttp-http-ip-ssl",
   "hs-cpp_json_framed-ip",
-  "hs-cpp_json_framed-ip-ssl",
-  "hs-cpp_json_http-ip",
-  "hs-cpp_json_http-ip-ssl",
-  "hs-csharp_binary_buffered-ip",
-  "hs-csharp_binary_buffered-ip-ssl",
   "hs-csharp_binary_framed-ip",
-  "hs-csharp_binary_framed-ip-ssl",
-  "hs-csharp_compact_buffered-ip",
-  "hs-csharp_compact_buffered-ip-ssl",
   "hs-csharp_compact_framed-ip",
-  "hs-csharp_compact_framed-ip-ssl",
   "hs-csharp_json_buffered-ip",
-  "hs-csharp_json_buffered-ip-ssl",
   "hs-csharp_json_framed-ip",
-  "hs-csharp_json_framed-ip-ssl",
   "hs-go_binary_buffered-ip",
-  "hs-go_binary_buffered-ip-ssl",
   "hs-go_binary_framed-ip",
-  "hs-go_binary_framed-ip-ssl",
   "hs-go_compact_buffered-ip",
-  "hs-go_compact_buffered-ip-ssl",
   "hs-go_compact_framed-ip",
-  "hs-go_compact_framed-ip-ssl",
   "hs-go_json_buffered-ip",
-  "hs-go_json_buffered-ip-ssl",
   "hs-go_json_framed-ip",
-  "hs-go_json_framed-ip-ssl",
-  "hs-java_binary_buffered-ip-ssl",
-  "hs-java_binary_evhttp-http-ip",
-  "hs-java_binary_evhttp-http-ip-ssl",
-  "hs-java_binary_framed-fastframed-ip",
-  "hs-java_binary_framed-fastframed-ip-ssl",
-  "hs-java_binary_framed-ip",
-  "hs-java_binary_framed-ip-ssl",
-  "hs-java_binary_http-ip",
-  "hs-java_binary_http-ip-ssl",
-  "hs-java_compact_buffered-ip-ssl",
-  "hs-java_compact_evhttp-http-ip",
-  "hs-java_compact_evhttp-http-ip-ssl",
-  "hs-java_compact_framed-fastframed-ip",
-  "hs-java_compact_framed-fastframed-ip-ssl",
-  "hs-java_compact_framed-ip",
-  "hs-java_compact_framed-ip-ssl",
-  "hs-java_compact_http-ip",
-  "hs-java_compact_http-ip-ssl",
-  "hs-java_json_buffered-ip-ssl",
-  "hs-java_json_evhttp-http-ip",
-  "hs-java_json_evhttp-http-ip-ssl",
-  "hs-java_json_framed-fastframed-ip",
-  "hs-java_json_framed-fastframed-ip-ssl",
-  "hs-java_json_framed-ip",
-  "hs-java_json_framed-ip-ssl",
-  "hs-java_json_http-ip",
-  "hs-java_json_http-ip-ssl",
   "hs-nodejs_binary_buffered-ip",
-  "hs-nodejs_binary_buffered-ip-ssl",
   "hs-nodejs_binary_framed-ip",
-  "hs-nodejs_binary_framed-ip-ssl",
   "hs-nodejs_compact_buffered-ip",
-  "hs-nodejs_compact_buffered-ip-ssl",
   "hs-nodejs_compact_framed-ip",
-  "hs-nodejs_compact_framed-ip-ssl",
   "hs-nodejs_json_buffered-ip",
-  "hs-nodejs_json_buffered-ip-ssl",
   "hs-nodejs_json_framed-ip",
-  "hs-nodejs_json_framed-ip-ssl",
-  "hs-php_binary_framed-ip",
-  "hs-php_compact_framed-ip",
-  "hs-py_binary-accel_buffered-ip-ssl",
-  "hs-py_binary-accel_framed-ip",
-  "hs-py_binary-accel_framed-ip-ssl",
-  "hs-py_binary_buffered-ip-ssl",
-  "hs-py_binary_framed-ip",
-  "hs-py_binary_framed-ip-ssl",
-  "hs-py_compact_buffered-ip-ssl",
-  "hs-py_compact_framed-ip",
-  "hs-py_compact_framed-ip-ssl",
   "hs-py_json_buffered-ip",
-  "hs-py_json_buffered-ip-ssl",
   "hs-py_json_framed-ip",
-  "hs-py_json_framed-ip-ssl",
-  "hs-rb_binary-accel_framed-ip",
-  "hs-rb_binary_framed-ip",
-  "hs-rb_compact_framed-ip",
   "hs-rb_json_buffered-ip",
   "hs-rb_json_framed-ip",
   "java-csharp_binary_buffered-ip-ssl",
@@ -298,26 +186,28 @@
   "java-csharp_json_buffered-ip-ssl",
   "java-csharp_json_fastframed-framed-ip-ssl",
   "java-csharp_json_framed-ip-ssl",
-  "java-hs_binary_buffered-ip-ssl",
-  "java-hs_binary_fastframed-framed-ip",
-  "java-hs_binary_fastframed-framed-ip-ssl",
-  "java-hs_binary_framed-ip",
-  "java-hs_binary_framed-ip-ssl",
-  "java-hs_compact_buffered-ip-ssl",
-  "java-hs_compact_fastframed-framed-ip",
-  "java-hs_compact_fastframed-framed-ip-ssl",
-  "java-hs_compact_framed-ip",
-  "java-hs_compact_framed-ip-ssl",
-  "java-hs_json_buffered-ip-ssl",
+  "java-hs_json_buffered-ip",
   "java-hs_json_fastframed-framed-ip",
-  "java-hs_json_fastframed-framed-ip-ssl",
   "java-hs_json_framed-ip",
-  "java-hs_json_framed-ip-ssl",
   "java-nodejs_json_buffered-ip",
   "java-nodejs_json_buffered-ip-ssl",
   "java-rb_json_buffered-ip",
   "java-rb_json_fastframed-framed-ip",
   "java-rb_json_framed-ip",
+  "nodejs-c_glib_binary_buffered-ip",
+  "nodejs-c_glib_binary_framed-ip",
+  "nodejs-cpp_binary_buffered-ip",
+  "nodejs-cpp_binary_buffered-ip-ssl",
+  "nodejs-cpp_binary_framed-ip",
+  "nodejs-cpp_binary_framed-ip-ssl",
+  "nodejs-cpp_compact_buffered-ip",
+  "nodejs-cpp_compact_buffered-ip-ssl",
+  "nodejs-cpp_compact_framed-ip",
+  "nodejs-cpp_compact_framed-ip-ssl",
+  "nodejs-cpp_json_buffered-ip",
+  "nodejs-cpp_json_buffered-ip-ssl",
+  "nodejs-cpp_json_framed-ip",
+  "nodejs-cpp_json_framed-ip-ssl",
   "nodejs-csharp_binary_buffered-ip",
   "nodejs-csharp_binary_buffered-ip-ssl",
   "nodejs-csharp_binary_framed-ip",
@@ -330,17 +220,25 @@
   "nodejs-csharp_json_buffered-ip-ssl",
   "nodejs-csharp_json_framed-ip",
   "nodejs-csharp_json_framed-ip-ssl",
-  "nodejs-hs_binary_buffered-ip-ssl",
+  "nodejs-hs_binary_buffered-ip",
   "nodejs-hs_binary_framed-ip",
-  "nodejs-hs_binary_framed-ip-ssl",
-  "nodejs-hs_compact_buffered-ip-ssl",
+  "nodejs-hs_compact_buffered-ip",
   "nodejs-hs_compact_framed-ip",
-  "nodejs-hs_compact_framed-ip-ssl",
   "nodejs-hs_json_buffered-ip",
-  "nodejs-hs_json_buffered-ip-ssl",
   "nodejs-hs_json_framed-ip",
-  "nodejs-hs_json_framed-ip-ssl",
   "nodejs-java_json_buffered-ip-ssl",
+  "nodejs-py_binary-accel_buffered-ip",
+  "nodejs-py_binary-accel_buffered-ip-ssl",
+  "nodejs-py_binary-accel_framed-ip",
+  "nodejs-py_binary-accel_framed-ip-ssl",
+  "nodejs-py_binary_buffered-ip",
+  "nodejs-py_binary_buffered-ip-ssl",
+  "nodejs-py_binary_framed-ip",
+  "nodejs-py_binary_framed-ip-ssl",
+  "nodejs-py_compact_buffered-ip",
+  "nodejs-py_compact_buffered-ip-ssl",
+  "nodejs-py_compact_framed-ip",
+  "nodejs-py_compact_framed-ip-ssl",
   "nodejs-py_json_buffered-ip",
   "nodejs-py_json_buffered-ip-ssl",
   "nodejs-py_json_framed-ip",
@@ -354,116 +252,20 @@
   "nodejs-rb_json_buffered-ip",
   "nodejs-rb_json_framed-ip",
   "perl-php_binary_framed-ip",
-  "py-c_glib_accel-binary_buffered-ip",
-  "py-c_glib_accel-binary_framed-ip",
-  "py-c_glib_binary_buffered-ip",
-  "py-c_glib_binary_framed-ip",
-  "py-cpp_accel-binary_buffered-ip",
-  "py-cpp_accel-binary_buffered-ip-ssl",
-  "py-cpp_accel-binary_framed-ip",
-  "py-cpp_accel-binary_framed-ip-ssl",
-  "py-cpp_binary_buffered-ip",
-  "py-cpp_binary_buffered-ip-ssl",
-  "py-cpp_binary_framed-ip",
-  "py-cpp_binary_framed-ip-ssl",
-  "py-cpp_compact_buffered-ip",
-  "py-cpp_compact_buffered-ip-ssl",
-  "py-cpp_compact_framed-ip",
-  "py-cpp_compact_framed-ip-ssl",
-  "py-cpp_json_buffered-ip",
-  "py-cpp_json_buffered-ip-ssl",
-  "py-cpp_json_framed-ip",
-  "py-cpp_json_framed-ip-ssl",
-  "py-csharp_accel-binary_buffered-ip",
   "py-csharp_accel-binary_buffered-ip-ssl",
-  "py-csharp_accel-binary_framed-ip",
   "py-csharp_accel-binary_framed-ip-ssl",
-  "py-csharp_binary_buffered-ip",
   "py-csharp_binary_buffered-ip-ssl",
-  "py-csharp_binary_framed-ip",
   "py-csharp_binary_framed-ip-ssl",
-  "py-csharp_compact_buffered-ip",
   "py-csharp_compact_buffered-ip-ssl",
-  "py-csharp_compact_framed-ip",
   "py-csharp_compact_framed-ip-ssl",
-  "py-csharp_json_buffered-ip",
   "py-csharp_json_buffered-ip-ssl",
-  "py-csharp_json_framed-ip",
   "py-csharp_json_framed-ip-ssl",
-  "py-go_accel-binary_buffered-ip",
-  "py-go_accel-binary_buffered-ip-ssl",
-  "py-go_accel-binary_framed-ip",
-  "py-go_accel-binary_framed-ip-ssl",
-  "py-go_binary_buffered-ip",
-  "py-go_binary_buffered-ip-ssl",
-  "py-go_binary_framed-ip",
-  "py-go_binary_framed-ip-ssl",
-  "py-go_compact_buffered-ip",
-  "py-go_compact_buffered-ip-ssl",
-  "py-go_compact_framed-ip",
-  "py-go_compact_framed-ip-ssl",
-  "py-go_json_buffered-ip",
-  "py-go_json_buffered-ip-ssl",
-  "py-go_json_framed-ip",
-  "py-go_json_framed-ip-ssl",
-  "py-hs_accel-binary_buffered-ip",
-  "py-hs_accel-binary_buffered-ip-ssl",
-  "py-hs_accel-binary_framed-ip",
-  "py-hs_accel-binary_framed-ip-ssl",
-  "py-hs_binary_buffered-ip",
-  "py-hs_binary_buffered-ip-ssl",
-  "py-hs_binary_framed-ip",
-  "py-hs_binary_framed-ip-ssl",
-  "py-hs_compact_buffered-ip",
-  "py-hs_compact_buffered-ip-ssl",
-  "py-hs_compact_framed-ip",
-  "py-hs_compact_framed-ip-ssl",
   "py-hs_json_buffered-ip",
-  "py-hs_json_buffered-ip-ssl",
   "py-hs_json_framed-ip",
-  "py-hs_json_framed-ip-ssl",
-  "py-java_accel-binary_buffered-ip",
-  "py-java_accel-binary_buffered-ip-ssl",
-  "py-java_accel-binary_framed-fastframed-ip",
-  "py-java_accel-binary_framed-fastframed-ip-ssl",
-  "py-java_accel-binary_framed-ip",
-  "py-java_accel-binary_framed-ip-ssl",
-  "py-java_binary_buffered-ip",
-  "py-java_binary_buffered-ip-ssl",
-  "py-java_binary_framed-fastframed-ip",
-  "py-java_binary_framed-fastframed-ip-ssl",
-  "py-java_binary_framed-ip",
-  "py-java_binary_framed-ip-ssl",
-  "py-java_compact_buffered-ip",
-  "py-java_compact_buffered-ip-ssl",
-  "py-java_compact_framed-fastframed-ip",
-  "py-java_compact_framed-fastframed-ip-ssl",
-  "py-java_compact_framed-ip",
-  "py-java_compact_framed-ip-ssl",
-  "py-java_json_buffered-ip",
-  "py-java_json_buffered-ip-ssl",
-  "py-java_json_framed-fastframed-ip",
-  "py-java_json_framed-fastframed-ip-ssl",
-  "py-java_json_framed-ip",
-  "py-java_json_framed-ip-ssl",
-  "py-nodejs_accel-binary_buffered-ip",
-  "py-nodejs_accel-binary_buffered-ip-ssl",
-  "py-nodejs_accel-binary_framed-ip",
-  "py-nodejs_accel-binary_framed-ip-ssl",
-  "py-nodejs_binary_buffered-ip",
-  "py-nodejs_binary_buffered-ip-ssl",
-  "py-nodejs_binary_framed-ip",
-  "py-nodejs_binary_framed-ip-ssl",
-  "py-nodejs_compact_buffered-ip",
-  "py-nodejs_compact_buffered-ip-ssl",
-  "py-nodejs_compact_framed-ip",
-  "py-nodejs_compact_framed-ip-ssl",
   "py-nodejs_json_buffered-ip",
   "py-nodejs_json_buffered-ip-ssl",
   "py-nodejs_json_framed-ip",
   "py-nodejs_json_framed-ip-ssl",
-  "py-php_json_buffered-ip",
-  "py-php_json_framed-ip",
   "py-rb_accel-binary_buffered-ip",
   "py-rb_accel-binary_framed-ip",
   "py-rb_accel_buffered-ip",
@@ -480,11 +282,11 @@
   "rb-c_glib_accel-binary_framed-ip",
   "rb-c_glib_binary_buffered-ip",
   "rb-c_glib_binary_framed-ip",
+  "rb-cpp_json_buffered-ip",
+  "rb-cpp_json_framed-ip",
   "rb-csharp_json_buffered-ip",
   "rb-csharp_json_framed-ip",
-  "rb-hs_accel-binary_framed-ip",
-  "rb-hs_binary_framed-ip",
-  "rb-hs_compact_framed-ip",
+  "rb-hs_json_buffered-ip",
   "rb-hs_json_framed-ip",
   "rb-nodejs_json_buffered-ip",
   "rb-nodejs_json_framed-ip",