blob: f7bf87419e164486a1e09e2b0fbb6c7cd10f8ba2 [file] [log] [blame]
Roger Meier4d5157d2012-01-09 21:23:19 +00001#!/bin/sh
2#
3# Licensed to the Apache Software Foundation (ASF) under one
4# or more contributor license agreements. See the NOTICE file
5# distributed with this work for additional information
6# regarding copyright ownership. The ASF licenses this file
7# to you under the Apache License, Version 2.0 (the
8# "License"); you may not use this file except in compliance
9# with the License. You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing,
14# software distributed under the License is distributed on an
15# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16# KIND, either express or implied. See the License for the
17# specific language governing permissions and limitations
18# under the License.
19#
20
21# Apache Thrift - integration test suite
22#
23# tests different client-server, protocol and transport combinations
24
25# related issues:
26# THRIFT-847 Test Framework harmonization across all languages
27# THRIFT-819 add Enumeration for protocol, transport and server types
28
Roger Meiercc0fe272014-05-16 23:18:25 +020029START_TIME=$SECONDS
henriqued17f1c92014-04-30 16:21:25 +020030cd "$( dirname "$0" )"
31BASEDIR=$(pwd)
32
Roger Meierbea27342014-08-08 00:30:50 +020033TESTCOUNT=0
34FAILED=0
35
Roger Meier4d5157d2012-01-09 21:23:19 +000036print_header() {
Roger Meier76150722014-05-31 22:22:07 +020037 printf "%-16s %-13s %-17s %-s\n" "client-server:" "protocol:" "transport:" "result:"
Roger Meier4d5157d2012-01-09 21:23:19 +000038}
39
Roger Meiercc0fe272014-05-16 23:18:25 +020040STATUS_HTML="status.html"
41
42print_html_header() {
43cat << EOF > $STATUS_HTML
44<!DOCTYPE HTML>
45<html>
46<head>
47<meta charset="utf-8">
48<title>Apache Thrift - integration test suite</title>
49<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.0/css/jquery.dataTables.css">
50<script type="text/javascript" charset="utf-8" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
51<script type="text/javascript" charset="utf-8" src="http://cdn.datatables.net/1.10.0/js/jquery.dataTables.js"></script>
52<script>
53 var test_data;
54 \$(document).ready( function () {
55 testTable = \$('#test_results').DataTable( {
56 data: test_data
57 });
58 \$('#test_results_filter label input')
59 .focus()
60 .val('failure');
61 });
62</script>
63</head>
64<body>
65<h2>Apache Thrift - integration test suite: Results</h2>
66<table id="test_results" class="display">
67 <thead>
68 <tr>
69 <th>Server</th>
70 <th>Client</th>
71 <th>Protocol</th>
72 <th>Transport</th>
73 <th>Result (log)</th>
74 </tr>
75 </thead>
76</table>
77<script>
78test_data = [
79EOF
80}
81
82print_html_footer() {
83duration=$1
84cat << EOF >> $STATUS_HTML
85]
86</script>
87<h2>Test Information</h2>
88<pre>
89Test Date: `date --iso-8601=seconds`
90Revision: `git rev-parse --short HEAD`
91OS: `uname -a`
92Test duration: $duration
93</pre>
94</body>
95</html>
96EOF
97}
98
Roger Meierf42ce2a2013-01-16 22:12:14 +010099intersection() {
100 return_value=""
101 for one in $1; do
102 for two in $2; do
103 if [ ${one} = ${two} ]; then
104 return_value=${return_value}" "${one}
105 fi
106 done;
107 done;
108 echo ${return_value};
109}
110
Roger Meier4d5157d2012-01-09 21:23:19 +0000111do_test () {
112 client_server=$1
113 protocol=$2
114 transport=$3
115 client_exec=$4
116 server_exec=$5
henriqued17f1c92014-04-30 16:21:25 +0200117 client_timeout=$6
118 server_startup_time=$7
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530119
Roger Meier4d5157d2012-01-09 21:23:19 +0000120 testname=${client_server}_${protocol}_${transport}
henriqued5aba4c2014-04-30 18:11:11 +0200121 server_timeout=$(echo "(${server_startup_time}+${client_timeout})" | bc)
Roger Meier76150722014-05-31 22:22:07 +0200122 printf "%-16s %-13s %-17s" ${client_server} ${protocol} ${transport}
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530123
Roger Meier284101c2014-03-11 21:20:35 +0100124 timeout $server_timeout $server_exec > log/${testname}_server.log 2>&1 &
henriqued17f1c92014-04-30 16:21:25 +0200125 server_pid=$!
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530126
Roger Meier4d5157d2012-01-09 21:23:19 +0000127 sleep $server_startup_time
henriqued17f1c92014-04-30 16:21:25 +0200128 timeout $client_timeout $client_exec > log/${testname}_client.log 2>&1
Ben Craigf41d79d2014-01-08 15:15:48 -0600129
Roger Meier4d5157d2012-01-09 21:23:19 +0000130 if [ "$?" -eq "0" ]; then
Roger Meiercc0fe272014-05-16 23:18:25 +0200131 result="success($?)"
132 echo " $result"
Roger Meier4d5157d2012-01-09 21:23:19 +0000133 else
Roger Meiercc0fe272014-05-16 23:18:25 +0200134 result="failure($?)"
135 echo " $result"
Roger Meier4edac7f2014-05-02 21:07:01 +0200136 # add details to the error.log
137 print_header >> log/error.log
138 printf "%-16s %-11s %-17s\n" ${client_server} ${protocol} ${transport} >> log/error.log
139 echo "=================== server message ===================" >> log/error.log
140 tail log/${testname}_server.log >> log/error.log
141 echo "=================== client message ===================" >> log/error.log
142 tail log/${testname}_client.log >> log/error.log
143 echo "======================================================" >> log/error.log
144 echo "" >> log/error.log
Roger Meierbea27342014-08-08 00:30:50 +0200145 FAILED=$(($FAILED + 1))
Roger Meier4d5157d2012-01-09 21:23:19 +0000146 fi
Roger Meierbea27342014-08-08 00:30:50 +0200147 TESTCOUNT=$(($TESTCOUNT + 1))
henriqued17f1c92014-04-30 16:21:25 +0200148
henriquead4df162014-05-20 13:18:45 +0200149 # split client-server string
150 client=${client_server%-*}
151 server=${client_server#*-}
Roger Meiercc0fe272014-05-16 23:18:25 +0200152
153 cat << EOF >> $STATUS_HTML
154 [
Roger Meiercc0fe272014-05-16 23:18:25 +0200155 "${server}",
Roger Meierc62798b2014-05-23 12:54:08 +0200156 "${client}",
Roger Meiercc0fe272014-05-16 23:18:25 +0200157 "${protocol}",
158 "${transport}",
159 "${result} (<a href=\"log/${testname}_client.log\">client</a>, <a href=\"log/${testname}_server.log\">server</a>)"
160 ],
161EOF
162
henriqued17f1c92014-04-30 16:21:25 +0200163 # silently kill server
164 kill ${server_pid} 2>/dev/null && wait ${server_pid} 2>/dev/null
Roger Meier4d5157d2012-01-09 21:23:19 +0000165}
166
167echo "Apache Thrift - integration test suite"
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530168if [ "$#" -eq "0" ]; then
169 THRIFT_TEST_PORT=9090
170else
171 THRIFT_TEST_PORT=$1
172fi
Roger Meier4d5157d2012-01-09 21:23:19 +0000173date
henriqued17f1c92014-04-30 16:21:25 +0200174
henriqued17f1c92014-04-30 16:21:25 +0200175
Roger Meier4d5157d2012-01-09 21:23:19 +0000176echo "======================================================"
177
178rm -rf log
179mkdir -p log
180
Roger Meiercc0fe272014-05-16 23:18:25 +0200181
Roger Meier4d5157d2012-01-09 21:23:19 +0000182print_header
Roger Meiercc0fe272014-05-16 23:18:25 +0200183print_html_header
184
185ant -f ../lib/java/build.xml compile-test 1>/dev/null
186
Roger Meier4d5157d2012-01-09 21:23:19 +0000187
Roger Meier82525772012-11-16 00:38:27 +0000188#TODO add enum for parameters
189#TODO align program arguments across languages
Roger Meier4d5157d2012-01-09 21:23:19 +0000190
Roger Meier023192f2014-02-12 09:35:12 +0100191cpp_protocols="binary compact json"
192java_protocols="binary compact json"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100193cpp_transports="buffered framed http"
194java_server_transports="buffered framed fastframed"
195java_client_transports=${java_server_transports}" http"
Roger Meier5829a2c2014-04-08 00:28:17 +0200196cpp_sockets="ip domain ip-ssl"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100197java_sockets="ip ip-ssl"
198# TODO fastframed java transport is another implementation of framed transport
Roger Meier4d5157d2012-01-09 21:23:19 +0000199
Roger Meierb3c84092014-09-01 21:53:40 +0200200c_glib_protocols="binary"
201c_glib_transports="buffered framed"
202c_glib_sockets="ip"
203
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800204# only test tcp type for now like the original cross test.
205# other nodejs types can be enabled in a separate patch.
206nodejs_types="tcp" # "tcp multiplex http websocket"
Roger Meierd9b331d2014-05-25 22:59:17 +0200207nodejs_protocols="binary compact json"
Roger Meier8909cbd2014-01-26 11:44:27 +0100208nodejs_transports="buffered framed"
Roger Meier57b354b2014-02-22 01:01:58 +0100209nodejs_sockets="ip ip-ssl"
Roger Meiereaa61d82012-01-12 21:38:29 +0000210
Jens Geyerc1d79432014-04-22 22:52:43 +0200211csharp_protocols="binary compact json"
212csharp_transports="buffered framed"
213csharp_sockets="ip ip-ssl"
214
Roger Meier72268b72014-05-28 23:03:57 +0200215py_protocols="binary compact json accel"
Roger Meier76150722014-05-31 22:22:07 +0200216py_transports="buffered framed"
217py_sockets="ip ip-ssl"
Roger Meier72268b72014-05-28 23:03:57 +0200218
Roger Meiera3570ac2014-06-10 22:16:14 +0200219ruby_protocols="binary compact json accel"
220ruby_transports="buffered framed"
221ruby_sockets="ip"
222
Noam Zilbersteinaf5d64a2014-07-31 15:44:13 -0700223hs_protocols="binary compact json"
224hs_transports="buffered"
225hs_sockets="ip"
226
Roger Meierf42ce2a2013-01-16 22:12:14 +0100227######### java client - java server #############
228for proto in $java_protocols; do
229 for trans in $java_server_transports; do
230 for sock in $java_sockets; do
231 case "$sock" in
232 "ip" ) extraparam="";;
233 "ip-ssl" ) extraparam="--ssl";;
234 esac
235 do_test "java-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530236 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
237 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
henriqued5aba4c2014-04-30 18:11:11 +0200238 "5" "1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100239 done
240 done
241done
242
243######### cpp client - cpp server ###############
244for proto in $cpp_protocols; do
245 for trans in $cpp_transports; do
246 for sock in $cpp_sockets; do
Roger Meier4d5157d2012-01-09 21:23:19 +0000247 case "$sock" in
248 "ip" ) extraparam="";;
249 "ip-ssl" ) extraparam="--ssl";;
250 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
251 esac
252 do_test "cpp-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530253 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
254 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +0200255 "2" "0.1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100256 done
257 done
258done
259
henriqued17f1c92014-04-30 16:21:25 +0200260
Roger Meierf42ce2a2013-01-16 22:12:14 +0100261######### java client - cpp server ##############
262# warning: ssl over http is not supported in java client!
263for proto in $(intersection "${java_protocols}" "${cpp_protocols}"); do
264 for trans in $(intersection "${java_client_transports}" "${cpp_transports}"); do
265 for sock in $(intersection "${java_sockets}" "${cpp_sockets}"); do
266 case "$sock" in
267 "ip" ) extraparam="";;
268 "ip-ssl" ) extraparam="--ssl";;
269 esac
Roger Meier188024e2014-04-17 21:53:45 +0200270 do_test "java-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530271 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
272 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}"\
henriqued5aba4c2014-04-30 18:11:11 +0200273 "5" "0.1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100274 done
275 done
276done
277
278######### cpp client - java server ##############
279for proto in $(intersection "${cpp_protocols}" "${java_protocols}"); do
280 for trans in $(intersection "${cpp_transports}" "${java_server_transports}"); do
281 for sock in $(intersection "${java_sockets}" "${cpp_sockets}"); do
282 case "$sock" in
283 "ip" ) extraparam="";;
284 "ip-ssl" ) extraparam="--ssl";;
285 esac
Roger Meier188024e2014-04-17 21:53:45 +0200286 do_test "cpp-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530287 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
288 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
henriqued5aba4c2014-04-30 18:11:11 +0200289 "5" "1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100290 done
291 done
292done
Roger Meier4d5157d2012-01-09 21:23:19 +0000293
Roger Meier15df0762014-09-29 20:50:56 +0200294######### c_glib client - c_glib server ##############
295for proto in ${c_glib_protocols}; do
296 for trans in ${c_glib_transports}; do
297 for sock in ${c_glib_sockets}; do
298 case "$sock" in
299 "ip" ) extraparam="";;
300 "ip-ssl" ) extraparam="--ssl";;
301 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
302 esac
303 do_test "c_glib-c_glib" "${proto}" "${trans}-${sock}" \
304 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
305 "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
306 "2" "0.1"
307 done
308 done
309done
310
Roger Meierb3c84092014-09-01 21:53:40 +0200311######### c_glib client - cpp server ##############
312for proto in $(intersection "${c_glib_protocols}" "${cpp_protocols}"); do
313 for trans in $(intersection "${c_glib_transports}" "${cpp_transports}"); do
314 for sock in $(intersection "${c_glib_sockets}" "${cpp_sockets}"); do
315 case "$sock" in
316 "ip" ) extraparam="";;
317 "ip-ssl" ) extraparam="--ssl";;
318 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
319 esac
320 do_test "c_glib-cpp" "${proto}" "${trans}-${sock}" \
321 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
322 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}"\
323 "2" "0.1"
324 done
325 done
326done
327
Roger Meier15df0762014-09-29 20:50:56 +0200328######### cpp client - c_glib server ##############
329for proto in $(intersection "${cpp_protocols}" "${c_glib_protocols}"); do
330 for trans in $(intersection "${cpp_transports}" "${c_glib_transports}"); do
331 for sock in $(intersection "${cpp_sockets}" "${c_glib_sockets}"); do
332 case "$sock" in
333 "ip" ) extraparam="";;
334 "ip-ssl" ) extraparam="--ssl";;
335 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
336 esac
337 do_test "cpp-c_glib" "${proto}" "${trans}-${sock}" \
338 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}"\
339 "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
340 "2" "0.1"
341 done
342 done
343done
344
Roger Meierb3c84092014-09-01 21:53:40 +0200345######### c_glib client - java server ##############
346for proto in $(intersection "${c_glib_protocols}" "${java_protocols}"); do
347 for trans in $(intersection "${c_glib_transports}" "${java_server_transports}"); do
348 for sock in $(intersection "${c_glib_sockets}" "${java_sockets}"); do
349 case "$sock" in
350 "ip" ) extraparam="";;
351 "ip-ssl" ) extraparam="--ssl";;
352 esac
353 do_test "c_glib-java" "${proto}" "${trans}-${sock}" \
354 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
355 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
356 "2" "2"
357 done
358 done
359done
360
Roger Meier15df0762014-09-29 20:50:56 +0200361######### java client - c_glib server ##############
362for proto in $(intersection "${java_protocols}" "${c_glib_protocols}"); do
363 for trans in $(intersection "${java_client_transports}" "${c_glib_transports}"); do
364 for sock in $(intersection "${java_sockets}" "${c_glib_sockets}"); do
365 case "$sock" in
366 "ip" ) extraparam="";;
367 "ip-ssl" ) extraparam="--ssl";;
368 esac
369 do_test "java-c_glib" "${proto}" "${trans}-${sock}" \
370 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
371 "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
372 "5" "0.1"
373 done
374 done
375done
376
Roger Meier8909cbd2014-01-26 11:44:27 +0100377
henriqued17f1c92014-04-30 16:21:25 +0200378NODE_TEST_DIR=${BASEDIR}/../lib/nodejs/test
Roger Meier8909cbd2014-01-26 11:44:27 +0100379export NODE_PATH=${NODE_TEST_DIR}:${NODE_TEST_DIR}/../lib:${NODE_PATH}
Roger Meierd9b331d2014-05-25 22:59:17 +0200380######### nodejs client - nodejs server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800381for type in ${nodejs_types}; do
382 for proto in ${nodejs_protocols}; do
383 for trans in ${nodejs_transports}; do
384 for sock in ${nodejs_sockets}; do
385 case "$sock" in
386 "ip" ) extraparam="";;
387 "ip-ssl" ) extraparam="--ssl";;
388 esac
389 do_test "nodejs-nodejs" "${proto}" "${trans}-${sock}" \
390 "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
391 "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
392 "5" "0.2"
393 done
Roger Meierd9b331d2014-05-25 22:59:17 +0200394 done
395 done
396done
henriqued5aba4c2014-04-30 18:11:11 +0200397
Roger Meier8909cbd2014-01-26 11:44:27 +0100398######### nodejs client - cpp server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800399for type in ${nodejs_types}; do
400 for proto in $(intersection "${nodejs_protocols}" "${cpp_protocols}"); do
401 for trans in $(intersection "${nodejs_transports}" "${cpp_transports}"); do
402 for sock in $(intersection "${nodejs_sockets}" "${cpp_sockets}"); do
403 case "$sock" in
404 "ip" ) extraparam="";;
405 "ip-ssl" ) extraparam="--ssl";;
406 esac
407 do_test "nodejs-cpp" "${proto}" "${trans}-${sock}" \
408 "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
409 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
410 "5" "0.2"
411 done
Roger Meier8909cbd2014-01-26 11:44:27 +0100412 done
413 done
414done
415
416######### cpp client - nodejs server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800417for type in ${nodejs_types}; do
418 for proto in $(intersection "${nodejs_protocols}" "${cpp_protocols}"); do
419 for trans in $(intersection "${nodejs_transports}" "${cpp_transports}"); do
420 for sock in $(intersection "${nodejs_sockets}" "${cpp_sockets}"); do
421 case "$sock" in
422 "ip" ) extraparam="";;
423 "ip-ssl" ) extraparam="--ssl";;
424 esac
425 do_test "cpp-nodejs" "${proto}" "${trans}-${sock}" \
426 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
427 "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
428 "5" "2"
429 done
Roger Meier8909cbd2014-01-26 11:44:27 +0100430 done
431 done
432done
433
Roger Meier5c6ad242014-05-27 21:18:00 +0200434######### nodejs client - java server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800435for type in ${nodejs_types}; do
436 for proto in $(intersection "${nodejs_protocols}" "${java_protocols}"); do
437 for trans in $(intersection "${nodejs_transports}" "${java_server_transports}"); do
438 for sock in $(intersection "${nodejs_sockets}" "${java_sockets}"); do
439 case "$sock" in
440 "ip" ) extraparam="";;
441 "ip-ssl" ) extraparam="--ssl";;
442 esac
443 do_test "nodejs-java" "${proto}" "${trans}-${sock}" \
444 "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
445 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
446 "5" "1"
447 done
Roger Meier5c6ad242014-05-27 21:18:00 +0200448 done
449 done
450done
451
452######### java client - nodejs server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800453for type in ${nodejs_types}; do
454 for proto in $(intersection "${nodejs_protocols}" "${java_protocols}"); do
455 for trans in $(intersection "${nodejs_transports}" "${java_client_transports}"); do
456 for sock in $(intersection "${nodejs_sockets}" "${java_sockets}"); do
457 case "$sock" in
458 "ip" ) extraparam="";;
459 "ip-ssl" ) extraparam="--ssl";;
460 esac
461 do_test "java-nodejs" "${proto}" "${trans}-${sock}" \
462 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
463 "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
464 "5" "2"
465 done
Roger Meier5c6ad242014-05-27 21:18:00 +0200466 done
467 done
468done
469
Roger Meier15df0762014-09-29 20:50:56 +0200470######### nodejs client - c_glib server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800471for type in ${nodejs_types}; do
472 for proto in $(intersection "${nodejs_protocols}" "${c_glib_protocols}"); do
473 for trans in $(intersection "${nodejs_transports}" "${c_glib_transports}"); do
474 for sock in $(intersection "${nodejs_sockets}" "${c_glib_sockets}"); do
475 case "$sock" in
476 "ip" ) extraparam="";;
477 "ip-ssl" ) extraparam="--ssl";;
478 esac
479 do_test "nodejs-c_glib" "${proto}" "${trans}-${sock}" \
480 "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
481 "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
482 "5" "0.1"
483 done
Roger Meier15df0762014-09-29 20:50:56 +0200484 done
485 done
486done
487
Roger Meierb3c84092014-09-01 21:53:40 +0200488######### c_glib client - nodejs server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800489for type in ${nodejs_types}; do
490 for proto in $(intersection "${c_glib_protocols}" "${nodejs_protocols}"); do
491 for trans in $(intersection "${c_glib_transports}" "${nodejs_transports}"); do
492 for sock in $(intersection "${c_glib_sockets}" "${nodejs_sockets}"); do
493 case "$sock" in
494 "ip" ) extraparam="";;
495 "ip-ssl" ) extraparam="--ssl";;
496 esac
497 do_test "c_glib-nodejs" "${proto}" "${trans}-${sock}" \
498 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
499 "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
500 "2" "2"
501 done
Roger Meierb3c84092014-09-01 21:53:40 +0200502 done
503 done
504done
505
Roger Meier72268b72014-05-28 23:03:57 +0200506######### py client - py server ##############
507for proto in ${py_protocols}; do
508 for trans in ${py_transports}; do
509 for sock in ${py_sockets}; do
510 case "$sock" in
511 "ip" ) extraparam="";;
512 "ip-ssl" ) extraparam="--ssl";;
513 esac
514 do_test "py-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530515 "py/TestClient.py --protocol=${proto} --transport={trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
516 "py/TestServer.py --protocol=${proto} --transport={trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200517 "10" "2"
518 done
519 done
520done
521
Roger Meier76150722014-05-31 22:22:07 +0200522for trans in ${py_transports}; do
523 for sock in ${py_sockets}; do
524 case "$sock" in
525 "ip" ) extraparam="";;
526 "ip-ssl" ) extraparam="--ssl";;
527 esac
528 do_test "py-py" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530529 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
530 "py/TestServer.py --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200531 "10" "2"
532 do_test "py-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530533 "py/TestClient.py --protocol=binary --transport={trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
534 "py/TestServer.py --protocol=accel --transport={trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200535 "10" "2"
536 done
537 done
538
Roger Meier72268b72014-05-28 23:03:57 +0200539######### py client - cpp server ##############
540for proto in $(intersection "${cpp_protocols}" "${py_protocols}"); do
541 for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
542 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
543 case "$sock" in
544 "ip" ) extraparam="";;
545 "ip-ssl" ) extraparam="--ssl";;
546 esac
547 do_test "py-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530548 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
549 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200550 "10" "2"
551 done
552 done
553done
554
Roger Meier76150722014-05-31 22:22:07 +0200555for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
556 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
557 case "$sock" in
558 "ip" ) extraparam="";;
559 "ip-ssl" ) extraparam="--ssl";;
560 esac
561 do_test "py-cpp" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530562 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
563 "cpp/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200564 "10" "2"
565 done
566 done
567
Roger Meier72268b72014-05-28 23:03:57 +0200568######### cpp client - py server ##############
569for proto in $(intersection "${cpp_protocols}" "${py_protocols}"); do
570 for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
571 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
572 case "$sock" in
573 "ip" ) extraparam="";;
574 "ip-ssl" ) extraparam="--ssl";;
575 esac
576 do_test "cpp-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530577 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
578 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200579 "10" "2"
580 done
581 done
582done
583
Roger Meier76150722014-05-31 22:22:07 +0200584for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
585 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
586 case "$sock" in
587 "ip" ) extraparam="";;
588 "ip-ssl" ) extraparam="--ssl";;
589 esac
590 do_test "cpp-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530591 "cpp/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
592 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200593 "10" "2"
594 done
595 done
596
Roger Meier72268b72014-05-28 23:03:57 +0200597######### py client - java server ##############
Roger Meier72268b72014-05-28 23:03:57 +0200598for proto in $(intersection "${py_protocols}" "${java_protocols}"); do
599 for trans in $(intersection "${py_transports}" "${java_server_transports}"); do
600 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
601 case "$sock" in
602 "ip" ) extraparam="";;
603 "ip-ssl" ) extraparam="--ssl";;
604 esac
605 do_test "py-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530606 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
607 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
Roger Meier72268b72014-05-28 23:03:57 +0200608 "15" "2"
609 done
610 done
611done
612
Roger Meier76150722014-05-31 22:22:07 +0200613for trans in $(intersection "${py_transports}" "${java_server_transports}"); do
614 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
615 case "$sock" in
616 "ip" ) extraparam="";;
617 "ip-ssl" ) extraparam="--ssl";;
618 esac
619 do_test "py-java" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530620 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
621 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
Roger Meier76150722014-05-31 22:22:07 +0200622 "15" "2"
623 done
624 done
625
Roger Meier72268b72014-05-28 23:03:57 +0200626######### java client - py server ##############
627for proto in $(intersection "${py_protocols}" "${java_protocols}"); do
628 for trans in $(intersection "${py_transports}" "${java_client_transports}"); do
629 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
630 case "$sock" in
631 "ip" ) extraparam="";;
632 "ip-ssl" ) extraparam="--ssl";;
633 esac
634 do_test "java-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530635 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
636 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200637 "10" "5"
638 done
639 done
640done
641
Roger Meier76150722014-05-31 22:22:07 +0200642for trans in $(intersection "${py_transports}" "${java_client_transports}"); do
643 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
644 case "$sock" in
645 "ip" ) extraparam="";;
646 "ip-ssl" ) extraparam="--ssl";;
647 esac
648 do_test "java-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530649 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
650 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200651 "10" "5"
652 done
653 done
654
Roger Meier15df0762014-09-29 20:50:56 +0200655######### py client - c_glib server ##############
656for proto in $(intersection "${py_protocols}" "${c_glib_protocols}"); do
657 for trans in $(intersection "${py_transports}" "${c_glib_transports}"); do
658 for sock in $(intersection "${py_sockets}" "${c_glib_sockets}"); do
659 case "$sock" in
660 "ip" ) extraparam="";;
661 "ip-ssl" ) extraparam="--ssl";;
662 esac
663 do_test "py-c_glib" "${proto}" "${trans}-${sock}" \
664 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
665 "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
666 "10" "0.1"
667 done
668 done
669done
670
671for trans in $(intersection "${py_transports}" "${c_glib_transports}"); do
672 for sock in $(intersection "${py_sockets}" "${c_glib_sockets}"); do
673 case "$sock" in
674 "ip" ) extraparam="";;
675 "ip-ssl" ) extraparam="--ssl";;
676 esac
677 do_test "py-c_glib" "accel-binary" "${trans}-${sock}" \
678 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
679 "c_glib/test_server --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
680 "10" "0.1"
681 done
682 done
683
Roger Meierb3c84092014-09-01 21:53:40 +0200684######### c_glib client - py server ##############
685for proto in $(intersection "${c_glib_protocols}" "${py_protocols}"); do
686 for trans in $(intersection "${c_glib_transports}" "${py_transports}"); do
687 for sock in $(intersection "${c_glib_sockets}" "${py_sockets}"); do
688 case "$sock" in
689 "ip" ) extraparam="";;
690 "ip-ssl" ) extraparam="--ssl";;
691 esac
692 do_test "c_glib-py" "${proto}" "${trans}-${sock}" \
693 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
694 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
695 "2" "2"
696 done
697 done
698done
699
Roger Meier15df0762014-09-29 20:50:56 +0200700for trans in $(intersection "${c_glib_transports}" "${py_transports}"); do
701 for sock in $(intersection "${c_glib_sockets}" "${py_sockets}"); do
702 case "$sock" in
703 "ip" ) extraparam="";;
704 "ip-ssl" ) extraparam="--ssl";;
705 esac
706 do_test "c_glib-py" "binary-accel" "${trans}-${sock}" \
707 "c_glib/test_client --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
708 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
709 "10" "2"
710 done
711 done
712
Roger Meier72268b72014-05-28 23:03:57 +0200713######### py client - nodejs server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800714for type in ${nodejs_types}; do
715 for proto in $(intersection "${py_protocols}" "${nodejs_protocols}"); do
716 for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
717 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
718 case "$sock" in
719 "ip" ) extraparam="";;
720 "ip-ssl" ) extraparam="--ssl";;
721 esac
722 do_test "py-nodejs" "${proto}" "${trans}-${sock}" \
723 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
724 "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
725 "15" "2"
726 done
Roger Meier72268b72014-05-28 23:03:57 +0200727 done
728 done
729done
730
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800731for type in ${nodejs_types}; do
732 for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
Roger Meier76150722014-05-31 22:22:07 +0200733 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
734 case "$sock" in
735 "ip" ) extraparam="";;
736 "ip-ssl" ) extraparam="--ssl";;
737 esac
738 do_test "py-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530739 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800740 "node ${NODE_TEST_DIR}/server.js --type ${type} -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200741 "15" "2"
742 done
743 done
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800744done
Roger Meier76150722014-05-31 22:22:07 +0200745
Roger Meier72268b72014-05-28 23:03:57 +0200746######### nodejs client - py server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800747for type in ${nodejs_types}; do
748 for proto in $(intersection "${py_protocols}" "${nodejs_protocols}"); do
749 for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
750 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
751 case "$sock" in
752 "ip" ) extraparam="";;
753 "ip-ssl" ) extraparam="--ssl";;
754 esac
755 do_test "nodejs-py" "${proto}" "${trans}-${sock}" \
756 "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
757 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
758 "10" "2"
759 done
760 done
761 done
762done
763
764for type in ${nodejs_types}; do
Roger Meier72268b72014-05-28 23:03:57 +0200765 for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
766 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
767 case "$sock" in
768 "ip" ) extraparam="";;
769 "ip-ssl" ) extraparam="--ssl";;
770 esac
Roger Meier76150722014-05-31 22:22:07 +0200771 do_test "nodejs-py" "binary-accel" "${trans}-${sock}" \
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800772 "node ${NODE_TEST_DIR}/client.js --type ${type} -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530773 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200774 "10" "2"
775 done
776 done
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800777done
Roger Meier76150722014-05-31 22:22:07 +0200778
Roger Meiera3570ac2014-06-10 22:16:14 +0200779######### ruby client - ruby server ##############
780for proto in ${ruby_protocols}; do
781 for trans in ${ruby_transports}; do
782 for sock in ${ruby_sockets}; do
783 case "$sock" in
784 "ip" ) extraparam="";;
785 "ip-ssl" ) extraparam="--ssl";;
786 esac
787 do_test "ruby-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530788 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
789 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200790 "5" "5"
791 done
792 done
793done
794
795for trans in ${ruby_transports}; do
796 for sock in ${ruby_sockets}; do
797 case "$sock" in
798 "ip" ) extraparam="";;
799 "ip-ssl" ) extraparam="--ssl";;
800 esac
801 do_test "ruby-ruby" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530802 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
803 "ruby rb/integration/TestServer.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200804 "5" "5"
805 do_test "ruby-ruby" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530806 "ruby rb/integration/TestClient.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
807 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200808 "5" "5"
809 done
810 done
811
812######### ruby client - cpp server ##############
813for proto in $(intersection "${cpp_protocols}" "${ruby_protocols}"); do
814 for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
815 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
816 case "$sock" in
817 "ip" ) extraparam="";;
818 "ip-ssl" ) extraparam="--ssl";;
819 esac
820 do_test "ruby-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530821 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
822 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200823 "5" "5"
824 done
825 done
826done
827
828for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
829 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
830 case "$sock" in
831 "ip" ) extraparam="";;
832 "ip-ssl" ) extraparam="--ssl";;
833 esac
834 do_test "ruby-cpp" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530835 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
836 "cpp/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200837 "5" "5"
838 done
839 done
840
841######### cpp client - ruby server ##############
842for proto in $(intersection "${cpp_protocols}" "${ruby_protocols}"); do
843 for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
844 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
845 case "$sock" in
846 "ip" ) extraparam="";;
847 "ip-ssl" ) extraparam="--ssl";;
848 esac
849 do_test "cpp-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530850 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
851 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200852 "5" "5"
853 done
854 done
855done
856
857for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
858 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
859 case "$sock" in
860 "ip" ) extraparam="";;
861 "ip-ssl" ) extraparam="--ssl";;
862 esac
863 do_test "cpp-ruby" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530864 "cpp/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
865 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200866 "5" "5"
867 done
868 done
869
870######### ruby client - java server ##############
871for proto in $(intersection "${ruby_protocols}" "${java_protocols}"); do
872 for trans in $(intersection "${ruby_transports}" "${java_server_transports}"); do
873 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
874 case "$sock" in
875 "ip" ) extraparam="";;
876 "ip-ssl" ) extraparam="--ssl";;
877 esac
878 do_test "ruby-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530879 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
880 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200881 "15" "5"
882 done
883 done
884done
885
886for trans in $(intersection "${ruby_transports}" "${java_server_transports}"); do
887 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
888 case "$sock" in
889 "ip" ) extraparam="";;
890 "ip-ssl" ) extraparam="--ssl";;
891 esac
892 do_test "ruby-java" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530893 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
894 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200895 "15" "5"
896 done
897 done
898
899######### java client - ruby server ##############
900for proto in $(intersection "${ruby_protocols}" "${java_protocols}"); do
901 for trans in $(intersection "${ruby_transports}" "${java_client_transports}"); do
902 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
903 case "$sock" in
904 "ip" ) extraparam="";;
905 "ip-ssl" ) extraparam="--ssl";;
906 esac
907 do_test "java-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530908 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
909 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200910 "10" "5"
911 done
912 done
913done
914
915for trans in $(intersection "${ruby_transports}" "${java_client_transports}"); do
916 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
917 case "$sock" in
918 "ip" ) extraparam="";;
919 "ip-ssl" ) extraparam="--ssl";;
920 esac
921 do_test "java-ruby" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530922 "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" \
923 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200924 "10" "5"
925 done
926 done
927
Roger Meier15df0762014-09-29 20:50:56 +0200928######### ruby client - c_glib server ##############
929for proto in $(intersection "${ruby_protocols}" "${c_glib_protocols}"); do
930 for trans in $(intersection "${ruby_transports}" "${c_glib_transports}"); do
931 for sock in $(intersection "${ruby_sockets}" "${c_glib_sockets}"); do
932 case "$sock" in
933 "ip" ) extraparam="";;
934 "ip-ssl" ) extraparam="--ssl";;
935 esac
936 do_test "ruby-c_glib" "${proto}" "${trans}-${sock}" \
937 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
938 "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
939 "5" "0.1"
940 done
941 done
942done
943
944for trans in $(intersection "${ruby_transports}" "${c_glib_transports}"); do
945 for sock in $(intersection "${ruby_sockets}" "${c_glib_sockets}"); do
946 case "$sock" in
947 "ip" ) extraparam="";;
948 "ip-ssl" ) extraparam="--ssl";;
949 esac
950 do_test "ruby-c_glib" "accel-binary" "${trans}-${sock}" \
951 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
952 "c_glib/test_server --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
953 "5" "0.1"
954 done
955 done
956
Roger Meierb3c84092014-09-01 21:53:40 +0200957######### c_glib client - ruby server ##############
958for proto in $(intersection "${c_glib_protocols}" "${ruby_protocols}"); do
959 for trans in $(intersection "${c_glib_transports}" "${ruby_transports}"); do
960 for sock in $(intersection "${c_glib_sockets}" "${ruby_sockets}"); do
961 case "$sock" in
962 "ip" ) extraparam="";;
963 "ip-ssl" ) extraparam="--ssl";;
964 esac
965 do_test "c_glib-ruby" "${proto}" "${trans}-${sock}" \
966 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
967 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
968 "2" "2"
969 done
970 done
971done
972
Roger Meier15df0762014-09-29 20:50:56 +0200973for trans in $(intersection "${c_glib_transports}" "${ruby_transports}"); do
974 for sock in $(intersection "${c_glib_sockets}" "${ruby_sockets}"); do
975 case "$sock" in
976 "ip" ) extraparam="";;
977 "ip-ssl" ) extraparam="--ssl";;
978 esac
979 do_test "c_glib-ruby" "binary-accel" "${trans}-${sock}" \
980 "c_glib/test_client --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
981 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
982 "5" "5"
983 done
984 done
985
Roger Meiera3570ac2014-06-10 22:16:14 +0200986######### ruby client - nodejs server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -0800987for type in ${nodejs_types}; do
988 for proto in $(intersection "${ruby_protocols}" "${nodejs_protocols}"); do
989 for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
990 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
991 case "$sock" in
992 "ip" ) extraparam="";;
993 "ip-ssl" ) extraparam="--ssl";;
994 esac
995 do_test "ruby-nodejs" "${proto}" "${trans}-${sock}" \
996 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
997 "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
998 "5" "2"
999 done
Roger Meiera3570ac2014-06-10 22:16:14 +02001000 done
1001 done
1002done
1003
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -08001004for type in ${nodejs_types}; do
1005 for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
Roger Meiera3570ac2014-06-10 22:16:14 +02001006 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
1007 case "$sock" in
1008 "ip" ) extraparam="";;
1009 "ip-ssl" ) extraparam="--ssl";;
1010 esac
1011 do_test "ruby-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301012 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -08001013 "node ${NODE_TEST_DIR}/server.js --type ${type} -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +02001014 "5" "2"
1015 done
1016 done
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -08001017done
Roger Meiera3570ac2014-06-10 22:16:14 +02001018
1019######### nodejs client - ruby server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -08001020for type in ${nodejs_types}; do
1021 for proto in $(intersection "${ruby_protocols}" "${nodejs_protocols}"); do
1022 for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
1023 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
1024 case "$sock" in
1025 "ip" ) extraparam="";;
1026 "ip-ssl" ) extraparam="--ssl";;
1027 esac
1028 do_test "nodejs-ruby" "${proto}" "${trans}-${sock}" \
1029 "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1030 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1031 "10" "5"
1032 done
1033 done
1034 done
1035done
1036
1037for type in ${nodejs_types}; do
Roger Meiera3570ac2014-06-10 22:16:14 +02001038 for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
1039 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
1040 case "$sock" in
1041 "ip" ) extraparam="";;
1042 "ip-ssl" ) extraparam="--ssl";;
1043 esac
Roger Meiera3570ac2014-06-10 22:16:14 +02001044 do_test "nodejs-ruby" "binary-accel" "${trans}-${sock}" \
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -08001045 "node ${NODE_TEST_DIR}/client.js --type ${type} -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301046 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +02001047 "10" "2"
1048 done
1049 done
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -08001050done
Roger Meiera3570ac2014-06-10 22:16:14 +02001051
cdwijayarathnad9217912014-08-15 22:18:30 +05301052######### py client - ruby server ##############
Roger Meiera3570ac2014-06-10 22:16:14 +02001053for proto in $(intersection "${py_protocols}" "${ruby_protocols}"); do
1054 for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
1055 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
1056 case "$sock" in
1057 "ip" ) extraparam="";;
1058 "ip-ssl" ) extraparam="--ssl";;
1059 esac
1060 do_test "py-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301061 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
1062 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +02001063 "15" "5"
1064 done
1065 done
1066done
1067
1068for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
1069 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
1070 case "$sock" in
1071 "ip" ) extraparam="";;
1072 "ip-ssl" ) extraparam="--ssl";;
1073 esac
1074 do_test "py-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301075 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
1076 "ruby rb/integration/TestServer.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +02001077 "15" "5"
1078 do_test "py-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301079 "py/TestClient.py --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
1080 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +02001081 "15" "5"
1082 done
1083 done
1084
1085######### ruby client - py server ##############
1086for proto in $(intersection "${py_protocols}" "${ruby_protocols}"); do
1087 for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
1088 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
1089 case "$sock" in
1090 "ip" ) extraparam="";;
1091 "ip-ssl" ) extraparam="--ssl";;
1092 esac
1093 do_test "ruby-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301094 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1095 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +02001096 "5" "2"
1097 done
1098 done
1099done
1100
1101for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
1102 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
1103 case "$sock" in
1104 "ip" ) extraparam="";;
1105 "ip-ssl" ) extraparam="--ssl";;
1106 esac
1107 do_test "ruby-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301108 "ruby rb/integration/TestClient.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1109 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +02001110 "5" "2"
1111 do_test "ruby-py" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301112 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1113 "py/TestServer.py --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +02001114 "5" "2"
1115 done
1116 done
1117
cdwijayarathnad9217912014-08-15 22:18:30 +05301118######### hs client - hs server ###############
1119for proto in $hs_protocols; do
1120 for trans in $hs_transports; do
1121 for sock in $hs_sockets; do
1122 case "$sock" in
1123 "ip" ) extraparam="";;
1124 "ip-ssl" ) extraparam="--ssl";;
1125 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
1126 esac
1127 do_test "hs-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301128 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1129 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301130 "2" "0.1"
1131 done
1132 done
1133done
1134
1135######### hs client - cpp server ###############
1136for proto in $(intersection "${hs_protocols}" "${cpp_protocols}"); do
1137 for trans in $(intersection "${hs_transports}" "${cpp_transports}"); do
1138 for sock in $(intersection "${hs_sockets}" "${cpp_sockets}"); do
1139 case "$sock" in
1140 "ip" ) extraparam="";;
1141 "ip-ssl" ) extraparam="--ssl";;
1142 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
1143 esac
1144 do_test "hs-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301145 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1146 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301147 "2" "0.1"
1148 done
1149 done
1150done
1151
1152######### cpp client - hs server ###############
1153for proto in $(intersection "${hs_protocols}" "${cpp_protocols}"); do
1154 for trans in $(intersection "${hs_transports}" "${cpp_transports}"); do
1155 for sock in $(intersection "${hs_sockets}" "${cpp_sockets}"); do
1156 case "$sock" in
1157 "ip" ) extraparam="";;
1158 "ip-ssl" ) extraparam="--ssl";;
1159 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
1160 esac
1161 do_test "cpp-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301162 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1163 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301164 "2" "0.1"
1165 done
1166 done
1167done
1168
1169######### hs client - java server ###############
1170for proto in $(intersection "${hs_protocols}" "${java_protocols}"); do
1171 for trans in $(intersection "${hs_transports}" "${java_transports}"); do
1172 for sock in $(intersection "${hs_sockets}" "${java_sockets}"); do
1173 case "$sock" in
1174 "ip" ) extraparam="";;
1175 "ip-ssl" ) extraparam="--ssl";;
1176 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
1177 esac
1178 do_test "hs-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301179 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1180 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301181 "5" "1"
1182 done
1183 done
1184done
1185
1186######### java client - hs server ###############
1187for proto in $(intersection "${hs_protocols}" "${java_protocols}"); do
1188 for trans in $(intersection "${hs_transports}" "${java_transports}"); do
1189 for sock in $(intersection "${hs_sockets}" "${java_sockets}"); do
1190 case "$sock" in
1191 "ip" ) extraparam="";;
1192 "ip-ssl" ) extraparam="--ssl";;
1193 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
1194 esac
1195 do_test "java-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301196 "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" \
1197 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301198 "5" "1"
1199 done
1200 done
1201done
1202
Roger Meier15df0762014-09-29 20:50:56 +02001203######### hs client - c_glib server ###############
1204for proto in $(intersection "${hs_protocols}" "${c_glib_protocols}"); do
1205 for trans in $(intersection "${hs_transports}" "${c_glib_transports}"); do
1206 for sock in $(intersection "${hs_sockets}" "${c_glib_sockets}"); do
1207 case "$sock" in
1208 "ip" ) extraparam="";;
1209 "ip-ssl" ) extraparam="--ssl";;
1210 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
1211 esac
1212 do_test "hs-c_glib" "${proto}" "${trans}-${sock}" \
1213 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1214 "c_glib/test_server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1215 "2" "0.1"
1216 done
1217 done
1218done
1219
Roger Meierb3c84092014-09-01 21:53:40 +02001220######### c_glib client - hs server ###############
1221for proto in $(intersection "${c_glib_protocols}" "${hs_protocols}"); do
1222 for trans in $(intersection "${c_glib_transports}" "${hs_transports}"); do
1223 for sock in $(intersection "${c_glib_sockets}" "${hs_sockets}"); do
1224 case "$sock" in
1225 "ip" ) extraparam="";;
1226 "ip-ssl" ) extraparam="--ssl";;
1227 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
1228 esac
1229 do_test "c_glib-hs" "${proto}" "${trans}-${sock}" \
1230 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1231 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1232 "2" "0.1"
1233 done
1234 done
1235done
1236
cdwijayarathnad9217912014-08-15 22:18:30 +05301237######### py client -hs server ##############
1238for proto in $(intersection "${hs_protocols}" "${py_protocols}"); do
1239 for trans in $(intersection "${hs_transports}" "${py_transports}"); do
1240 for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
1241 case "$sock" in
1242 "ip" ) extraparam="";;
1243 "ip-ssl" ) extraparam="--ssl";;
1244 esac
1245 do_test "py-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301246 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
1247 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301248 "10" "2"
1249 done
1250 done
1251done
1252
1253for trans in $(intersection "${hs_transports}" "${py_transports}"); do
1254 for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
1255 case "$sock" in
1256 "ip" ) extraparam="";;
1257 "ip-ssl" ) extraparam="--ssl";;
1258 esac
1259 do_test "py-hs" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301260 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
1261 "hs/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301262 "10" "2"
1263 done
1264 done
1265
1266######### hs client - py server ##############
1267for proto in $(intersection "${hs_protocols}" "${py_protocols}"); do
1268 for trans in $(intersection "${hs_transports}" "${py_transports}"); do
1269 for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
1270 case "$sock" in
1271 "ip" ) extraparam="";;
1272 "ip-ssl" ) extraparam="--ssl";;
1273 esac
1274 do_test "hs-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301275 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1276 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301277 "10" "2"
1278 done
1279 done
1280done
1281
1282for trans in $(intersection "${hs_transports}" "${py_transports}"); do
1283 for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
1284 case "$sock" in
1285 "ip" ) extraparam="";;
1286 "ip-ssl" ) extraparam="--ssl";;
1287 esac
1288 do_test "hs-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301289 "hs/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1290 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301291 "10" "2"
1292 done
1293 done
1294
1295######### nodejs client - hs server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -08001296for type in ${nodejs_types}; do
1297 for proto in $(intersection "${nodejs_protocols}" "${hs_protocols}"); do
1298 for trans in $(intersection "${nodejs_transports}" "${hs_transports}"); do
1299 for sock in $(intersection "${nodejs_sockets}" "${hs_sockets}"); do
1300 case "$sock" in
1301 "ip" ) extraparam="";;
1302 "ip-ssl" ) extraparam="--ssl";;
1303 esac
1304 do_test "nodejs-hs" "${proto}" "${trans}-${sock}" \
1305 "node ${NODE_TEST_DIR}/client.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1306 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1307 "5" "0.2"
1308 done
cdwijayarathnad9217912014-08-15 22:18:30 +05301309 done
1310 done
1311done
1312
1313######### hs client - nodejs server ##############
Randy Abernethy3b9ff4d2015-02-16 00:51:24 -08001314for type in ${nodejs_types}; do
1315 for proto in $(intersection "${nodejs_protocols}" "${hs_protocols}"); do
1316 for trans in $(intersection "${nodejs_transports}" "${hs_transports}"); do
1317 for sock in $(intersection "${nodejs_sockets}" "${hs_sockets}"); do
1318 case "$sock" in
1319 "ip" ) extraparam="";;
1320 "ip-ssl" ) extraparam="--ssl";;
1321 esac
1322 do_test "hs-nodejs" "${proto}" "${trans}-${sock}" \
1323 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1324 "node ${NODE_TEST_DIR}/server.js --type ${type} -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1325 "5" "2"
1326 done
cdwijayarathnad9217912014-08-15 22:18:30 +05301327 done
1328 done
1329done
1330
1331######### ruby client - hs server ##############
1332for proto in $(intersection "${hs_protocols}" "${ruby_protocols}"); do
1333 for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
1334 for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
1335 case "$sock" in
1336 "ip" ) extraparam="";;
1337 "ip-ssl" ) extraparam="--ssl";;
1338 esac
1339 do_test "ruby-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301340 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1341 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301342 "5" "5"
1343 done
1344 done
1345done
1346
1347for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
1348 for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
1349 case "$sock" in
1350 "ip" ) extraparam="";;
1351 "ip-ssl" ) extraparam="--ssl";;
1352 esac
1353 do_test "ruby-cpp" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301354 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam} ${extraparam}" \
1355 "hs/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301356 "5" "5"
1357 done
1358 done
1359
1360######### hs client - ruby server ##############
1361for proto in $(intersection "${hs_protocols}" "${ruby_protocols}"); do
1362 for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
1363 for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
1364 case "$sock" in
1365 "ip" ) extraparam="";;
1366 "ip-ssl" ) extraparam="--ssl";;
1367 esac
1368 do_test "hs-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301369 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1370 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301371 "5" "5"
1372 done
1373 done
1374done
1375
1376for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
1377 for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
1378 case "$sock" in
1379 "ip" ) extraparam="";;
1380 "ip-ssl" ) extraparam="--ssl";;
1381 esac
1382 do_test "hs-ruby" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301383 "hs/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1384 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301385 "5" "5"
1386 done
1387 done
1388
Roger Meiera3570ac2014-06-10 22:16:14 +02001389
Roger Meier691ec002012-11-02 07:50:24 +00001390# delete Unix Domain Socket used by cpp tests
1391rm -f /tmp/ThriftTest.thrift
1392
Jens Geyerc1d79432014-04-22 22:52:43 +02001393######### csharp client - csharp server #############
1394export MONO_PATH=../lib/csharp
1395for proto in $csharp_protocols; do
1396 for trans in $csharp_transports; do
1397 for sock in $csharp_sockets; do
1398 case "$sock" in
1399 "ip" ) extraparam="";;
1400 "ip-ssl" ) extraparam="--ssl";;
1401 esac
1402 do_test "csharp-csharp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301403 "../lib/csharp/test/ThriftTest/TestClientServer.exe client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1404 "../lib/csharp/test/ThriftTest/TestClientServer.exe server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +02001405 "5" "1"
Jens Geyerc1d79432014-04-22 22:52:43 +02001406 done
1407 done
1408done
1409
Roger Meier4edac7f2014-05-02 21:07:01 +02001410do_test "js-java" "json" "http-ip" \
Roger Meier4d5157d2012-01-09 21:23:19 +00001411 "" \
1412 "ant -f ../lib/js/test/build.xml unittest" \
henriqued17f1c92014-04-30 16:21:25 +02001413 "2" "2"
Roger Meier4d5157d2012-01-09 21:23:19 +00001414do_test "perl-cpp" "binary" "buffered-ip" \
Roger Meier01b568c2012-01-10 21:30:02 +00001415 "perl -I perl/gen-perl/ -I../lib/perl/lib/ perl/TestClient.pl" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301416 "cpp/TestServer --port=${THRIFT_TEST_PORT}" \
henriqued5aba4c2014-04-30 18:11:11 +02001417 "10" "2"
Roger Meierb33967b2012-01-21 09:18:05 +00001418do_test "php-cpp" "binary" "buffered-ip" \
1419 "make -C php/ client" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301420 "cpp/TestServer --port=${THRIFT_TEST_PORT}" \
henriqued5aba4c2014-04-30 18:11:11 +02001421 "10" "2"
Roger Meier4edac7f2014-05-02 21:07:01 +02001422
1423echo " failed tests are logged to test/log/error.log"
Roger Meiercc0fe272014-05-16 23:18:25 +02001424echo " full log is here test/log/client_server_protocol_transport_client.log"
1425echo " full log is here test/log/client_server_protocol_transport_server.log"
1426echo " or look at file://$BASEDIR/$STATUS_HTML"
1427
henriquead4df162014-05-20 13:18:45 +02001428ELAPSED_TIME=$(echo "(${SECONDS} - ${START_TIME})" | bc)
1429DURATION="${ELAPSED_TIME} seconds"
Roger Meierbea27342014-08-08 00:30:50 +02001430
1431echo $FAILED failed of $TESTCOUNT tests in total
Roger Meiercc0fe272014-05-16 23:18:25 +02001432echo "test an took" $DURATION
1433print_html_footer "$DURATION"
1434
Roger Meier4edac7f2014-05-02 21:07:01 +02001435date
Roger Meier82525772012-11-16 00:38:27 +00001436cd -