summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuaki Sukegawa <nsukeg@gmail.com>2015-03-29 14:48:48 +0900
committerRoger Meier <roger@apache.org>2015-03-29 14:39:32 +0200
commitf5b795d3be6acc0da30afc4b4aa77e531125eec6 (patch)
treeac808f8ea26ea5481f0811f4daa4b273f0b0bde5
parent58ed1cdf3cd4da9d013e4cd4b92b3f4e440d145d (diff)
downloadthrift-f5b795d3be6acc0da30afc4b4aa77e531125eec6.tar.gz
THRIFT-2578 Moving 'make cross' from test.sh to test.py
-rw-r--r--.gitignore1
-rw-r--r--.travis.yml7
-rwxr-xr-xMakefile.am7
-rwxr-xr-xtest/Makefile.am1
-rwxr-xr-xtest/README.md136
-rw-r--r--test/crossrunner/collect.py8
-rw-r--r--test/crossrunner/report.py12
-rwxr-xr-xtest/test.sh1436
8 files changed, 139 insertions, 1469 deletions
diff --git a/.gitignore b/.gitignore
index a3062d85d..70e05f04d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -219,7 +219,6 @@ test-driver
/missing
/node_modules/
/stamp-h1
-/test/status.html
/test/results.json
/test/c_glib/test_client
/test/c_glib/test_server
diff --git a/.travis.yml b/.travis.yml
index bb45961a0..e5b8e02df 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -56,15 +56,10 @@ env:
matrix:
# Put it here because it's most time consuming
- TEST_NAME="make cross (automake)"
- CONFIG="--without-python"
- ALL_DEPS="yes"
- MAKE_TARGET="cross"
-
- - TEST_NAME="make cross-py (automake)"
THRIFT_CROSSTEST_CONCURRENCY=6
CONFIG="--enable-tutorial=no --without-erlang --without-lua --without-haxe --without-d"
ALL_DEPS="yes"
- MAKE_TARGET="cross2"
+ MAKE_TARGET="cross"
# CMake builds
- TEST_NAME="compiler (CMake + CPack)"
diff --git a/Makefile.am b/Makefile.am
index bbe6f8034..65dfe9dbf 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -37,16 +37,13 @@ dist-hook:
print-version:
@echo $(VERSION)
-.PHONY: precross cross cross2
+.PHONY: precross cross
precross-%: all
$(MAKE) -C $* precross
precross: all precross-test precross-lib
-cross: precross
- sh test/test.sh
-
# TODO: generate --server and --client switches from "--with(out)-..." build flags
-cross2: precross
+cross: precross
python test/test.py -s
codespell_skip_files = \
diff --git a/test/Makefile.am b/test/Makefile.am
index 5bd2d0e1a..7b2e180e1 100755
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -69,7 +69,6 @@ check-local:
EXTRA_DIST = \
keys \
- test.sh \
test.py \
tests.json \
c_glib \
diff --git a/test/README.md b/test/README.md
index bc1828c9c..ef874ac2a 100755
--- a/test/README.md
+++ b/test/README.md
@@ -1,17 +1,116 @@
# Apache Thrift - integration test suite
This is the cross everything integration test suite for Apache Thrift.
-executed by
+
+## Run
+
+### A. Using Make
+
+The test can be executed by:
make cross
-at the moment, this starts the test.sh script which does the real cross test
-with different transports, protocols and languages.
+This starts the [test.py](test.py) script which does the real cross test with
+different transports, protocols and languages.
+
+Note that this requires basically everything to be built, otherwise test cases
+for missing languages will fail. If you skip building some languages, or simply
+need more control, read following section.
+
+### B. Using test script directly
+
+Alternatively, you can invoke [test.py](test.py) directly. You need to run`make
+precross` once before executing it for the first time.
+
+For example, if you changed something in `nodejs` library and need to verify
+the patch, you can skip everything except `nodejs` itself and some reference
+implementation (currently `cpp` and `java` are recommended) like this:
+
+ ./configure --without-c_glib -without-csharp --without-erlang --without-lua ...
+ make precross -j8
+ test/test.py --server cpp,java --client nodejs
+ test/test.py --server nodejs --client cpp,java
+
+## Test case definition file
+
+The cross test cases are defined in [tests.json](tests.json).
+The root element is collection of test target definitions.
+Each test target definition looks like this:
+
+ {
+ "name": "somelib",
+
+ "client": {
+ "command": ["somelib_client_executable"],
+ "workdir": "somelib/bin",
+ "protocols": ["binary"],
+ "transports": ["buffered"],
+ "sockets": ["ip"],
+ },
+ "server": {
+ "command": ["somelib_server_executable"],
+ "workdir": "somelib/bin",
+ "protocols": ["binary"],
+ "transports": ["buffered"],
+ "sockets": ["ip", "ip-ssl"],
+ }
+ }
+
+Either client or server definition or both should be present.
+
+Parameters that are common to both `client` and `server` can be put to target
+definition root:
+
+ {
+ "name": "somelib",
+
+ "workdir": "somelib/bin",
+ "protocols": ["binary"],
+ "transports": ["buffered"],
+ "sockets": ["ip"],
+
+ "client": { "command": ["somelib_client_executable"] },
+ "server": {
+ "command": ["somelib_server_executable"],
+ "sockets": ["ip-ssl"]
+ }
+ }
+
+For the complete list of supported keys and their effect, see source code
+comment at the opt of [crossrunner/collect.py](crossrunner/collect.py).
+
+
+## List of known failures
+
+Since many cross tests currently fail (mainly due to partial incompatibility
+around exception handling), the test script specifically report for "not known
+before" failures.
+
+For this purpose, test cases known to (occasionally) fail are listed in
+`known_failures_<platform>.json` where `<platform>` matches with python
+`platform.system()` string.
+
+Currently, only Linux version is included.
+
+FYI, the file is initially generated by
+
+ test/test.py --update-expected-failures=overwrite
+
+after a full test run, then repeatedly
+
+ test/test.py --skip-known-failures
+ test/test.py --update-expected-failures=merge
+
+## Test executable specification
+
+### Command line parameters
Unit tests for languages are usually located under lib/<lang>/test/
cross language tests according to [ThriftTest.thrift](ThriftTest.thrift) shall be
provided for every language including executables with the following command
-line interface for servers:
+line interface:
+
+**Server command line interface:**
$ ./cpp/TestServer -h
Allowed options:
@@ -19,23 +118,23 @@ line interface for servers:
--port arg (=9090) Port number to listen
--domain-socket arg Unix Domain Socket (e.g. /tmp/ThriftTest.thrift)
--named-pipe arg Windows Named Pipe (e.g. MyThriftPipe)
- --server-type arg (=simple) type of server, "simple", "thread-pool",
+ --server-type arg (=simple) type of server, "simple", "thread-pool",
"threaded", or "nonblocking"
--transport arg (=buffered) transport: buffered, framed, http, anonpipe
--protocol arg (=binary) protocol: binary, compact, json
--ssl Encrypted Transport using SSL
--processor-events processor-events
- -n [ --workers ] arg (=4) Number of thread pools workers. Only valid for
+ -n [ --workers ] arg (=4) Number of thread pools workers. Only valid for
thread-pool server type
-and this for clients:
+**Client command line interface:**
$ ./cpp/TestClient -h
Allowed options:
-h [ --help ] produce help message
--host arg (=localhost) Host to connect
--port arg (=9090) Port number to connect
- --domain-socket arg Domain Socket (e.g. /tmp/ThriftTest.thrift),
+ --domain-socket arg Domain Socket (e.g. /tmp/ThriftTest.thrift),
instead of host and port
--named-pipe arg Windows Named Pipe (e.g. MyThriftPipe)
--anon-pipes hRead hWrite Windows Anonymous Pipes pair (handles)
@@ -43,13 +142,15 @@ and this for clients:
--protocol arg (=binary) Protocol: binary, compact, json
--ssl Encrypted Transport using SSL
-n [ --testloops ] arg (=1) Number of Tests
- -t [ --threads ] arg (=1) Number of Test threads
+ -t [ --threads ] arg (=1) Number of Test threads
If you have executed the **make check** or **make cross** then you will be able to browse
[gen-html/ThriftTest.html](gen-html/ThriftTest.html) with the test documentation.
-The return code (exit code) shall be 0 on success, or an integer in the range 1 - 255 on errors.
-In order to signal failed tests, the return code shall be composed from these bits to indicate
+### Return code
+
+The return code (exit code) shall be 0 on success, or an integer in the range 1 - 255 on errors.
+In order to signal failed tests, the return code shall be composed from these bits to indicate
failing tests:
#define TEST_BASETYPES 1 // 0000 0001
@@ -59,16 +160,15 @@ failing tests:
#define TEST_NOTUSED 240 // 1111 0000 (reserved bits)
Tests that have not been executed at all count as errors.
-
-### Example:
-During tests, the test client notices that some of the Struct tests fail.
-Furthermore, due to some other problem none of the Exception tests is executed.
-Therefore, the test client returns the code `10 = 2 | 8`, indicating the failure
-of both test 2 (TEST_STRUCTS) and test 8 (TEST_EXCEPTIONS).
+**Example:**
+
+During tests, the test client notices that some of the Struct tests fail.
+Furthermore, due to some other problem none of the Exception tests is executed.
+Therefore, the test client returns the code `10 = 2 | 8`, indicating the failure
+of both test 2 (TEST_STRUCTS) and test 8 (TEST_EXCEPTIONS).
## SSL
Test Keys and Certificates are provided in multiple formats under the following
directory [test/keys](keys)
-
diff --git a/test/crossrunner/collect.py b/test/crossrunner/collect.py
index 80a82e71a..6c771b3ba 100644
--- a/test/crossrunner/collect.py
+++ b/test/crossrunner/collect.py
@@ -31,6 +31,13 @@ from crossrunner.util import merge_dict
# protocols: list of supported protocols
# transports: list of supported transports
# sockets: list of supported sockets
+#
+# protocols and transports entries can be colon separated "spec:impl" pair
+# (e.g. binary:accel) where test is run for any matching "spec" while actual
+# argument passed to test executable is "impl".
+# Otherwise "spec" is equivalent to "spec:spec" pair.
+# (e.g. "binary" is equivalent to "binary:bianry" in tests.json)
+#
VALID_JSON_KEYS = [
'name', # name of the library, typically a language name
'workdir', # work directory where command is executed
@@ -78,7 +85,6 @@ def do_collect_tests(servers, clients):
return v
return cached_set(o1, key) & cached_set(o2, key)
- # each entry can be spec:impl (e.g. binary:accel)
def intersect_with_spec(key, o1, o2):
# store as set of (spec, impl) tuple
def cached_set(o):
diff --git a/test/crossrunner/report.py b/test/crossrunner/report.py
index da478fa4b..85e3c26d3 100644
--- a/test/crossrunner/report.py
+++ b/test/crossrunner/report.py
@@ -53,7 +53,7 @@ def generate_known_failures(testdir, overwrite, save, out):
known = load_known_failures(testdir)
known.extend(fails)
fails = known
- fails_json = json.dumps(sorted(set(fails)), indent=2)
+ fails_json = json.dumps(sorted(set(fails)), indent=2, separators=(',', ': '))
if save:
with open(os.path.join(testdir, FAIL_JSON % platform.system()), 'w+') as fp:
fp.write(fails_json)
@@ -284,6 +284,12 @@ class SummaryReporter(TestReporter):
self.out.write(self._format_test(self._tests[i]))
self._print_bar()
+ def _http_server_command(self, port):
+ if sys.version_info[0] < 3:
+ return 'python -m SimpleHTTPServer %d' % port
+ else:
+ return 'python -m http.server %d' % port
+
def _print_footer(self):
fail_count = len(self._expected_failure) + len(self._unexpected_failure)
self._print_bar()
@@ -295,6 +301,10 @@ class SummaryReporter(TestReporter):
self.out.writelines([
'You can browse results at:\n',
'\tfile://%s/%s\n' % (self.testdir, RESULT_HTML),
+ '# If you use Chrome, run:\n',
+ '# \tcd %s\n#\t%s\n' % (self.testdir, self._http_server_command(8001)),
+ '# then browse:\n',
+ '# \thttp://localhost:%d/%s\n' % (8001, RESULT_HTML),
'Full log for each test is here:\n',
'\ttest/log/client_server_protocol_transport_client.log\n',
'\ttest/log/client_server_protocol_transport_server.log\n',
diff --git a/test/test.sh b/test/test.sh
deleted file mode 100755
index f7bf87419..000000000
--- a/test/test.sh
+++ /dev/null
@@ -1,1436 +0,0 @@
-#!/bin/sh
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-# Apache Thrift - integration test suite
-#
-# tests different client-server, protocol and transport combinations
-
-# related issues:
-# THRIFT-847 Test Framework harmonization across all languages
-# THRIFT-819 add Enumeration for protocol, transport and server types
-
-START_TIME=$SECONDS
-cd "$( dirname "$0" )"
-BASEDIR=$(pwd)
-
-TESTCOUNT=0
-FAILED=0
-
-print_header() {
- printf "%-16s %-13s %-17s %-s\n" "client-server:" "protocol:" "transport:" "result:"
-}
-
-STATUS_HTML="status.html"
-
-print_html_header() {
-cat << EOF > $STATUS_HTML
-<!DOCTYPE HTML>
-<html>
-<head>
-<meta charset="utf-8">
-<title>Apache Thrift - integration test suite</title>
-<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.0/css/jquery.dataTables.css">
-<script type="text/javascript" charset="utf-8" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
-<script type="text/javascript" charset="utf-8" src="http://cdn.datatables.net/1.10.0/js/jquery.dataTables.js"></script>
-<script>
- var test_data;
- \$(document).ready( function () {
- testTable = \$('#test_results').DataTable( {
- data: test_data
- });
- \$('#test_results_filter label input')
- .focus()
- .val('failure');
- });
-</script>
-</head>
-<body>
-<h2>Apache Thrift - integration test suite: Results</h2>
-<table id="test_results" class="display">
- <thead>
- <tr>
- <th>Server</th>
- <th>Client</th>
- <th>Protocol</th>
- <th>Transport</th>
- <th>Result (log)</th>
- </tr>
- </thead>
-</table>
-<script>
-test_data = [
-EOF
-}
-
-print_html_footer() {
-duration=$1
-cat << EOF >> $STATUS_HTML
-]
-</script>
-<h2>Test Information</h2>
-<pre>
-Test Date: `date --iso-8601=seconds`
-Revision: `git rev-parse --short HEAD`
-OS: `uname -a`
-Test duration: $duration
-</pre>
-</body>
-</html>
-EOF
-}
-
-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
- transport=$3
- client_exec=$4
- server_exec=$5
- client_timeout=$6
- server_startup_time=$7
-
- testname=${client_server}_${protocol}_${transport}
- server_timeout=$(echo "(${server_startup_time}+${client_timeout})" | bc)
- printf "%-16s %-13s %-17s" ${client_server} ${protocol} ${transport}
-
- timeout $server_timeout $server_exec > log/${testname}_server.log 2>&1 &
- server_pid=$!
-
- sleep $server_startup_time
- timeout $client_timeout $client_exec > log/${testname}_client.log 2>&1
-
- if [ "$?" -eq "0" ]; then
- result="success($?)"
- echo " $result"
- else
- result="failure($?)"
- echo " $result"
- # add details to the error.log
- print_header >> log/error.log
- printf "%-16s %-11s %-17s\n" ${client_server} ${protocol} ${transport} >> log/error.log
- echo "=================== server message ===================" >> log/error.log
- tail log/${testname}_server.log >> log/error.log
- echo "=================== client message ===================" >> log/error.log
- tail log/${testname}_client.log >> log/error.log
- echo "======================================================" >> log/error.log
- echo "" >> log/error.log
- FAILED=$(($FAILED + 1))
- fi
- TESTCOUNT=$(($TESTCOUNT + 1))
-
- # split client-server string
- client=${client_server%-*}
- server=${client_server#*-}
-
- cat << EOF >> $STATUS_HTML
- [
- "${server}",
- "${client}",
- "${protocol}",
- "${transport}",
- "${result} (<a href=\"log/${testname}_client.log\">client</a>, <a href=\"log/${testname}_server.log\">server</a>)"
- ],
-EOF
-
- # silently kill server
- kill ${server_pid} 2>/dev/null && wait ${server_pid} 2>/dev/null
-}
-
-echo "Apache Thrift - integration test suite"
-if [ "$#" -eq "0" ]; then
- THRIFT_TEST_PORT=9090
-else
- THRIFT_TEST_PORT=$1
-fi
-date
-
-
-echo "======================================================"
-
-rm -rf log
-mkdir -p log
-
-
-print_header
-print_html_header
-
-ant -f ../lib/java/build.xml compile-test 1>/dev/null
-
-
-#TODO add enum for parameters
-#TODO align program arguments across languages
-
-cpp_protocols="binary compact json"
-java_protocols="binary compact json"
-cpp_transports="buffered framed http"
-java_server_transports="buffered framed fastframed"
-java_client_transports=${java_server_transports}" http"
-cpp_sockets="ip domain ip-ssl"
-java_sockets="ip ip-ssl"
-# TODO fastframed java transport is another implementation of framed transport
-
-c_glib_protocols="binary"
-c_glib_transports="buffered framed"
-c_glib_sockets="ip"
-
-# only test tcp type for now like the original cross test.
-# other nodejs types can be enabled in a separate patch.
-nodejs_types="tcp" # "tcp multiplex http websocket"
-nodejs_protocols="binary compact json"
-nodejs_transports="buffered framed"
-nodejs_sockets="ip ip-ssl"
-
-csharp_protocols="binary compact json"
-csharp_transports="buffered framed"
-csharp_sockets="ip ip-ssl"
-
-py_protocols="binary compact json accel"
-py_transports="buffered framed"
-py_sockets="ip ip-ssl"
-
-ruby_protocols="binary compact json accel"
-ruby_transports="buffered framed"
-ruby_sockets="ip"
-
-hs_protocols="binary compact json"
-hs_transports="buffered"
-hs_sockets="ip"
-
-######### 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} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
- "5" "1"
- 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";;
- "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
- esac
- do_test "cpp-cpp" "${proto}" "${trans}-${sock}" \
- "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "2" "0.1"
- 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}-${sock}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
- "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}"\
- "5" "0.1"
- 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}-${sock}" \
- "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
- "5" "1"
- done
- done
-done
-
-######### c_glib client - c_glib server ##############
-for proto in ${c_glib_protocols}; do
- for trans in ${c_glib_transports}; do
- for sock in ${c_glib_sockets}; do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
- esac
- do_test "c_glib-c_glib" "${proto}" "${trans}-${sock}" \
- "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "2" "0.1"
- done
- done
-done
-
-######### c_glib client - cpp server ##############
-for proto in $(intersection "${c_glib_protocols}" "${cpp_protocols}"); do
- for trans in $(intersection "${c_glib_transports}" "${cpp_transports}"); do
- for sock in $(intersection "${c_glib_sockets}" "${cpp_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
- esac
- do_test "c_glib-cpp" "${proto}" "${trans}-${sock}" \
- "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}"\
- "2" "0.1"
- done
- done
-done
-
-######### cpp client - c_glib server ##############
-for proto in $(intersection "${cpp_protocols}" "${c_glib_protocols}"); do
- for trans in $(intersection "${cpp_transports}" "${c_glib_transports}"); do
- for sock in $(intersection "${cpp_sockets}" "${c_glib_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
- esac
- do_test "cpp-c_glib" "${proto}" "${trans}-${sock}" \
- "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}"\
- "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "2" "0.1"
- done
- done
-done
-
-######### c_glib client - java server ##############
-for proto in $(intersection "${c_glib_protocols}" "${java_protocols}"); do
- for trans in $(intersection "${c_glib_transports}" "${java_server_transports}"); do
- for sock in $(intersection "${c_glib_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "c_glib-java" "${proto}" "${trans}-${sock}" \
- "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
- "2" "2"
- done
- done
-done
-
-######### java client - c_glib server ##############
-for proto in $(intersection "${java_protocols}" "${c_glib_protocols}"); do
- for trans in $(intersection "${java_client_transports}" "${c_glib_transports}"); do
- for sock in $(intersection "${java_sockets}" "${c_glib_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "java-c_glib" "${proto}" "${trans}-${sock}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
- "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "0.1"
- done
- done
-done
-
-
-NODE_TEST_DIR=${BASEDIR}/../lib/nodejs/test
-export NODE_PATH=${NODE_TEST_DIR}:${NODE_TEST_DIR}/../lib:${NODE_PATH}
-######### nodejs client - nodejs server ##############
-for type in ${nodejs_types}; do
- for proto in ${nodejs_protocols}; do
- for trans in ${nodejs_transports}; do
- for sock in ${nodejs_sockets}; do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "nodejs-nodejs" "${proto}" "${trans}-${sock}" \
- "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "0.2"
- done
- done
- done
-done
-
-######### nodejs client - cpp server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${nodejs_protocols}" "${cpp_protocols}"); do
- for trans in $(intersection "${nodejs_transports}" "${cpp_transports}"); do
- for sock in $(intersection "${nodejs_sockets}" "${cpp_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "nodejs-cpp" "${proto}" "${trans}-${sock}" \
- "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "0.2"
- done
- done
- done
-done
-
-######### cpp client - nodejs server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${nodejs_protocols}" "${cpp_protocols}"); do
- for trans in $(intersection "${nodejs_transports}" "${cpp_transports}"); do
- for sock in $(intersection "${nodejs_sockets}" "${cpp_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "cpp-nodejs" "${proto}" "${trans}-${sock}" \
- "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "2"
- done
- done
- done
-done
-
-######### nodejs client - java server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${nodejs_protocols}" "${java_protocols}"); do
- for trans in $(intersection "${nodejs_transports}" "${java_server_transports}"); do
- for sock in $(intersection "${nodejs_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "nodejs-java" "${proto}" "${trans}-${sock}" \
- "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
- "5" "1"
- done
- done
- done
-done
-
-######### java client - nodejs server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${nodejs_protocols}" "${java_protocols}"); do
- for trans in $(intersection "${nodejs_transports}" "${java_client_transports}"); do
- for sock in $(intersection "${nodejs_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "java-nodejs" "${proto}" "${trans}-${sock}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
- "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "2"
- done
- done
- done
-done
-
-######### nodejs client - c_glib server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${nodejs_protocols}" "${c_glib_protocols}"); do
- for trans in $(intersection "${nodejs_transports}" "${c_glib_transports}"); do
- for sock in $(intersection "${nodejs_sockets}" "${c_glib_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "nodejs-c_glib" "${proto}" "${trans}-${sock}" \
- "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "0.1"
- done
- done
- done
-done
-
-######### c_glib client - nodejs server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${c_glib_protocols}" "${nodejs_protocols}"); do
- for trans in $(intersection "${c_glib_transports}" "${nodejs_transports}"); do
- for sock in $(intersection "${c_glib_sockets}" "${nodejs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "c_glib-nodejs" "${proto}" "${trans}-${sock}" \
- "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "2" "2"
- done
- done
- done
-done
-
-######### py client - py server ##############
-for proto in ${py_protocols}; do
- for trans in ${py_transports}; do
- for sock in ${py_sockets}; do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-py" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=${proto} --transport={trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "py/TestServer.py --protocol=${proto} --transport={trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- done
- done
-done
-
-for trans in ${py_transports}; do
- for sock in ${py_sockets}; do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-py" "accel-binary" "${trans}-${sock}" \
- "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "py/TestServer.py --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- do_test "py-py" "binary-accel" "${trans}-${sock}" \
- "py/TestClient.py --protocol=binary --transport={trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "py/TestServer.py --protocol=accel --transport={trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- done
- done
-
-######### py client - cpp server ##############
-for proto in $(intersection "${cpp_protocols}" "${py_protocols}"); do
- for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
- for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-cpp" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "2"
- done
- done
-done
-
-for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
- for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-cpp" "accel-binary" "${trans}-${sock}" \
- "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "cpp/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "2"
- done
- done
-
-######### cpp client - py server ##############
-for proto in $(intersection "${cpp_protocols}" "${py_protocols}"); do
- for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
- for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "cpp-py" "${proto}" "${trans}-${sock}" \
- "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- done
- done
-done
-
-for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
- for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "cpp-py" "binary-accel" "${trans}-${sock}" \
- "cpp/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- done
- done
-
-######### py client - java server ##############
-for proto in $(intersection "${py_protocols}" "${java_protocols}"); do
- for trans in $(intersection "${py_transports}" "${java_server_transports}"); do
- for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-java" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
- "15" "2"
- done
- done
-done
-
-for trans in $(intersection "${py_transports}" "${java_server_transports}"); do
- for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-java" "accel-binary" "${trans}-${sock}" \
- "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
- "15" "2"
- done
- done
-
-######### java client - py server ##############
-for proto in $(intersection "${py_protocols}" "${java_protocols}"); do
- for trans in $(intersection "${py_transports}" "${java_client_transports}"); do
- for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "java-py" "${proto}" "${trans}-${sock}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
- "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "5"
- done
- done
-done
-
-for trans in $(intersection "${py_transports}" "${java_client_transports}"); do
- for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "java-py" "binary-accel" "${trans}-${sock}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
- "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "5"
- done
- done
-
-######### py client - c_glib server ##############
-for proto in $(intersection "${py_protocols}" "${c_glib_protocols}"); do
- for trans in $(intersection "${py_transports}" "${c_glib_transports}"); do
- for sock in $(intersection "${py_sockets}" "${c_glib_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-c_glib" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "0.1"
- done
- done
-done
-
-for trans in $(intersection "${py_transports}" "${c_glib_transports}"); do
- for sock in $(intersection "${py_sockets}" "${c_glib_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-c_glib" "accel-binary" "${trans}-${sock}" \
- "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "c_glib/test_server --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "0.1"
- done
- done
-
-######### c_glib client - py server ##############
-for proto in $(intersection "${c_glib_protocols}" "${py_protocols}"); do
- for trans in $(intersection "${c_glib_transports}" "${py_transports}"); do
- for sock in $(intersection "${c_glib_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "c_glib-py" "${proto}" "${trans}-${sock}" \
- "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "2" "2"
- done
- done
-done
-
-for trans in $(intersection "${c_glib_transports}" "${py_transports}"); do
- for sock in $(intersection "${c_glib_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "c_glib-py" "binary-accel" "${trans}-${sock}" \
- "c_glib/test_client --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- done
- done
-
-######### py client - nodejs server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${py_protocols}" "${nodejs_protocols}"); do
- for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
- for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-nodejs" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "15" "2"
- done
- done
- done
-done
-
-for type in ${nodejs_types}; do
- for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
- for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-nodejs" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "node ${NODE_TEST_DIR}/server.js --type ${type} -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "15" "2"
- done
- done
-done
-
-######### nodejs client - py server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${py_protocols}" "${nodejs_protocols}"); do
- for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
- for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "nodejs-py" "${proto}" "${trans}-${sock}" \
- "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- done
- done
- done
-done
-
-for type in ${nodejs_types}; do
- for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
- for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "nodejs-py" "binary-accel" "${trans}-${sock}" \
- "node ${NODE_TEST_DIR}/client.js --type ${type} -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- done
- done
-done
-
-######### ruby client - ruby server ##############
-for proto in ${ruby_protocols}; do
- for trans in ${ruby_transports}; do
- for sock in ${ruby_sockets}; do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-ruby" "${proto}" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-done
-
-for trans in ${ruby_transports}; do
- for sock in ${ruby_sockets}; do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-ruby" "accel-binary" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- do_test "ruby-ruby" "binary-accel" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-
-######### ruby client - cpp server ##############
-for proto in $(intersection "${cpp_protocols}" "${ruby_protocols}"); do
- for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-cpp" "${proto}" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-done
-
-for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-cpp" "accel-binary" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "cpp/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-
-######### cpp client - ruby server ##############
-for proto in $(intersection "${cpp_protocols}" "${ruby_protocols}"); do
- for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "cpp-ruby" "${proto}" "${trans}-${sock}" \
- "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-done
-
-for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "cpp-ruby" "binary-accel" "${trans}-${sock}" \
- "cpp/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-
-######### ruby client - java server ##############
-for proto in $(intersection "${ruby_protocols}" "${java_protocols}"); do
- for trans in $(intersection "${ruby_transports}" "${java_server_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-java" "${proto}" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
- "15" "5"
- done
- done
-done
-
-for trans in $(intersection "${ruby_transports}" "${java_server_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-java" "accel-binary" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
- "15" "5"
- done
- done
-
-######### java client - ruby server ##############
-for proto in $(intersection "${ruby_protocols}" "${java_protocols}"); do
- for trans in $(intersection "${ruby_transports}" "${java_client_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "java-ruby" "${proto}" "${trans}-${sock}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
- "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "5"
- done
- done
-done
-
-for trans in $(intersection "${ruby_transports}" "${java_client_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "java-ruby" "binary-accel" "${trans}-${sock}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
- "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "5"
- done
- done
-
-######### ruby client - c_glib server ##############
-for proto in $(intersection "${ruby_protocols}" "${c_glib_protocols}"); do
- for trans in $(intersection "${ruby_transports}" "${c_glib_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${c_glib_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-c_glib" "${proto}" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "0.1"
- done
- done
-done
-
-for trans in $(intersection "${ruby_transports}" "${c_glib_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${c_glib_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-c_glib" "accel-binary" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "c_glib/test_server --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "0.1"
- done
- done
-
-######### c_glib client - ruby server ##############
-for proto in $(intersection "${c_glib_protocols}" "${ruby_protocols}"); do
- for trans in $(intersection "${c_glib_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${c_glib_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "c_glib-ruby" "${proto}" "${trans}-${sock}" \
- "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "2" "2"
- done
- done
-done
-
-for trans in $(intersection "${c_glib_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${c_glib_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "c_glib-ruby" "binary-accel" "${trans}-${sock}" \
- "c_glib/test_client --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-
-######### ruby client - nodejs server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${ruby_protocols}" "${nodejs_protocols}"); do
- for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-nodejs" "${proto}" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "2"
- done
- done
- done
-done
-
-for type in ${nodejs_types}; do
- for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-nodejs" "${proto}" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "node ${NODE_TEST_DIR}/server.js --type ${type} -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "2"
- done
- done
-done
-
-######### nodejs client - ruby server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${ruby_protocols}" "${nodejs_protocols}"); do
- for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "nodejs-ruby" "${proto}" "${trans}-${sock}" \
- "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "5"
- done
- done
- done
-done
-
-for type in ${nodejs_types}; do
- for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
- for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "nodejs-ruby" "binary-accel" "${trans}-${sock}" \
- "node ${NODE_TEST_DIR}/client.js --type ${type} -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "2"
- done
- done
-done
-
-######### py client - ruby server ##############
-for proto in $(intersection "${py_protocols}" "${ruby_protocols}"); do
- for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-ruby" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "15" "5"
- done
- done
-done
-
-for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-ruby" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "15" "5"
- do_test "py-ruby" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "15" "5"
- done
- done
-
-######### ruby client - py server ##############
-for proto in $(intersection "${py_protocols}" "${ruby_protocols}"); do
- for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-py" "${proto}" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "5" "2"
- done
- done
-done
-
-for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-py" "binary-accel" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "5" "2"
- do_test "ruby-py" "accel-binary" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "5" "2"
- done
- done
-
-######### 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} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${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} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${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} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${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} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
- "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} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
- "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "1"
- done
- done
-done
-
-######### hs client - c_glib server ###############
-for proto in $(intersection "${hs_protocols}" "${c_glib_protocols}"); do
- for trans in $(intersection "${hs_transports}" "${c_glib_transports}"); do
- for sock in $(intersection "${hs_sockets}" "${c_glib_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
- esac
- do_test "hs-c_glib" "${proto}" "${trans}-${sock}" \
- "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "2" "0.1"
- done
- done
-done
-
-######### c_glib client - hs server ###############
-for proto in $(intersection "${c_glib_protocols}" "${hs_protocols}"); do
- for trans in $(intersection "${c_glib_transports}" "${hs_transports}"); do
- for sock in $(intersection "${c_glib_sockets}" "${hs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
- esac
- do_test "c_glib-hs" "${proto}" "${trans}-${sock}" \
- "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "2" "0.1"
- done
- done
-done
-
-######### py client -hs server ##############
-for proto in $(intersection "${hs_protocols}" "${py_protocols}"); do
- for trans in $(intersection "${hs_transports}" "${py_transports}"); do
- for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-hs" "${proto}" "${trans}-${sock}" \
- "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "2"
- done
- done
-done
-
-for trans in $(intersection "${hs_transports}" "${py_transports}"); do
- for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "py-hs" "accel-binary" "${trans}-${sock}" \
- "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
- "hs/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "10" "2"
- done
- done
-
-######### hs client - py server ##############
-for proto in $(intersection "${hs_protocols}" "${py_protocols}"); do
- for trans in $(intersection "${hs_transports}" "${py_transports}"); do
- for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "hs-py" "${proto}" "${trans}-${sock}" \
- "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- done
- done
-done
-
-for trans in $(intersection "${hs_transports}" "${py_transports}"); do
- for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "hs-py" "binary-accel" "${trans}-${sock}" \
- "hs/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
- "10" "2"
- done
- done
-
-######### nodejs client - hs server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${nodejs_protocols}" "${hs_protocols}"); do
- for trans in $(intersection "${nodejs_transports}" "${hs_transports}"); do
- for sock in $(intersection "${nodejs_sockets}" "${hs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "nodejs-hs" "${proto}" "${trans}-${sock}" \
- "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "0.2"
- done
- done
- done
-done
-
-######### hs client - nodejs server ##############
-for type in ${nodejs_types}; do
- for proto in $(intersection "${nodejs_protocols}" "${hs_protocols}"); do
- for trans in $(intersection "${nodejs_transports}" "${hs_transports}"); do
- for sock in $(intersection "${nodejs_sockets}" "${hs_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "hs-nodejs" "${proto}" "${trans}-${sock}" \
- "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "2"
- done
- done
- done
-done
-
-######### ruby client - hs server ##############
-for proto in $(intersection "${hs_protocols}" "${ruby_protocols}"); do
- for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-hs" "${proto}" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-done
-
-for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "ruby-cpp" "accel-binary" "${trans}-${sock}" \
- "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam} ${extraparam}" \
- "hs/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-
-######### hs client - ruby server ##############
-for proto in $(intersection "${hs_protocols}" "${ruby_protocols}"); do
- for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "hs-ruby" "${proto}" "${trans}-${sock}" \
- "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-done
-
-for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
- for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "hs-ruby" "binary-accel" "${trans}-${sock}" \
- "hs/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "5"
- done
- done
-
-
-# delete Unix Domain Socket used by cpp tests
-rm -f /tmp/ThriftTest.thrift
-
-######### csharp client - csharp server #############
-export MONO_PATH=../lib/csharp
-for proto in $csharp_protocols; do
- for trans in $csharp_transports; do
- for sock in $csharp_sockets; do
- case "$sock" in
- "ip" ) extraparam="";;
- "ip-ssl" ) extraparam="--ssl";;
- esac
- do_test "csharp-csharp" "${proto}" "${trans}-${sock}" \
- "../lib/csharp/test/ThriftTest/TestClientServer.exe client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "../lib/csharp/test/ThriftTest/TestClientServer.exe server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
- "5" "1"
- done
- done
-done
-
-do_test "js-java" "json" "http-ip" \
- "" \
- "ant -f ../lib/js/test/build.xml unittest" \
- "2" "2"
-do_test "perl-cpp" "binary" "buffered-ip" \
- "perl -I perl/gen-perl/ -I../lib/perl/lib/ perl/TestClient.pl" \
- "cpp/TestServer --port=${THRIFT_TEST_PORT}" \
- "10" "2"
-do_test "php-cpp" "binary" "buffered-ip" \
- "make -C php/ client" \
- "cpp/TestServer --port=${THRIFT_TEST_PORT}" \
- "10" "2"
-
-echo " failed tests are logged to test/log/error.log"
-echo " full log is here test/log/client_server_protocol_transport_client.log"
-echo " full log is here test/log/client_server_protocol_transport_server.log"
-echo " or look at file://$BASEDIR/$STATUS_HTML"
-
-ELAPSED_TIME=$(echo "(${SECONDS} - ${START_TIME})" | bc)
-DURATION="${ELAPSED_TIME} seconds"
-
-echo $FAILED failed of $TESTCOUNT tests in total
-echo "test an took" $DURATION
-print_html_footer "$DURATION"
-
-date
-cd -