THRIFT-2641 Improvements to Haskell Compiler/Libraries
- test/test.sh integration
- add json and compact protocol
This closes #175
Signed-off-by: Roger Meier <roger@apache.org>
diff --git a/test/test.sh b/test/test.sh
index 2f74739..5d06e47 100755
--- a/test/test.sh
+++ b/test/test.sh
@@ -208,6 +208,95 @@
ruby_transports="buffered framed"
ruby_sockets="ip"
+hs_protocols="binary compact json"
+hs_transports="buffered"
+hs_sockets="ip"
+
+######### hs client - hs server ###############
+for proto in $hs_protocols; do
+ for trans in $hs_transports; do
+ for sock in $hs_sockets; do
+ case "$sock" in
+ "ip" ) extraparam="";;
+ "ip-ssl" ) extraparam="--ssl";;
+ "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
+ esac
+ do_test "hs-hs" "${proto}" "${trans}-${sock}" \
+ "hs/TestClient --protocol ${proto} --transport ${trans} ${extraparam}" \
+ "hs/TestServer --protocol ${proto} --transport ${trans} ${extraparam}" \
+ "2" "0.1"
+ done
+ done
+done
+
+######### hs client - cpp server ###############
+for proto in $(intersection "${hs_protocols}" "${cpp_protocols}"); do
+ for trans in $(intersection "${hs_transports}" "${cpp_transports}"); do
+ for sock in $(intersection "${hs_sockets}" "${cpp_sockets}"); do
+ case "$sock" in
+ "ip" ) extraparam="";;
+ "ip-ssl" ) extraparam="--ssl";;
+ "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
+ esac
+ do_test "hs-cpp" "${proto}" "${trans}-${sock}" \
+ "hs/TestClient --protocol ${proto} --transport ${trans} ${extraparam}" \
+ "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}" \
+ "2" "0.1"
+ done
+ done
+done
+
+######### cpp client - hs server ###############
+for proto in $(intersection "${hs_protocols}" "${cpp_protocols}"); do
+ for trans in $(intersection "${hs_transports}" "${cpp_transports}"); do
+ for sock in $(intersection "${hs_sockets}" "${cpp_sockets}"); do
+ case "$sock" in
+ "ip" ) extraparam="";;
+ "ip-ssl" ) extraparam="--ssl";;
+ "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
+ esac
+ do_test "cpp-hs" "${proto}" "${trans}-${sock}" \
+ "cpp/TestClient --protocol=${proto} --transport=${trans} ${extraparam}" \
+ "hs/TestServer --protocol ${proto} --transport ${trans} ${extraparam}" \
+ "2" "0.1"
+ done
+ done
+done
+
+######### hs client - java server ###############
+for proto in $(intersection "${hs_protocols}" "${java_protocols}"); do
+ for trans in $(intersection "${hs_transports}" "${java_transports}"); do
+ for sock in $(intersection "${hs_sockets}" "${java_sockets}"); do
+ case "$sock" in
+ "ip" ) extraparam="";;
+ "ip-ssl" ) extraparam="--ssl";;
+ "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
+ esac
+ do_test "hs-java" "${proto}" "${trans}-${sock}" \
+ "hs/TestClient --protocol ${proto} --transport ${trans} ${extraparam}" \
+ "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testserver" \
+ "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}" \
+ "5" "1"
+ done
+ done
+done
+
+######### java client - hs server ###############
+for proto in $(intersection "${hs_protocols}" "${java_protocols}"); do
+ for trans in $(intersection "${hs_transports}" "${java_transports}"); do
+ for sock in $(intersection "${hs_sockets}" "${java_sockets}"); do
+ case "$sock" in
+ "ip" ) extraparam="";;
+ "ip-ssl" ) extraparam="--ssl";;
+ "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
+ esac
+ do_test "java-hs" "${proto}" "${trans}-${sock}" \
+ "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testclient" \
+ "hs/TestServer --protocol ${proto} --transport ${trans} ${extraparam}" \
+ "5" "1"
+ done
+ done
+done
######### java client - java server #############
for proto in $java_protocols; do
@@ -860,7 +949,6 @@
done
done
-
do_test "js-java" "json" "http-ip" \
"" \
"ant -f ../lib/js/test/build.xml unittest" \