blob: 5d06e4733ea6e0d417173a80bb73fb8eaee9ddbb [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
Roger Meier4d5157d2012-01-09 21:23:19 +0000119
120 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}
henriqued17f1c92014-04-30 16:21:25 +0200123
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=$!
126
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"
168date
henriqued17f1c92014-04-30 16:21:25 +0200169
henriqued17f1c92014-04-30 16:21:25 +0200170
Roger Meier4d5157d2012-01-09 21:23:19 +0000171echo "======================================================"
172
173rm -rf log
174mkdir -p log
175
Roger Meiercc0fe272014-05-16 23:18:25 +0200176
Roger Meier4d5157d2012-01-09 21:23:19 +0000177print_header
Roger Meiercc0fe272014-05-16 23:18:25 +0200178print_html_header
179
180ant -f ../lib/java/build.xml compile-test 1>/dev/null
181
Roger Meier4d5157d2012-01-09 21:23:19 +0000182
Roger Meier82525772012-11-16 00:38:27 +0000183#TODO add enum for parameters
184#TODO align program arguments across languages
Roger Meier4d5157d2012-01-09 21:23:19 +0000185
Roger Meier023192f2014-02-12 09:35:12 +0100186cpp_protocols="binary compact json"
187java_protocols="binary compact json"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100188cpp_transports="buffered framed http"
189java_server_transports="buffered framed fastframed"
190java_client_transports=${java_server_transports}" http"
Roger Meier5829a2c2014-04-08 00:28:17 +0200191cpp_sockets="ip domain ip-ssl"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100192java_sockets="ip ip-ssl"
193# TODO fastframed java transport is another implementation of framed transport
Roger Meier4d5157d2012-01-09 21:23:19 +0000194
Roger Meierd9b331d2014-05-25 22:59:17 +0200195nodejs_protocols="binary compact json"
Roger Meier8909cbd2014-01-26 11:44:27 +0100196nodejs_transports="buffered framed"
Roger Meier57b354b2014-02-22 01:01:58 +0100197nodejs_sockets="ip ip-ssl"
Roger Meiereaa61d82012-01-12 21:38:29 +0000198
Jens Geyerc1d79432014-04-22 22:52:43 +0200199csharp_protocols="binary compact json"
200csharp_transports="buffered framed"
201csharp_sockets="ip ip-ssl"
202
Roger Meier72268b72014-05-28 23:03:57 +0200203py_protocols="binary compact json accel"
Roger Meier76150722014-05-31 22:22:07 +0200204py_transports="buffered framed"
205py_sockets="ip ip-ssl"
Roger Meier72268b72014-05-28 23:03:57 +0200206
Roger Meiera3570ac2014-06-10 22:16:14 +0200207ruby_protocols="binary compact json accel"
208ruby_transports="buffered framed"
209ruby_sockets="ip"
210
Noam Zilbersteinaf5d64a2014-07-31 15:44:13 -0700211hs_protocols="binary compact json"
212hs_transports="buffered"
213hs_sockets="ip"
214
215######### hs client - hs server ###############
216for proto in $hs_protocols; do
217 for trans in $hs_transports; do
218 for sock in $hs_sockets; do
219 case "$sock" in
220 "ip" ) extraparam="";;
221 "ip-ssl" ) extraparam="--ssl";;
222 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
223 esac
224 do_test "hs-hs" "${proto}" "${trans}-${sock}" \
225 "hs/TestClient --protocol ${proto} --transport ${trans} ${extraparam}" \
226 "hs/TestServer --protocol ${proto} --transport ${trans} ${extraparam}" \
227 "2" "0.1"
228 done
229 done
230done
231
232######### hs client - cpp server ###############
233for proto in $(intersection "${hs_protocols}" "${cpp_protocols}"); do
234 for trans in $(intersection "${hs_transports}" "${cpp_transports}"); do
235 for sock in $(intersection "${hs_sockets}" "${cpp_sockets}"); do
236 case "$sock" in
237 "ip" ) extraparam="";;
238 "ip-ssl" ) extraparam="--ssl";;
239 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
240 esac
241 do_test "hs-cpp" "${proto}" "${trans}-${sock}" \
242 "hs/TestClient --protocol ${proto} --transport ${trans} ${extraparam}" \
243 "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}" \
244 "2" "0.1"
245 done
246 done
247done
248
249######### cpp client - hs server ###############
250for proto in $(intersection "${hs_protocols}" "${cpp_protocols}"); do
251 for trans in $(intersection "${hs_transports}" "${cpp_transports}"); do
252 for sock in $(intersection "${hs_sockets}" "${cpp_sockets}"); do
253 case "$sock" in
254 "ip" ) extraparam="";;
255 "ip-ssl" ) extraparam="--ssl";;
256 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
257 esac
258 do_test "cpp-hs" "${proto}" "${trans}-${sock}" \
259 "cpp/TestClient --protocol=${proto} --transport=${trans} ${extraparam}" \
260 "hs/TestServer --protocol ${proto} --transport ${trans} ${extraparam}" \
261 "2" "0.1"
262 done
263 done
264done
265
266######### hs client - java server ###############
267for proto in $(intersection "${hs_protocols}" "${java_protocols}"); do
268 for trans in $(intersection "${hs_transports}" "${java_transports}"); do
269 for sock in $(intersection "${hs_sockets}" "${java_sockets}"); do
270 case "$sock" in
271 "ip" ) extraparam="";;
272 "ip-ssl" ) extraparam="--ssl";;
273 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
274 esac
275 do_test "hs-java" "${proto}" "${trans}-${sock}" \
276 "hs/TestClient --protocol ${proto} --transport ${trans} ${extraparam}" \
277 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testserver" \
278 "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}" \
279 "5" "1"
280 done
281 done
282done
283
284######### java client - hs server ###############
285for proto in $(intersection "${hs_protocols}" "${java_protocols}"); do
286 for trans in $(intersection "${hs_transports}" "${java_transports}"); do
287 for sock in $(intersection "${hs_sockets}" "${java_sockets}"); do
288 case "$sock" in
289 "ip" ) extraparam="";;
290 "ip-ssl" ) extraparam="--ssl";;
291 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
292 esac
293 do_test "java-hs" "${proto}" "${trans}-${sock}" \
294 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testclient" \
295 "hs/TestServer --protocol ${proto} --transport ${trans} ${extraparam}" \
296 "5" "1"
297 done
298 done
299done
Roger Meierf42ce2a2013-01-16 22:12:14 +0100300
301######### java client - java server #############
302for proto in $java_protocols; do
303 for trans in $java_server_transports; do
304 for sock in $java_sockets; do
305 case "$sock" in
306 "ip" ) extraparam="";;
307 "ip-ssl" ) extraparam="--ssl";;
308 esac
309 do_test "java-java" "${proto}" "${trans}-${sock}" \
henriqued5aba4c2014-04-30 18:11:11 +0200310 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testclient" \
311 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testserver" \
312 "5" "1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100313 done
314 done
315done
316
317######### cpp client - cpp server ###############
318for proto in $cpp_protocols; do
319 for trans in $cpp_transports; do
320 for sock in $cpp_sockets; do
Roger Meier4d5157d2012-01-09 21:23:19 +0000321 case "$sock" in
322 "ip" ) extraparam="";;
323 "ip-ssl" ) extraparam="--ssl";;
324 "domain" ) extraparam="--domain-socket=/tmp/ThriftTest.thrift";;
325 esac
326 do_test "cpp-cpp" "${proto}" "${trans}-${sock}" \
327 "cpp/TestClient --protocol=${proto} --transport=${trans} ${extraparam}" \
328 "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +0200329 "2" "0.1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100330 done
331 done
332done
333
henriqued17f1c92014-04-30 16:21:25 +0200334
Roger Meierf42ce2a2013-01-16 22:12:14 +0100335######### java client - cpp server ##############
336# warning: ssl over http is not supported in java client!
337for proto in $(intersection "${java_protocols}" "${cpp_protocols}"); do
338 for trans in $(intersection "${java_client_transports}" "${cpp_transports}"); do
339 for sock in $(intersection "${java_sockets}" "${cpp_sockets}"); do
340 case "$sock" in
341 "ip" ) extraparam="";;
342 "ip-ssl" ) extraparam="--ssl";;
343 esac
Roger Meier188024e2014-04-17 21:53:45 +0200344 do_test "java-cpp" "${proto}" "${trans}-${sock}" \
henriqued5aba4c2014-04-30 18:11:11 +0200345 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testclient" \
Roger Meierf42ce2a2013-01-16 22:12:14 +0100346 "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}"\
henriqued5aba4c2014-04-30 18:11:11 +0200347 "5" "0.1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100348 done
349 done
350done
351
352######### cpp client - java server ##############
353for proto in $(intersection "${cpp_protocols}" "${java_protocols}"); do
354 for trans in $(intersection "${cpp_transports}" "${java_server_transports}"); do
355 for sock in $(intersection "${java_sockets}" "${cpp_sockets}"); do
356 case "$sock" in
357 "ip" ) extraparam="";;
358 "ip-ssl" ) extraparam="--ssl";;
359 esac
Roger Meier188024e2014-04-17 21:53:45 +0200360 do_test "cpp-java" "${proto}" "${trans}-${sock}" \
361 "cpp/TestClient --protocol=${proto} --transport=${trans} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +0200362 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testserver" \
363 "5" "1"
Roger Meierf42ce2a2013-01-16 22:12:14 +0100364 done
365 done
366done
Roger Meier4d5157d2012-01-09 21:23:19 +0000367
Roger Meier8909cbd2014-01-26 11:44:27 +0100368
henriqued17f1c92014-04-30 16:21:25 +0200369NODE_TEST_DIR=${BASEDIR}/../lib/nodejs/test
Roger Meier8909cbd2014-01-26 11:44:27 +0100370export NODE_PATH=${NODE_TEST_DIR}:${NODE_TEST_DIR}/../lib:${NODE_PATH}
Roger Meierd9b331d2014-05-25 22:59:17 +0200371######### nodejs client - nodejs server ##############
Roger Meierd9b331d2014-05-25 22:59:17 +0200372for proto in ${nodejs_protocols}; do
373 for trans in ${nodejs_transports}; do
374 for sock in ${nodejs_sockets}; do
375 case "$sock" in
376 "ip" ) extraparam="";;
377 "ip-ssl" ) extraparam="--ssl";;
378 esac
379 do_test "nodejs-nodejs" "${proto}" "${trans}-${sock}" \
380 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} ${extraparam}" \
381 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} ${extraparam}" \
382 "5" "0.2"
383 done
384 done
385done
henriqued5aba4c2014-04-30 18:11:11 +0200386
Roger Meier8909cbd2014-01-26 11:44:27 +0100387######### nodejs client - cpp server ##############
Roger Meier8909cbd2014-01-26 11:44:27 +0100388for proto in $(intersection "${nodejs_protocols}" "${cpp_protocols}"); do
389 for trans in $(intersection "${nodejs_transports}" "${cpp_transports}"); do
390 for sock in $(intersection "${nodejs_sockets}" "${cpp_sockets}"); do
Roger Meier57b354b2014-02-22 01:01:58 +0100391 case "$sock" in
392 "ip" ) extraparam="";;
393 "ip-ssl" ) extraparam="--ssl";;
394 esac
henriqued17f1c92014-04-30 16:21:25 +0200395 do_test "nodejs-cpp" "${proto}" "${trans}-${sock}" \
396 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} ${extraparam}" \
Roger Meier8909cbd2014-01-26 11:44:27 +0100397 "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +0200398 "5" "0.2"
Roger Meier8909cbd2014-01-26 11:44:27 +0100399 done
400 done
401done
402
403######### cpp client - nodejs server ##############
404for proto in $(intersection "${nodejs_protocols}" "${cpp_protocols}"); do
405 for trans in $(intersection "${nodejs_transports}" "${cpp_transports}"); do
406 for sock in $(intersection "${nodejs_sockets}" "${cpp_sockets}"); do
Roger Meier57b354b2014-02-22 01:01:58 +0100407 case "$sock" in
408 "ip" ) extraparam="";;
409 "ip-ssl" ) extraparam="--ssl";;
410 esac
henriqued17f1c92014-04-30 16:21:25 +0200411 do_test "cpp-nodejs" "${proto}" "${trans}-${sock}" \
Roger Meier57b354b2014-02-22 01:01:58 +0100412 "cpp/TestClient --protocol=${proto} --transport=${trans} ${extraparam}" \
henriqued17f1c92014-04-30 16:21:25 +0200413 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +0200414 "5" "2"
Roger Meier8909cbd2014-01-26 11:44:27 +0100415 done
416 done
417done
418
Roger Meier5c6ad242014-05-27 21:18:00 +0200419######### nodejs client - java server ##############
Roger Meier5c6ad242014-05-27 21:18:00 +0200420for proto in $(intersection "${nodejs_protocols}" "${java_protocols}"); do
421 for trans in $(intersection "${nodejs_transports}" "${java_server_transports}"); do
422 for sock in $(intersection "${nodejs_sockets}" "${java_sockets}"); do
423 case "$sock" in
424 "ip" ) extraparam="";;
425 "ip-ssl" ) extraparam="--ssl";;
426 esac
427 do_test "nodejs-java" "${proto}" "${trans}-${sock}" \
428 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} ${extraparam}" \
429 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testserver" \
430 "5" "1"
431 done
432 done
433done
434
435######### java client - nodejs server ##############
436for proto in $(intersection "${nodejs_protocols}" "${java_protocols}"); do
437 for trans in $(intersection "${nodejs_transports}" "${java_client_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 "java-nodejs" "${proto}" "${trans}-${sock}" \
444 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testclient" \
445 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} ${extraparam}" \
446 "5" "2"
447 done
448 done
449done
450
Roger Meier72268b72014-05-28 23:03:57 +0200451######### py client - py server ##############
452for proto in ${py_protocols}; do
453 for trans in ${py_transports}; do
454 for sock in ${py_sockets}; do
455 case "$sock" in
456 "ip" ) extraparam="";;
457 "ip-ssl" ) extraparam="--ssl";;
458 esac
459 do_test "py-py" "${proto}" "${trans}-${sock}" \
Roger Meier76150722014-05-31 22:22:07 +0200460 "py/TestClient.py --protocol=${proto} --transport={trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
461 "py/TestServer.py --protocol=${proto} --transport={trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200462 "10" "2"
463 done
464 done
465done
466
Roger Meier76150722014-05-31 22:22:07 +0200467for trans in ${py_transports}; do
468 for sock in ${py_sockets}; do
469 case "$sock" in
470 "ip" ) extraparam="";;
471 "ip-ssl" ) extraparam="--ssl";;
472 esac
473 do_test "py-py" "accel-binary" "${trans}-${sock}" \
474 "py/TestClient.py --protocol=accel --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
475 "py/TestServer.py --protocol=binary --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
476 "10" "2"
477 do_test "py-py" "binary-accel" "${trans}-${sock}" \
478 "py/TestClient.py --protocol=binary --transport={trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
479 "py/TestServer.py --protocol=accel --transport={trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
480 "10" "2"
481 done
482 done
483
Roger Meier72268b72014-05-28 23:03:57 +0200484######### py client - cpp server ##############
485for proto in $(intersection "${cpp_protocols}" "${py_protocols}"); do
486 for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
487 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
488 case "$sock" in
489 "ip" ) extraparam="";;
490 "ip-ssl" ) extraparam="--ssl";;
491 esac
492 do_test "py-cpp" "${proto}" "${trans}-${sock}" \
Roger Meier76150722014-05-31 22:22:07 +0200493 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200494 "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}" \
495 "10" "2"
496 done
497 done
498done
499
Roger Meier76150722014-05-31 22:22:07 +0200500for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
501 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
502 case "$sock" in
503 "ip" ) extraparam="";;
504 "ip-ssl" ) extraparam="--ssl";;
505 esac
506 do_test "py-cpp" "accel-binary" "${trans}-${sock}" \
507 "py/TestClient.py --protocol=accel --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
508 "cpp/TestServer --protocol=binary --transport=${trans} ${extraparam}" \
509 "10" "2"
510 done
511 done
512
Roger Meier72268b72014-05-28 23:03:57 +0200513######### cpp client - py server ##############
514for proto in $(intersection "${cpp_protocols}" "${py_protocols}"); do
515 for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
516 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
517 case "$sock" in
518 "ip" ) extraparam="";;
519 "ip-ssl" ) extraparam="--ssl";;
520 esac
521 do_test "cpp-py" "${proto}" "${trans}-${sock}" \
522 "cpp/TestClient --protocol=${proto} --transport=${trans} ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200523 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200524 "10" "2"
525 done
526 done
527done
528
Roger Meier76150722014-05-31 22:22:07 +0200529for trans in $(intersection "${cpp_transports}" "${py_transports}"); do
530 for sock in $(intersection "${cpp_sockets}" "${py_sockets}"); do
531 case "$sock" in
532 "ip" ) extraparam="";;
533 "ip-ssl" ) extraparam="--ssl";;
534 esac
535 do_test "cpp-py" "binary-accel" "${trans}-${sock}" \
536 "cpp/TestClient --protocol=binary --transport=${trans} ${extraparam}" \
537 "py/TestServer.py --protocol=accel --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
538 "10" "2"
539 done
540 done
541
Roger Meier72268b72014-05-28 23:03:57 +0200542######### py client - java server ##############
Roger Meier72268b72014-05-28 23:03:57 +0200543for proto in $(intersection "${py_protocols}" "${java_protocols}"); do
544 for trans in $(intersection "${py_transports}" "${java_server_transports}"); do
545 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
546 case "$sock" in
547 "ip" ) extraparam="";;
548 "ip-ssl" ) extraparam="--ssl";;
549 esac
550 do_test "py-java" "${proto}" "${trans}-${sock}" \
Roger Meier76150722014-05-31 22:22:07 +0200551 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200552 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testserver" \
553 "15" "2"
554 done
555 done
556done
557
Roger Meier76150722014-05-31 22:22:07 +0200558for trans in $(intersection "${py_transports}" "${java_server_transports}"); do
559 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
560 case "$sock" in
561 "ip" ) extraparam="";;
562 "ip-ssl" ) extraparam="--ssl";;
563 esac
564 do_test "py-java" "accel-binary" "${trans}-${sock}" \
565 "py/TestClient.py --protocol=accel --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
566 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} ${extraparam}\" run-testserver" \
567 "15" "2"
568 done
569 done
570
Roger Meier72268b72014-05-28 23:03:57 +0200571######### java client - py server ##############
572for proto in $(intersection "${py_protocols}" "${java_protocols}"); do
573 for trans in $(intersection "${py_transports}" "${java_client_transports}"); do
574 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
575 case "$sock" in
576 "ip" ) extraparam="";;
577 "ip-ssl" ) extraparam="--ssl";;
578 esac
579 do_test "java-py" "${proto}" "${trans}-${sock}" \
580 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testclient" \
Roger Meier76150722014-05-31 22:22:07 +0200581 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200582 "10" "5"
583 done
584 done
585done
586
Roger Meier76150722014-05-31 22:22:07 +0200587for trans in $(intersection "${py_transports}" "${java_client_transports}"); do
588 for sock in $(intersection "${py_sockets}" "${java_sockets}"); do
589 case "$sock" in
590 "ip" ) extraparam="";;
591 "ip-ssl" ) extraparam="--ssl";;
592 esac
593 do_test "java-py" "binary-accel" "${trans}-${sock}" \
594 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} ${extraparam}\" run-testclient" \
595 "py/TestServer.py --protocol=accel --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
596 "10" "5"
597 done
598 done
599
Roger Meier72268b72014-05-28 23:03:57 +0200600######### py client - nodejs server ##############
Roger Meier72268b72014-05-28 23:03:57 +0200601for proto in $(intersection "${py_protocols}" "${nodejs_protocols}"); do
602 for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
603 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
604 case "$sock" in
605 "ip" ) extraparam="";;
606 "ip-ssl" ) extraparam="--ssl";;
607 esac
608 do_test "py-nodejs" "${proto}" "${trans}-${sock}" \
Roger Meier76150722014-05-31 22:22:07 +0200609 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200610 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} ${extraparam}" \
611 "15" "2"
612 done
613 done
614done
615
Roger Meier76150722014-05-31 22:22:07 +0200616for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
617 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
618 case "$sock" in
619 "ip" ) extraparam="";;
620 "ip-ssl" ) extraparam="--ssl";;
621 esac
622 do_test "py-nodejs" "${proto}" "${trans}-${sock}" \
623 "py/TestClient.py --protocol=accel --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
624 "node ${NODE_TEST_DIR}/server.js -p binary -t ${trans} ${extraparam}" \
625 "15" "2"
626 done
627 done
628
Roger Meier72268b72014-05-28 23:03:57 +0200629######### nodejs client - py server ##############
630for proto in $(intersection "${py_protocols}" "${nodejs_protocols}"); do
631 for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
632 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
633 case "$sock" in
634 "ip" ) extraparam="";;
635 "ip-ssl" ) extraparam="--ssl";;
636 esac
637 do_test "nodejs-py" "${proto}" "${trans}-${sock}" \
638 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} ${extraparam}" \
Roger Meier76150722014-05-31 22:22:07 +0200639 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
Roger Meier72268b72014-05-28 23:03:57 +0200640 "10" "2"
641 done
642 done
643done
644
Roger Meier76150722014-05-31 22:22:07 +0200645for trans in $(intersection "${py_transports}" "${nodejs_transports}"); do
646 for sock in $(intersection "${py_sockets}" "${nodejs_sockets}"); do
647 case "$sock" in
648 "ip" ) extraparam="";;
649 "ip-ssl" ) extraparam="--ssl";;
650 esac
651 do_test "nodejs-py" "binary-accel" "${trans}-${sock}" \
652 "node ${NODE_TEST_DIR}/client.js -p binary -t ${trans} ${extraparam}" \
653 "py/TestServer.py --protocol=accel --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
654 "10" "2"
655 done
656 done
657
Roger Meiera3570ac2014-06-10 22:16:14 +0200658######### ruby client - ruby server ##############
659for proto in ${ruby_protocols}; do
660 for trans in ${ruby_transports}; do
661 for sock in ${ruby_sockets}; do
662 case "$sock" in
663 "ip" ) extraparam="";;
664 "ip-ssl" ) extraparam="--ssl";;
665 esac
666 do_test "ruby-ruby" "${proto}" "${trans}-${sock}" \
667 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans} --port=9091" \
668 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans} --port=9091" \
669 "5" "5"
670 done
671 done
672done
673
674for trans in ${ruby_transports}; do
675 for sock in ${ruby_sockets}; do
676 case "$sock" in
677 "ip" ) extraparam="";;
678 "ip-ssl" ) extraparam="--ssl";;
679 esac
680 do_test "ruby-ruby" "accel-binary" "${trans}-${sock}" \
681 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans} --port=9091" \
682 "ruby rb/integration/TestServer.rb --protocol=binary --transport=${trans} --port=9091" \
683 "5" "5"
684 do_test "ruby-ruby" "binary-accel" "${trans}-${sock}" \
685 "ruby rb/integration/TestClient.rb --protocol=binary --transport=${trans} --port=9091" \
686 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans} --port=9091" \
687 "5" "5"
688 done
689 done
690
691######### ruby client - cpp server ##############
692for proto in $(intersection "${cpp_protocols}" "${ruby_protocols}"); do
693 for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
694 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
695 case "$sock" in
696 "ip" ) extraparam="";;
697 "ip-ssl" ) extraparam="--ssl";;
698 esac
699 do_test "ruby-cpp" "${proto}" "${trans}-${sock}" \
700 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans}" \
701 "cpp/TestServer --protocol=${proto} --transport=${trans} ${extraparam}" \
702 "5" "5"
703 done
704 done
705done
706
707for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
708 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
709 case "$sock" in
710 "ip" ) extraparam="";;
711 "ip-ssl" ) extraparam="--ssl";;
712 esac
713 do_test "ruby-cpp" "accel-binary" "${trans}-${sock}" \
714 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans}" \
715 "cpp/TestServer --protocol=binary --transport=${trans} ${extraparam}" \
716 "5" "5"
717 done
718 done
719
720######### cpp client - ruby server ##############
721for proto in $(intersection "${cpp_protocols}" "${ruby_protocols}"); do
722 for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
723 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
724 case "$sock" in
725 "ip" ) extraparam="";;
726 "ip-ssl" ) extraparam="--ssl";;
727 esac
728 do_test "cpp-ruby" "${proto}" "${trans}-${sock}" \
729 "cpp/TestClient --protocol=${proto} --transport=${trans} ${extraparam}" \
730 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans}" \
731 "5" "5"
732 done
733 done
734done
735
736for trans in $(intersection "${cpp_transports}" "${ruby_transports}"); do
737 for sock in $(intersection "${cpp_sockets}" "${ruby_sockets}"); do
738 case "$sock" in
739 "ip" ) extraparam="";;
740 "ip-ssl" ) extraparam="--ssl";;
741 esac
742 do_test "cpp-ruby" "binary-accel" "${trans}-${sock}" \
743 "cpp/TestClient --protocol=binary --transport=${trans} ${extraparam}" \
744 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans}" \
745 "5" "5"
746 done
747 done
748
749######### ruby client - java server ##############
750for proto in $(intersection "${ruby_protocols}" "${java_protocols}"); do
751 for trans in $(intersection "${ruby_transports}" "${java_server_transports}"); do
752 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
753 case "$sock" in
754 "ip" ) extraparam="";;
755 "ip-ssl" ) extraparam="--ssl";;
756 esac
757 do_test "ruby-java" "${proto}" "${trans}-${sock}" \
758 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans}" \
759 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testserver" \
760 "15" "5"
761 done
762 done
763done
764
765for trans in $(intersection "${ruby_transports}" "${java_server_transports}"); do
766 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
767 case "$sock" in
768 "ip" ) extraparam="";;
769 "ip-ssl" ) extraparam="--ssl";;
770 esac
771 do_test "ruby-java" "accel-binary" "${trans}-${sock}" \
772 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans}" \
773 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} ${extraparam}\" run-testserver" \
774 "15" "5"
775 done
776 done
777
778######### java client - ruby server ##############
779for proto in $(intersection "${ruby_protocols}" "${java_protocols}"); do
780 for trans in $(intersection "${ruby_transports}" "${java_client_transports}"); do
781 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
782 case "$sock" in
783 "ip" ) extraparam="";;
784 "ip-ssl" ) extraparam="--ssl";;
785 esac
786 do_test "java-ruby" "${proto}" "${trans}-${sock}" \
787 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=${proto} --transport=${trans} ${extraparam}\" run-testclient" \
788 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans}" \
789 "10" "5"
790 done
791 done
792done
793
794for trans in $(intersection "${ruby_transports}" "${java_client_transports}"); do
795 for sock in $(intersection "${ruby_sockets}" "${java_sockets}"); do
796 case "$sock" in
797 "ip" ) extraparam="";;
798 "ip-ssl" ) extraparam="--ssl";;
799 esac
800 do_test "java-ruby" "binary-accel" "${trans}-${sock}" \
801 "ant -f ../lib/java/build.xml -Dno-gen-thrift=\"\" -Dtestargs \"--protocol=binary --transport=${trans} ${extraparam}\" run-testclient" \
802 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans}" \
803 "10" "5"
804 done
805 done
806
807######### ruby client - nodejs server ##############
808for proto in $(intersection "${ruby_protocols}" "${nodejs_protocols}"); do
809 for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
810 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
811 case "$sock" in
812 "ip" ) extraparam="";;
813 "ip-ssl" ) extraparam="--ssl";;
814 esac
815 do_test "ruby-nodejs" "${proto}" "${trans}-${sock}" \
816 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans}" \
817 "node ${NODE_TEST_DIR}/server.js -p ${proto} -t ${trans} ${extraparam}" \
818 "5" "2"
819 done
820 done
821done
822
823for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
824 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
825 case "$sock" in
826 "ip" ) extraparam="";;
827 "ip-ssl" ) extraparam="--ssl";;
828 esac
829 do_test "ruby-nodejs" "${proto}" "${trans}-${sock}" \
830 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans}" \
831 "node ${NODE_TEST_DIR}/server.js -p binary -t ${trans} ${extraparam}" \
832 "5" "2"
833 done
834 done
835
836######### nodejs client - ruby server ##############
837for proto in $(intersection "${ruby_protocols}" "${nodejs_protocols}"); do
838 for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
839 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
840 case "$sock" in
841 "ip" ) extraparam="";;
842 "ip-ssl" ) extraparam="--ssl";;
843 esac
844 do_test "nodejs-ruby" "${proto}" "${trans}-${sock}" \
845 "node ${NODE_TEST_DIR}/client.js -p ${proto} -t ${trans} ${extraparam}" \
846 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans}" \
847 "10" "5"
848 done
849 done
850done
851
852for trans in $(intersection "${ruby_transports}" "${nodejs_transports}"); do
853 for sock in $(intersection "${ruby_sockets}" "${nodejs_sockets}"); do
854 case "$sock" in
855 "ip" ) extraparam="";;
856 "ip-ssl" ) extraparam="--ssl";;
857 esac
858 do_test "nodejs-ruby" "binary-accel" "${trans}-${sock}" \
859 "node ${NODE_TEST_DIR}/client.js -p binary -t ${trans} ${extraparam}" \
860 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans}" \
861 "10" "2"
862 done
863 done
864
865 ######### py client - ruby server ##############
866for proto in $(intersection "${py_protocols}" "${ruby_protocols}"); do
867 for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
868 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
869 case "$sock" in
870 "ip" ) extraparam="";;
871 "ip-ssl" ) extraparam="--ssl";;
872 esac
873 do_test "py-ruby" "${proto}" "${trans}-${sock}" \
874 "py/TestClient.py --protocol=${proto} --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
875 "ruby rb/integration/TestServer.rb --protocol=${proto} --transport=${trans}" \
876 "15" "5"
877 done
878 done
879done
880
881for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
882 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
883 case "$sock" in
884 "ip" ) extraparam="";;
885 "ip-ssl" ) extraparam="--ssl";;
886 esac
887 do_test "py-ruby" "${proto}" "${trans}-${sock}" \
888 "py/TestClient.py --protocol=accel --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
889 "ruby rb/integration/TestServer.rb --protocol=binary --transport=${trans}" \
890 "15" "5"
891 do_test "py-ruby" "${proto}" "${trans}-${sock}" \
892 "py/TestClient.py --protocol=binary --transport=${trans} --port=9090 --host=localhost --genpydir=py/gen-py ${extraparam}" \
893 "ruby rb/integration/TestServer.rb --protocol=accel --transport=${trans}" \
894 "15" "5"
895 done
896 done
897
898######### ruby client - py server ##############
899for proto in $(intersection "${py_protocols}" "${ruby_protocols}"); do
900 for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
901 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
902 case "$sock" in
903 "ip" ) extraparam="";;
904 "ip-ssl" ) extraparam="--ssl";;
905 esac
906 do_test "ruby-py" "${proto}" "${trans}-${sock}" \
907 "ruby rb/integration/TestClient.rb --protocol=${proto} --transport=${trans}" \
908 "py/TestServer.py --protocol=${proto} --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
909 "5" "2"
910 done
911 done
912done
913
914for trans in $(intersection "${py_transports}" "${ruby_transports}"); do
915 for sock in $(intersection "${py_sockets}" "${ruby_sockets}"); do
916 case "$sock" in
917 "ip" ) extraparam="";;
918 "ip-ssl" ) extraparam="--ssl";;
919 esac
920 do_test "ruby-py" "binary-accel" "${trans}-${sock}" \
921 "ruby rb/integration/TestClient.rb --protocol=binary --transport=${trans}" \
922 "py/TestServer.py --protocol=accel --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
923 "5" "2"
924 do_test "ruby-py" "accel-binary" "${trans}-${sock}" \
925 "ruby rb/integration/TestClient.rb --protocol=accel --transport=${trans}" \
926 "py/TestServer.py --protocol=binary --transport=${trans} --port=9090 --genpydir=py/gen-py TSimpleServer ${extraparam}" \
927 "5" "2"
928 done
929 done
930
931
Roger Meier691ec002012-11-02 07:50:24 +0000932# delete Unix Domain Socket used by cpp tests
933rm -f /tmp/ThriftTest.thrift
934
Jens Geyerc1d79432014-04-22 22:52:43 +0200935######### csharp client - csharp server #############
936export MONO_PATH=../lib/csharp
937for proto in $csharp_protocols; do
938 for trans in $csharp_transports; do
939 for sock in $csharp_sockets; do
940 case "$sock" in
941 "ip" ) extraparam="";;
942 "ip-ssl" ) extraparam="--ssl";;
943 esac
944 do_test "csharp-csharp" "${proto}" "${trans}-${sock}" \
945 "../lib/csharp/test/ThriftTest/TestClientServer.exe client --protocol=${proto} --transport=${trans} ${extraparam}" \
946 "../lib/csharp/test/ThriftTest/TestClientServer.exe server --protocol=${proto} --transport=${trans} ${extraparam}" \
henriqued5aba4c2014-04-30 18:11:11 +0200947 "5" "1"
Jens Geyerc1d79432014-04-22 22:52:43 +0200948 done
949 done
950done
951
Roger Meier4edac7f2014-05-02 21:07:01 +0200952do_test "js-java" "json" "http-ip" \
Roger Meier4d5157d2012-01-09 21:23:19 +0000953 "" \
954 "ant -f ../lib/js/test/build.xml unittest" \
henriqued17f1c92014-04-30 16:21:25 +0200955 "2" "2"
Roger Meier4d5157d2012-01-09 21:23:19 +0000956do_test "perl-cpp" "binary" "buffered-ip" \
Roger Meier01b568c2012-01-10 21:30:02 +0000957 "perl -I perl/gen-perl/ -I../lib/perl/lib/ perl/TestClient.pl" \
Roger Meier4d5157d2012-01-09 21:23:19 +0000958 "cpp/TestServer" \
henriqued5aba4c2014-04-30 18:11:11 +0200959 "10" "2"
Roger Meierb33967b2012-01-21 09:18:05 +0000960do_test "php-cpp" "binary" "buffered-ip" \
961 "make -C php/ client" \
962 "cpp/TestServer" \
henriqued5aba4c2014-04-30 18:11:11 +0200963 "10" "2"
Roger Meier4edac7f2014-05-02 21:07:01 +0200964
965echo " failed tests are logged to test/log/error.log"
Roger Meiercc0fe272014-05-16 23:18:25 +0200966echo " full log is here test/log/client_server_protocol_transport_client.log"
967echo " full log is here test/log/client_server_protocol_transport_server.log"
968echo " or look at file://$BASEDIR/$STATUS_HTML"
969
henriquead4df162014-05-20 13:18:45 +0200970ELAPSED_TIME=$(echo "(${SECONDS} - ${START_TIME})" | bc)
971DURATION="${ELAPSED_TIME} seconds"
Roger Meierbea27342014-08-08 00:30:50 +0200972
973echo $FAILED failed of $TESTCOUNT tests in total
Roger Meiercc0fe272014-05-16 23:18:25 +0200974echo "test an took" $DURATION
975print_html_footer "$DURATION"
976
Roger Meier4edac7f2014-05-02 21:07:01 +0200977date
Roger Meier82525772012-11-16 00:38:27 +0000978cd -