diff --git a/test/test.sh b/test/test.sh
index 4c76d90..76301c1 100755
--- a/test/test.sh
+++ b/test/test.sh
@@ -33,6 +33,18 @@
   printf "%-16s %-11s %-17s %-s\n" "client-server:" "protocol:" "transport:" "result:"
 }
 
+intersection() {
+  return_value=""
+  for one in $1; do
+    for two in $2; do
+      if [ ${one} = ${two} ]; then
+        return_value=${return_value}" "${one}
+      fi
+    done;
+  done;
+  echo ${return_value};
+}
+
 do_test () {
     client_server=$1
     protocol=$2
@@ -76,16 +88,39 @@
 #TODO add enum for parameters
 #TODO align program arguments across languages
 
-protocols="binary json"
-transports="buffered framed http"
-sockets="ip domain"
+cpp_protocols="binary json"
+java_protocols="binary json compact"
+cpp_transports="buffered framed http"
+java_server_transports="buffered framed fastframed"
+java_client_transports=${java_server_transports}" http"
 # we need a test certificate first
-#sockets="ip ip-ssl domain"
+cpp_sockets="ip domain"
+java_sockets="ip ip-ssl"
+# TODO fastframed java transport is another implementation of framed transport
 
 
-for proto in $protocols; do
-  for trans in $transports; do
-    for sock in $sockets; do
+ant -f ../lib/java/build.xml compile-test 1>/dev/null
+
+######### java client - java server #############
+for proto in $java_protocols; do
+  for trans in $java_server_transports; do
+    for sock in $java_sockets; do
+      case "$sock" in
+        "ip" ) extraparam="";;
+        "ip-ssl" ) extraparam="--ssl";;
+      esac
+      do_test "java-java" "${proto}" "${trans}-${sock}" \
+              "ant -f  ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" testclient" \
+              "ant -f  ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" testserver" \
+            "15" "15"
+    done
+  done
+done
+
+######### cpp client - cpp server ###############
+for proto in $cpp_protocols; do
+  for trans in $cpp_transports; do
+    for sock in $cpp_sockets; do
       case "$sock" in
        "ip" )     extraparam="";;
        "ip-ssl" ) extraparam="--ssl";;
@@ -94,10 +129,43 @@
       do_test "cpp-cpp"   "${proto}" "${trans}-${sock}" \
               "cpp/TestClient --protocol=${proto} --transport=${trans} ${extraparam}" \
               "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}" \
-              "10" "5"
-    done;
-  done;
-done;
+              "10" "10"
+    done
+  done
+done
+
+######### java client - cpp server ##############
+# warning: ssl over http is not supported in java client!
+for proto in $(intersection "${java_protocols}" "${cpp_protocols}"); do
+  for trans in $(intersection "${java_client_transports}" "${cpp_transports}"); do
+    for sock in $(intersection "${java_sockets}" "${cpp_sockets}"); do
+      case "$sock" in
+        "ip" ) extraparam="";;
+        "ip-ssl" ) extraparam="--ssl";;
+      esac
+      do_test "java-cpp" "${proto}" "${trans}-ip" \
+              "ant -f  ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" testclient" \
+              "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}"\
+              "10" "15"
+    done
+  done
+done
+
+######### cpp client - java server ##############
+for proto in $(intersection "${cpp_protocols}" "${java_protocols}"); do
+  for trans in $(intersection "${cpp_transports}" "${java_server_transports}"); do
+    for sock in $(intersection "${java_sockets}" "${cpp_sockets}"); do
+      case "$sock" in
+        "ip" ) extraparam="";;
+        "ip-ssl" ) extraparam="--ssl";;
+      esac
+      do_test "cpp-java" "${proto}" "${trans}-ip" \
+              "cpp/TestClient --protocol=${proto} --transport=${trans}" \
+              "ant -f  ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans}\" testserver" \
+              "15" "10"
+    done
+  done
+done
 
 # delete Unix Domain Socket used by cpp tests
 rm -f /tmp/ThriftTest.thrift
@@ -128,36 +196,20 @@
         "10" "10"
 do_test "py-java"  "binary" "buffered-ip" \
         "py/TestClient.py --proto=binary --port=9090 --host=localhost --genpydir=py/gen-py" \
-        "ant -f  ../lib/java/build.xml testserver" \
-        "120" "10"
-do_test "py-java"  "json"   "buffered-ip" \
+        "ant -f  ../lib/java/build.xml -Dno-gen-thrift=\"\" testserver" \
+        "15" "15"
+do_test "py-java"  "json"   "json-ip" \
         "py/TestClient.py --proto=json --port=9090 --host=localhost --genpydir=py/gen-py" \
-        "ant -f  ../lib/java/build.xml testserver" \
-        "120" "10"
+        "ant -f  ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=json\" testserver" \
+        "15" "10"
 do_test "java-py"  "binary" "buffered-ip" \
-        "ant -f  ../lib/java/build.xml testclient" \
+        "ant -f  ../lib/java/build.xml -Dno-gen-thrift=\"\" testclient" \
         "py/TestServer.py --proto=binary --port=9090 --genpydir=py/gen-py TSimpleServer" \
-        "10" "35"
-do_test "java-java" "binary" "buffered-ip" \
-        "ant -f  ../lib/java/build.xml testclient" \
-        "ant -f  ../lib/java/build.xml testserver" \
-        "120" "35"
-do_test "cpp-java"  "binary" "buffered-ip" \
-        "cpp/TestClient" \
-        "ant -f  ../lib/java/build.xml testserver" \
-        "100" "10"
-do_test "cpp-java"  "json"   "buffered-ip" \
-        "cpp/TestClient" \
-        "ant -f  ../lib/java/build.xml testserver" \
-        "100" "10"
+        "10" "15"
 do_test "js-java"   "json "  "http-ip" \
         "" \
         "ant -f  ../lib/js/test/build.xml unittest" \
-        "120" "10"
-do_test "java-cpp"  "binary" "buffered-ip" \
-        "ant -f  ../lib/java/build.xml testclient" \
-        "cpp/TestServer" \
-        "10" "35"
+        "10" "15"
 do_test "perl-cpp"  "binary" "buffered-ip" \
         "perl -I perl/gen-perl/ -I../lib/perl/lib/ perl/TestClient.pl" \
         "cpp/TestServer" \
