blob: f7e119d2333c4fa66e22d17d83dd67c1e6a96c1d [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
Roger Meierd9b331d2014-05-25 22:59:17 +0200204nodejs_protocols="binary compact json"
Roger Meier8909cbd2014-01-26 11:44:27 +0100205nodejs_transports="buffered framed"
Roger Meier57b354b2014-02-22 01:01:58 +0100206nodejs_sockets="ip ip-ssl"
Roger Meiereaa61d82012-01-12 21:38:29 +0000207
Jens Geyerc1d79432014-04-22 22:52:43 +0200208csharp_protocols="binary compact json"
209csharp_transports="buffered framed"
210csharp_sockets="ip ip-ssl"
211
Roger Meier72268b72014-05-28 23:03:57 +0200212py_protocols="binary compact json accel"
Roger Meier76150722014-05-31 22:22:07 +0200213py_transports="buffered framed"
214py_sockets="ip ip-ssl"
Roger Meier72268b72014-05-28 23:03:57 +0200215
Roger Meiera3570ac2014-06-10 22:16:14 +0200216ruby_protocols="binary compact json accel"
217ruby_transports="buffered framed"
218ruby_sockets="ip"
219
Noam Zilbersteinaf5d64a2014-07-31 15:44:13 -0700220hs_protocols="binary compact json"
221hs_transports="buffered"
222hs_sockets="ip"
223
Roger Meierf42ce2a2013-01-16 22:12:14 +0100224######### java client - java server #############
225for proto in $java_protocols; do
226 for trans in $java_server_transports; do
227 for sock in $java_sockets; do
228 case "$sock" in
229 "ip" ) extraparam="";;
230 "ip-ssl" ) extraparam="--ssl";;
231 esac
232 do_test "java-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530233 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
234 "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 +0200235 "5" "1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100236 done
237 done
238done
239
240######### cpp client - cpp server ###############
241for proto in $cpp_protocols; do
242 for trans in $cpp_transports; do
243 for sock in $cpp_sockets; do
Roger Meier4d5157d2012-01-09 21:23:19 +0000244 case "$sock" in
245 "ip" ) extraparam="";;
246 "ip-ssl" ) extraparam="--ssl";;
247 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
248 esac
249 do_test "cpp-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530250 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
251 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +0200252 "2" "0.1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100253 done
254 done
255done
256
henriqued17f1c92014-04-30 16:21:25 +0200257
Roger Meierf42ce2a2013-01-16 22:12:14 +0100258######### java client - cpp server ##############
259# warning: ssl over http is not supported in java client!
260for proto in $(intersection "${java_protocols}" "${cpp_protocols}"); do
261 for trans in $(intersection "${java_client_transports}" "${cpp_transports}"); do
262 for sock in $(intersection "${java_sockets}" "${cpp_sockets}"); do
263 case "$sock" in
264 "ip" ) extraparam="";;
265 "ip-ssl" ) extraparam="--ssl";;
266 esac
Roger Meier188024e2014-04-17 21:53:45 +0200267 do_test "java-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530268 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
269 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}"\
henriqued5aba4c2014-04-30 18:11:11 +0200270 "5" "0.1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100271 done
272 done
273done
274
275######### cpp client - java server ##############
276for proto in $(intersection "${cpp_protocols}" "${java_protocols}"); do
277 for trans in $(intersection "${cpp_transports}" "${java_server_transports}"); do
278 for sock in $(intersection "${java_sockets}" "${cpp_sockets}"); do
279 case "$sock" in
280 "ip" ) extraparam="";;
281 "ip-ssl" ) extraparam="--ssl";;
282 esac
Roger Meier188024e2014-04-17 21:53:45 +0200283 do_test "cpp-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530284 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
285 "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 +0200286 "5" "1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100287 done
288 done
289done
Roger Meier4d5157d2012-01-09 21:23:19 +0000290
Roger Meierb3c84092014-09-01 21:53:40 +0200291######### c_glib client - cpp server ##############
292for proto in $(intersection "${c_glib_protocols}" "${cpp_protocols}"); do
293 for trans in $(intersection "${c_glib_transports}" "${cpp_transports}"); do
294 for sock in $(intersection "${c_glib_sockets}" "${cpp_sockets}"); do
295 case "$sock" in
296 "ip" ) extraparam="";;
297 "ip-ssl" ) extraparam="--ssl";;
298 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
299 esac
300 do_test "c_glib-cpp" "${proto}" "${trans}-${sock}" \
301 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
302 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}"\
303 "2" "0.1"
304 done
305 done
306done
307
308######### c_glib client - java server ##############
309for proto in $(intersection "${c_glib_protocols}" "${java_protocols}"); do
310 for trans in $(intersection "${c_glib_transports}" "${java_server_transports}"); do
311 for sock in $(intersection "${c_glib_sockets}" "${java_sockets}"); do
312 case "$sock" in
313 "ip" ) extraparam="";;
314 "ip-ssl" ) extraparam="--ssl";;
315 esac
316 do_test "c_glib-java" "${proto}" "${trans}-${sock}" \
317 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
318 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
319 "2" "2"
320 done
321 done
322done
323
Roger Meier8909cbd2014-01-26 11:44:27 +0100324
henriqued17f1c92014-04-30 16:21:25 +0200325NODE_TEST_DIR=${BASEDIR}/../lib/nodejs/test
Roger Meier8909cbd2014-01-26 11:44:27 +0100326export NODE_PATH=${NODE_TEST_DIR}:${NODE_TEST_DIR}/../lib:${NODE_PATH}
Roger Meierd9b331d2014-05-25 22:59:17 +0200327######### nodejs client - nodejs server ##############
Roger Meierd9b331d2014-05-25 22:59:17 +0200328for proto in ${nodejs_protocols}; do
329 for trans in ${nodejs_transports}; do
330 for sock in ${nodejs_sockets}; do
331 case "$sock" in
332 "ip" ) extraparam="";;
333 "ip-ssl" ) extraparam="--ssl";;
334 esac
335 do_test "nodejs-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530336 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
337 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meierd9b331d2014-05-25 22:59:17 +0200338 "5" "0.2"
339 done
340 done
341done
henriqued5aba4c2014-04-30 18:11:11 +0200342
Roger Meier8909cbd2014-01-26 11:44:27 +0100343######### nodejs client - cpp server ##############
Roger Meier8909cbd2014-01-26 11:44:27 +0100344for proto in $(intersection "${nodejs_protocols}" "${cpp_protocols}"); do
345 for trans in $(intersection "${nodejs_transports}" "${cpp_transports}"); do
346 for sock in $(intersection "${nodejs_sockets}" "${cpp_sockets}"); do
Roger Meier57b354b2014-02-22 01:01:58 +0100347 case "$sock" in
348 "ip" ) extraparam="";;
349 "ip-ssl" ) extraparam="--ssl";;
350 esac
henriqued17f1c92014-04-30 16:21:25 +0200351 do_test "nodejs-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530352 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
353 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +0200354 "5" "0.2"
Roger Meier8909cbd2014-01-26 11:44:27 +0100355 done
356 done
357done
358
359######### cpp client - nodejs server ##############
360for proto in $(intersection "${nodejs_protocols}" "${cpp_protocols}"); do
361 for trans in $(intersection "${nodejs_transports}" "${cpp_transports}"); do
362 for sock in $(intersection "${nodejs_sockets}" "${cpp_sockets}"); do
Roger Meier57b354b2014-02-22 01:01:58 +0100363 case "$sock" in
364 "ip" ) extraparam="";;
365 "ip-ssl" ) extraparam="--ssl";;
366 esac
henriqued17f1c92014-04-30 16:21:25 +0200367 do_test "cpp-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530368 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
369 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +0200370 "5" "2"
Roger Meier8909cbd2014-01-26 11:44:27 +0100371 done
372 done
373done
374
Roger Meier5c6ad242014-05-27 21:18:00 +0200375######### nodejs client - java server ##############
Roger Meier5c6ad242014-05-27 21:18:00 +0200376for proto in $(intersection "${nodejs_protocols}" "${java_protocols}"); do
377 for trans in $(intersection "${nodejs_transports}" "${java_server_transports}"); do
378 for sock in $(intersection "${nodejs_sockets}" "${java_sockets}"); do
379 case "$sock" in
380 "ip" ) extraparam="";;
381 "ip-ssl" ) extraparam="--ssl";;
382 esac
383 do_test "nodejs-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530384 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
385 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testserver" \
Roger Meier5c6ad242014-05-27 21:18:00 +0200386 "5" "1"
387 done
388 done
389done
390
391######### java client - nodejs server ##############
392for proto in $(intersection "${nodejs_protocols}" "${java_protocols}"); do
393 for trans in $(intersection "${nodejs_transports}" "${java_client_transports}"); do
394 for sock in $(intersection "${nodejs_sockets}" "${java_sockets}"); do
395 case "$sock" in
396 "ip" ) extraparam="";;
397 "ip-ssl" ) extraparam="--ssl";;
398 esac
399 do_test "java-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530400 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
401 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meier5c6ad242014-05-27 21:18:00 +0200402 "5" "2"
403 done
404 done
405done
406
Roger Meierb3c84092014-09-01 21:53:40 +0200407######### c_glib client - nodejs server ##############
408for proto in $(intersection "${c_glib_protocols}" "${nodejs_protocols}"); do
409 for trans in $(intersection "${c_glib_transports}" "${nodejs_transports}"); do
410 for sock in $(intersection "${c_glib_sockets}" "${nodejs_sockets}"); do
411 case "$sock" in
412 "ip" ) extraparam="";;
413 "ip-ssl" ) extraparam="--ssl";;
414 esac
415 do_test "c_glib-nodejs" "${proto}" "${trans}-${sock}" \
416 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
417 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
418 "2" "2"
419 done
420 done
421done
422
Roger Meier72268b72014-05-28 23:03:57 +0200423######### py client - py server ##############
424for proto in ${py_protocols}; do
425 for trans in ${py_transports}; do
426 for sock in ${py_sockets}; do
427 case "$sock" in
428 "ip" ) extraparam="";;
429 "ip-ssl" ) extraparam="--ssl";;
430 esac
431 do_test "py-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530432 "py/TestClient.py --protocol=${proto} --transport={trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
433 "py/TestServer.py --protocol=${proto} --transport={trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200434 "10" "2"
435 done
436 done
437done
438
Roger Meier76150722014-05-31 22:22:07 +0200439for trans in ${py_transports}; do
440 for sock in ${py_sockets}; do
441 case "$sock" in
442 "ip" ) extraparam="";;
443 "ip-ssl" ) extraparam="--ssl";;
444 esac
445 do_test "py-py" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530446 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
447 "py/TestServer.py --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200448 "10" "2"
449 do_test "py-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530450 "py/TestClient.py --protocol=binary --transport={trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
451 "py/TestServer.py --protocol=accel --transport={trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200452 "10" "2"
453 done
454 done
455
Roger Meier72268b72014-05-28 23:03:57 +0200456######### py client - cpp server ##############
457for proto in $(intersection "${cpp_protocols}" "${py_protocols}"); do
458 for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
459 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
460 case "$sock" in
461 "ip" ) extraparam="";;
462 "ip-ssl" ) extraparam="--ssl";;
463 esac
464 do_test "py-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530465 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
466 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200467 "10" "2"
468 done
469 done
470done
471
Roger Meier76150722014-05-31 22:22:07 +0200472for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
473 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
474 case "$sock" in
475 "ip" ) extraparam="";;
476 "ip-ssl" ) extraparam="--ssl";;
477 esac
478 do_test "py-cpp" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530479 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
480 "cpp/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200481 "10" "2"
482 done
483 done
484
Roger Meier72268b72014-05-28 23:03:57 +0200485######### cpp client - py server ##############
486for proto in $(intersection "${cpp_protocols}" "${py_protocols}"); do
487 for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
488 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
489 case "$sock" in
490 "ip" ) extraparam="";;
491 "ip-ssl" ) extraparam="--ssl";;
492 esac
493 do_test "cpp-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530494 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
495 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200496 "10" "2"
497 done
498 done
499done
500
Roger Meier76150722014-05-31 22:22:07 +0200501for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
502 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
503 case "$sock" in
504 "ip" ) extraparam="";;
505 "ip-ssl" ) extraparam="--ssl";;
506 esac
507 do_test "cpp-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530508 "cpp/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
509 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200510 "10" "2"
511 done
512 done
513
Roger Meier72268b72014-05-28 23:03:57 +0200514######### py client - java server ##############
Roger Meier72268b72014-05-28 23:03:57 +0200515for proto in $(intersection "${py_protocols}" "${java_protocols}"); do
516 for trans in $(intersection "${py_transports}" "${java_server_transports}"); do
517 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
518 case "$sock" in
519 "ip" ) extraparam="";;
520 "ip-ssl" ) extraparam="--ssl";;
521 esac
522 do_test "py-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530523 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
524 "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 +0200525 "15" "2"
526 done
527 done
528done
529
Roger Meier76150722014-05-31 22:22:07 +0200530for trans in $(intersection "${py_transports}" "${java_server_transports}"); do
531 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
532 case "$sock" in
533 "ip" ) extraparam="";;
534 "ip-ssl" ) extraparam="--ssl";;
535 esac
536 do_test "py-java" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530537 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
538 "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 +0200539 "15" "2"
540 done
541 done
542
Roger Meier72268b72014-05-28 23:03:57 +0200543######### java client - py server ##############
544for proto in $(intersection "${py_protocols}" "${java_protocols}"); do
545 for trans in $(intersection "${py_transports}" "${java_client_transports}"); do
546 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
547 case "$sock" in
548 "ip" ) extraparam="";;
549 "ip-ssl" ) extraparam="--ssl";;
550 esac
551 do_test "java-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530552 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
553 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200554 "10" "5"
555 done
556 done
557done
558
Roger Meier76150722014-05-31 22:22:07 +0200559for trans in $(intersection "${py_transports}" "${java_client_transports}"); do
560 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
561 case "$sock" in
562 "ip" ) extraparam="";;
563 "ip-ssl" ) extraparam="--ssl";;
564 esac
565 do_test "java-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530566 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
567 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200568 "10" "5"
569 done
570 done
571
Roger Meierb3c84092014-09-01 21:53:40 +0200572######### c_glib client - py server ##############
573for proto in $(intersection "${c_glib_protocols}" "${py_protocols}"); do
574 for trans in $(intersection "${c_glib_transports}" "${py_transports}"); do
575 for sock in $(intersection "${c_glib_sockets}" "${py_sockets}"); do
576 case "$sock" in
577 "ip" ) extraparam="";;
578 "ip-ssl" ) extraparam="--ssl";;
579 esac
580 do_test "c_glib-py" "${proto}" "${trans}-${sock}" \
581 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
582 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
583 "2" "2"
584 done
585 done
586done
587
Roger Meier72268b72014-05-28 23:03:57 +0200588######### py client - nodejs server ##############
Roger Meier72268b72014-05-28 23:03:57 +0200589for proto in $(intersection "${py_protocols}" "${nodejs_protocols}"); do
590 for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
591 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
592 case "$sock" in
593 "ip" ) extraparam="";;
594 "ip-ssl" ) extraparam="--ssl";;
595 esac
596 do_test "py-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530597 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
598 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200599 "15" "2"
600 done
601 done
602done
603
Roger Meier76150722014-05-31 22:22:07 +0200604for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
605 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
606 case "$sock" in
607 "ip" ) extraparam="";;
608 "ip-ssl" ) extraparam="--ssl";;
609 esac
610 do_test "py-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530611 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
612 "node ${NODE_TEST_DIR}/server.js -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200613 "15" "2"
614 done
615 done
616
Roger Meier72268b72014-05-28 23:03:57 +0200617######### nodejs client - py server ##############
618for proto in $(intersection "${py_protocols}" "${nodejs_protocols}"); do
619 for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
620 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
621 case "$sock" in
622 "ip" ) extraparam="";;
623 "ip-ssl" ) extraparam="--ssl";;
624 esac
625 do_test "nodejs-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530626 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
627 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200628 "10" "2"
629 done
630 done
631done
632
Roger Meier76150722014-05-31 22:22:07 +0200633for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
634 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
635 case "$sock" in
636 "ip" ) extraparam="";;
637 "ip-ssl" ) extraparam="--ssl";;
638 esac
639 do_test "nodejs-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530640 "node ${NODE_TEST_DIR}/client.js -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
641 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200642 "10" "2"
643 done
644 done
645
Roger Meiera3570ac2014-06-10 22:16:14 +0200646######### ruby client - ruby server ##############
647for proto in ${ruby_protocols}; do
648 for trans in ${ruby_transports}; do
649 for sock in ${ruby_sockets}; do
650 case "$sock" in
651 "ip" ) extraparam="";;
652 "ip-ssl" ) extraparam="--ssl";;
653 esac
654 do_test "ruby-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530655 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
656 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200657 "5" "5"
658 done
659 done
660done
661
662for trans in ${ruby_transports}; do
663 for sock in ${ruby_sockets}; do
664 case "$sock" in
665 "ip" ) extraparam="";;
666 "ip-ssl" ) extraparam="--ssl";;
667 esac
668 do_test "ruby-ruby" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530669 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
670 "ruby rb/integration/TestServer.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200671 "5" "5"
672 do_test "ruby-ruby" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530673 "ruby rb/integration/TestClient.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
674 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200675 "5" "5"
676 done
677 done
678
679######### ruby client - cpp server ##############
680for proto in $(intersection "${cpp_protocols}" "${ruby_protocols}"); do
681 for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
682 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
683 case "$sock" in
684 "ip" ) extraparam="";;
685 "ip-ssl" ) extraparam="--ssl";;
686 esac
687 do_test "ruby-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530688 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
689 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200690 "5" "5"
691 done
692 done
693done
694
695for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
696 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
697 case "$sock" in
698 "ip" ) extraparam="";;
699 "ip-ssl" ) extraparam="--ssl";;
700 esac
701 do_test "ruby-cpp" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530702 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
703 "cpp/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200704 "5" "5"
705 done
706 done
707
708######### cpp client - ruby server ##############
709for proto in $(intersection "${cpp_protocols}" "${ruby_protocols}"); do
710 for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
711 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
712 case "$sock" in
713 "ip" ) extraparam="";;
714 "ip-ssl" ) extraparam="--ssl";;
715 esac
716 do_test "cpp-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530717 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
718 "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 +0200719 "5" "5"
720 done
721 done
722done
723
724for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
725 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
726 case "$sock" in
727 "ip" ) extraparam="";;
728 "ip-ssl" ) extraparam="--ssl";;
729 esac
730 do_test "cpp-ruby" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530731 "cpp/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
732 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200733 "5" "5"
734 done
735 done
736
737######### ruby client - java server ##############
738for proto in $(intersection "${ruby_protocols}" "${java_protocols}"); do
739 for trans in $(intersection "${ruby_transports}" "${java_server_transports}"); do
740 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
741 case "$sock" in
742 "ip" ) extraparam="";;
743 "ip-ssl" ) extraparam="--ssl";;
744 esac
745 do_test "ruby-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530746 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
747 "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 +0200748 "15" "5"
749 done
750 done
751done
752
753for trans in $(intersection "${ruby_transports}" "${java_server_transports}"); do
754 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
755 case "$sock" in
756 "ip" ) extraparam="";;
757 "ip-ssl" ) extraparam="--ssl";;
758 esac
759 do_test "ruby-java" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530760 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
761 "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 +0200762 "15" "5"
763 done
764 done
765
766######### java client - ruby server ##############
767for proto in $(intersection "${ruby_protocols}" "${java_protocols}"); do
768 for trans in $(intersection "${ruby_transports}" "${java_client_transports}"); do
769 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
770 case "$sock" in
771 "ip" ) extraparam="";;
772 "ip-ssl" ) extraparam="--ssl";;
773 esac
774 do_test "java-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530775 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}\" run-testclient" \
776 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200777 "10" "5"
778 done
779 done
780done
781
782for trans in $(intersection "${ruby_transports}" "${java_client_transports}"); do
783 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
784 case "$sock" in
785 "ip" ) extraparam="";;
786 "ip-ssl" ) extraparam="--ssl";;
787 esac
788 do_test "java-ruby" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530789 "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" \
790 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200791 "10" "5"
792 done
793 done
794
Roger Meierb3c84092014-09-01 21:53:40 +0200795######### c_glib client - ruby server ##############
796for proto in $(intersection "${c_glib_protocols}" "${ruby_protocols}"); do
797 for trans in $(intersection "${c_glib_transports}" "${ruby_transports}"); do
798 for sock in $(intersection "${c_glib_sockets}" "${ruby_sockets}"); do
799 case "$sock" in
800 "ip" ) extraparam="";;
801 "ip-ssl" ) extraparam="--ssl";;
802 esac
803 do_test "c_glib-ruby" "${proto}" "${trans}-${sock}" \
804 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
805 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
806 "2" "2"
807 done
808 done
809done
810
Roger Meiera3570ac2014-06-10 22:16:14 +0200811######### ruby client - nodejs server ##############
812for proto in $(intersection "${ruby_protocols}" "${nodejs_protocols}"); do
813 for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
814 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
815 case "$sock" in
816 "ip" ) extraparam="";;
817 "ip-ssl" ) extraparam="--ssl";;
818 esac
819 do_test "ruby-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530820 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
821 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200822 "5" "2"
823 done
824 done
825done
826
827for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
828 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
829 case "$sock" in
830 "ip" ) extraparam="";;
831 "ip-ssl" ) extraparam="--ssl";;
832 esac
833 do_test "ruby-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530834 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
835 "node ${NODE_TEST_DIR}/server.js -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200836 "5" "2"
837 done
838 done
839
840######### nodejs client - ruby server ##############
841for proto in $(intersection "${ruby_protocols}" "${nodejs_protocols}"); do
842 for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
843 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
844 case "$sock" in
845 "ip" ) extraparam="";;
846 "ip-ssl" ) extraparam="--ssl";;
847 esac
848 do_test "nodejs-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530849 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
850 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200851 "10" "5"
852 done
853 done
854done
855
856for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
857 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
858 case "$sock" in
859 "ip" ) extraparam="";;
860 "ip-ssl" ) extraparam="--ssl";;
861 esac
862 do_test "nodejs-ruby" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530863 "node ${NODE_TEST_DIR}/client.js -p binary -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
864 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200865 "10" "2"
866 done
867 done
868
cdwijayarathnad9217912014-08-15 22:18:30 +0530869######### py client - ruby server ##############
Roger Meiera3570ac2014-06-10 22:16:14 +0200870for proto in $(intersection "${py_protocols}" "${ruby_protocols}"); do
871 for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
872 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
873 case "$sock" in
874 "ip" ) extraparam="";;
875 "ip-ssl" ) extraparam="--ssl";;
876 esac
877 do_test "py-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530878 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
879 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200880 "15" "5"
881 done
882 done
883done
884
885for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
886 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
887 case "$sock" in
888 "ip" ) extraparam="";;
889 "ip-ssl" ) extraparam="--ssl";;
890 esac
891 do_test "py-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530892 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
893 "ruby rb/integration/TestServer.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200894 "15" "5"
895 do_test "py-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530896 "py/TestClient.py --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
897 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200898 "15" "5"
899 done
900 done
901
902######### ruby client - py server ##############
903for proto in $(intersection "${py_protocols}" "${ruby_protocols}"); do
904 for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
905 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
906 case "$sock" in
907 "ip" ) extraparam="";;
908 "ip-ssl" ) extraparam="--ssl";;
909 esac
910 do_test "ruby-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530911 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
912 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200913 "5" "2"
914 done
915 done
916done
917
918for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
919 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
920 case "$sock" in
921 "ip" ) extraparam="";;
922 "ip-ssl" ) extraparam="--ssl";;
923 esac
924 do_test "ruby-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530925 "ruby rb/integration/TestClient.rb --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
926 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200927 "5" "2"
928 do_test "ruby-py" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530929 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
930 "py/TestServer.py --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
Roger Meiera3570ac2014-06-10 22:16:14 +0200931 "5" "2"
932 done
933 done
934
cdwijayarathnad9217912014-08-15 22:18:30 +0530935######### hs client - hs server ###############
936for proto in $hs_protocols; do
937 for trans in $hs_transports; do
938 for sock in $hs_sockets; do
939 case "$sock" in
940 "ip" ) extraparam="";;
941 "ip-ssl" ) extraparam="--ssl";;
942 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
943 esac
944 do_test "hs-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530945 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
946 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +0530947 "2" "0.1"
948 done
949 done
950done
951
952######### hs client - cpp server ###############
953for proto in $(intersection "${hs_protocols}" "${cpp_protocols}"); do
954 for trans in $(intersection "${hs_transports}" "${cpp_transports}"); do
955 for sock in $(intersection "${hs_sockets}" "${cpp_sockets}"); do
956 case "$sock" in
957 "ip" ) extraparam="";;
958 "ip-ssl" ) extraparam="--ssl";;
959 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
960 esac
961 do_test "hs-cpp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530962 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
963 "cpp/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +0530964 "2" "0.1"
965 done
966 done
967done
968
969######### cpp client - hs server ###############
970for proto in $(intersection "${hs_protocols}" "${cpp_protocols}"); do
971 for trans in $(intersection "${hs_transports}" "${cpp_transports}"); do
972 for sock in $(intersection "${hs_sockets}" "${cpp_sockets}"); do
973 case "$sock" in
974 "ip" ) extraparam="";;
975 "ip-ssl" ) extraparam="--ssl";;
976 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
977 esac
978 do_test "cpp-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530979 "cpp/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
980 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +0530981 "2" "0.1"
982 done
983 done
984done
985
986######### hs client - java server ###############
987for proto in $(intersection "${hs_protocols}" "${java_protocols}"); do
988 for trans in $(intersection "${hs_transports}" "${java_transports}"); do
989 for sock in $(intersection "${hs_sockets}" "${java_sockets}"); do
990 case "$sock" in
991 "ip" ) extraparam="";;
992 "ip-ssl" ) extraparam="--ssl";;
993 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
994 esac
995 do_test "hs-java" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +0530996 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
997 "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 +0530998 "5" "1"
999 done
1000 done
1001done
1002
1003######### java client - hs server ###############
1004for proto in $(intersection "${hs_protocols}" "${java_protocols}"); do
1005 for trans in $(intersection "${hs_transports}" "${java_transports}"); do
1006 for sock in $(intersection "${hs_sockets}" "${java_sockets}"); do
1007 case "$sock" in
1008 "ip" ) extraparam="";;
1009 "ip-ssl" ) extraparam="--ssl";;
1010 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
1011 esac
1012 do_test "java-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301013 "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" \
1014 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301015 "5" "1"
1016 done
1017 done
1018done
1019
Roger Meierb3c84092014-09-01 21:53:40 +02001020######### c_glib client - hs server ###############
1021for proto in $(intersection "${c_glib_protocols}" "${hs_protocols}"); do
1022 for trans in $(intersection "${c_glib_transports}" "${hs_transports}"); do
1023 for sock in $(intersection "${c_glib_sockets}" "${hs_sockets}"); do
1024 case "$sock" in
1025 "ip" ) extraparam="";;
1026 "ip-ssl" ) extraparam="--ssl";;
1027 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
1028 esac
1029 do_test "c_glib-hs" "${proto}" "${trans}-${sock}" \
1030 "c_glib/test_client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1031 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1032 "2" "0.1"
1033 done
1034 done
1035done
1036
cdwijayarathnad9217912014-08-15 22:18:30 +05301037######### py client -hs server ##############
1038for proto in $(intersection "${hs_protocols}" "${py_protocols}"); do
1039 for trans in $(intersection "${hs_transports}" "${py_transports}"); do
1040 for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
1041 case "$sock" in
1042 "ip" ) extraparam="";;
1043 "ip-ssl" ) extraparam="--ssl";;
1044 esac
1045 do_test "py-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301046 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
1047 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301048 "10" "2"
1049 done
1050 done
1051done
1052
1053for trans in $(intersection "${hs_transports}" "${py_transports}"); do
1054 for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
1055 case "$sock" in
1056 "ip" ) extraparam="";;
1057 "ip-ssl" ) extraparam="--ssl";;
1058 esac
1059 do_test "py-hs" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301060 "py/TestClient.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --host=localhost --genpydir=gen-py ${extraparam}" \
1061 "hs/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301062 "10" "2"
1063 done
1064 done
1065
1066######### hs client - py server ##############
1067for proto in $(intersection "${hs_protocols}" "${py_protocols}"); do
1068 for trans in $(intersection "${hs_transports}" "${py_transports}"); do
1069 for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
1070 case "$sock" in
1071 "ip" ) extraparam="";;
1072 "ip-ssl" ) extraparam="--ssl";;
1073 esac
1074 do_test "hs-py" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301075 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1076 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301077 "10" "2"
1078 done
1079 done
1080done
1081
1082for trans in $(intersection "${hs_transports}" "${py_transports}"); do
1083 for sock in $(intersection "${hs_sockets}" "${py_sockets}"); do
1084 case "$sock" in
1085 "ip" ) extraparam="";;
1086 "ip-ssl" ) extraparam="--ssl";;
1087 esac
1088 do_test "hs-py" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301089 "hs/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1090 "py/TestServer.py --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} --genpydir=gen-py TSimpleServer ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301091 "10" "2"
1092 done
1093 done
1094
1095######### nodejs client - hs server ##############
1096for proto in $(intersection "${nodejs_protocols}" "${hs_protocols}"); do
1097 for trans in $(intersection "${nodejs_transports}" "${hs_transports}"); do
1098 for sock in $(intersection "${nodejs_sockets}" "${hs_sockets}"); do
1099 case "$sock" in
1100 "ip" ) extraparam="";;
1101 "ip-ssl" ) extraparam="--ssl";;
1102 esac
1103 do_test "nodejs-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301104 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1105 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301106 "5" "0.2"
1107 done
1108 done
1109done
1110
1111######### hs client - nodejs server ##############
1112for proto in $(intersection "${nodejs_protocols}" "${hs_protocols}"); do
1113 for trans in $(intersection "${nodejs_transports}" "${hs_transports}"); do
1114 for sock in $(intersection "${nodejs_sockets}" "${hs_sockets}"); do
1115 case "$sock" in
1116 "ip" ) extraparam="";;
1117 "ip-ssl" ) extraparam="--ssl";;
1118 esac
1119 do_test "hs-nodejs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301120 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1121 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301122 "5" "2"
1123 done
1124 done
1125done
1126
1127######### ruby client - hs server ##############
1128for proto in $(intersection "${hs_protocols}" "${ruby_protocols}"); do
1129 for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
1130 for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
1131 case "$sock" in
1132 "ip" ) extraparam="";;
1133 "ip-ssl" ) extraparam="--ssl";;
1134 esac
1135 do_test "ruby-hs" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301136 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1137 "hs/TestServer --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301138 "5" "5"
1139 done
1140 done
1141done
1142
1143for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
1144 for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
1145 case "$sock" in
1146 "ip" ) extraparam="";;
1147 "ip-ssl" ) extraparam="--ssl";;
1148 esac
1149 do_test "ruby-cpp" "accel-binary" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301150 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam} ${extraparam}" \
1151 "hs/TestServer --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301152 "5" "5"
1153 done
1154 done
1155
1156######### hs client - ruby server ##############
1157for proto in $(intersection "${hs_protocols}" "${ruby_protocols}"); do
1158 for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
1159 for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
1160 case "$sock" in
1161 "ip" ) extraparam="";;
1162 "ip-ssl" ) extraparam="--ssl";;
1163 esac
1164 do_test "hs-ruby" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301165 "hs/TestClient --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1166 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301167 "5" "5"
1168 done
1169 done
1170done
1171
1172for trans in $(intersection "${hs_transports}" "${ruby_transports}"); do
1173 for sock in $(intersection "${hs_sockets}" "${ruby_sockets}"); do
1174 case "$sock" in
1175 "ip" ) extraparam="";;
1176 "ip-ssl" ) extraparam="--ssl";;
1177 esac
1178 do_test "hs-ruby" "binary-accel" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301179 "hs/TestClient --protocol=binary --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1180 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
cdwijayarathnad9217912014-08-15 22:18:30 +05301181 "5" "5"
1182 done
1183 done
1184
Roger Meiera3570ac2014-06-10 22:16:14 +02001185
Roger Meier691ec002012-11-02 07:50:24 +00001186# delete Unix Domain Socket used by cpp tests
1187rm -f /tmp/ThriftTest.thrift
1188
Jens Geyerc1d79432014-04-22 22:52:43 +02001189######### csharp client - csharp server #############
1190export MONO_PATH=../lib/csharp
1191for proto in $csharp_protocols; do
1192 for trans in $csharp_transports; do
1193 for sock in $csharp_sockets; do
1194 case "$sock" in
1195 "ip" ) extraparam="";;
1196 "ip-ssl" ) extraparam="--ssl";;
1197 esac
1198 do_test "csharp-csharp" "${proto}" "${trans}-${sock}" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301199 "../lib/csharp/test/ThriftTest/TestClientServer.exe client --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
1200 "../lib/csharp/test/ThriftTest/TestClientServer.exe server --protocol=${proto} --transport=${trans} --port=${THRIFT_TEST_PORT} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +02001201 "5" "1"
Jens Geyerc1d79432014-04-22 22:52:43 +02001202 done
1203 done
1204done
1205
Roger Meier4edac7f2014-05-02 21:07:01 +02001206do_test "js-java" "json" "http-ip" \
Roger Meier4d5157d2012-01-09 21:23:19 +00001207 "" \
1208 "ant -f ../lib/js/test/build.xml unittest" \
henriqued17f1c92014-04-30 16:21:25 +02001209 "2" "2"
Roger Meier4d5157d2012-01-09 21:23:19 +00001210do_test "perl-cpp" "binary" "buffered-ip" \
Roger Meier01b568c2012-01-10 21:30:02 +00001211 "perl -I perl/gen-perl/ -I../lib/perl/lib/ perl/TestClient.pl" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301212 "cpp/TestServer --port=${THRIFT_TEST_PORT}" \
henriqued5aba4c2014-04-30 18:11:11 +02001213 "10" "2"
Roger Meierb33967b2012-01-21 09:18:05 +00001214do_test "php-cpp" "binary" "buffered-ip" \
1215 "make -C php/ client" \
cdwijayarathna9ea3d2e2014-08-16 17:28:40 +05301216 "cpp/TestServer --port=${THRIFT_TEST_PORT}" \
henriqued5aba4c2014-04-30 18:11:11 +02001217 "10" "2"
Roger Meier4edac7f2014-05-02 21:07:01 +02001218
1219echo " failed tests are logged to test/log/error.log"
Roger Meiercc0fe272014-05-16 23:18:25 +02001220echo " full log is here test/log/client_server_protocol_transport_client.log"
1221echo " full log is here test/log/client_server_protocol_transport_server.log"
1222echo " or look at file://$BASEDIR/$STATUS_HTML"
1223
henriquead4df162014-05-20 13:18:45 +02001224ELAPSED_TIME=$(echo "(${SECONDS} - ${START_TIME})" | bc)
1225DURATION="${ELAPSED_TIME} seconds"
Roger Meierbea27342014-08-08 00:30:50 +02001226
1227echo $FAILED failed of $TESTCOUNT tests in total
Roger Meiercc0fe272014-05-16 23:18:25 +02001228echo "test an took" $DURATION
1229print_html_footer "$DURATION"
1230
Roger Meier4edac7f2014-05-02 21:07:01 +02001231date
Roger Meier82525772012-11-16 00:38:27 +00001232cd -