THRIFT-2029 Port C++ tests to Windows
THRIFT-847 Test Framework harmonization across all languages
fix compact protocol test within TestServer.cpp and TestClient.cpp
remove stuff that breaks the cross language test suite
- TestServer.cpp: cin read
- test.sh: mkfifo
Reported-by: Chamila Wijayarathna
diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
index 591d19d..0195139 100755
--- a/test/cpp/src/TestClient.cpp
+++ b/test/cpp/src/TestClient.cpp
@@ -127,6 +127,7 @@
try {
if (!protocol_type.empty()) {
if (protocol_type == "binary") {
+ } else if (protocol_type == "compact") {
} else if (protocol_type == "json") {
} else {
throw invalid_argument("Unknown protocol type "+protocol_type);
diff --git a/test/cpp/src/TestServer.cpp b/test/cpp/src/TestServer.cpp
index ad7df07..11ed359 100755
--- a/test/cpp/src/TestServer.cpp
+++ b/test/cpp/src/TestServer.cpp
@@ -545,13 +545,14 @@
if (!protocol_type.empty()) {
if (protocol_type == "binary") {
+ } else if (protocol_type == "compact") {
} else if (protocol_type == "json") {
} else {
throw invalid_argument("Unknown protocol type "+protocol_type);
}
}
- if (!transport_type.empty()) {
+ if (!transport_type.empty()) {
if (transport_type == "buffered") {
} else if (transport_type == "framed") {
} else if (transport_type == "http") {
@@ -689,8 +690,12 @@
boost::shared_ptr<apache::thrift::concurrency::Thread> thread = factory.newThread(serverThreadRunner);
thread->start();
- cout<<"Press enter to stop the server."<<endl;
- cin.ignore(); //wait until a key is pressed
+ // HACK: cross language test suite is unable to handle cin properly
+ // that's why we stay in a endless loop here
+ while(1){}
+ // FIXME: find another way to stop the server (e.g. a signal)
+ // cout<<"Press enter to stop the server."<<endl;
+ // cin.ignore(); //wait until a key is pressed
server->stop();
thread->join();
diff --git a/test/test.sh b/test/test.sh
index 48a2804..60a3817 100755
--- a/test/test.sh
+++ b/test/test.sh
@@ -57,12 +57,9 @@
testname=${client_server}_${protocol}_${transport}
server_timeout=$((${server_startup_time}+${client_delay}))
printf "%-16s %-11s %-17s" ${client_server} ${protocol} ${transport}
- mkfifo thrift_test_communication
- timeout $server_timeout $server_exec < thrift_test_communication > log/${testname}_server.log 2>&1 &
+ timeout $server_timeout $server_exec > log/${testname}_server.log 2>&1 &
sleep $server_startup_time
$client_exec > log/${testname}_client.log 2>&1
- echo "done" > thrift_test_communication
- rm -f thrift_test_communication
if [ "$?" -eq "0" ]; then
echo " success"