summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames E. King, III <jking@apache.org>2017-11-19 20:17:33 -0500
committerJames E. King, III <jking@apache.org>2017-11-20 07:27:03 -0500
commit39eaae6675f01ff844b35c04ebd50090dc413624 (patch)
tree4ed743593fdb4038e758dfb3491a56bff974a795
parent6e883f9d2307b00ca76aa28c286f28d8741a8197 (diff)
downloadthrift-39eaae6675f01ff844b35c04ebd50090dc413624.tar.gz
THRIFT-2013: update docker for artful (go back to lua 5.2) and enhance
cpp client to send 0,1,2,4,8,...,131072 size binary tests, this exposed problems in the erl and rs servers and those tests have been disabled for now.
-rw-r--r--LANGUAGES.md6
-rw-r--r--build/docker/README.md8
-rw-r--r--build/docker/ubuntu-artful/Dockerfile7
-rw-r--r--lib/netcore/Thrift/Thrift.csproj1
-rw-r--r--lib/rs/src/transport/socket.rs2
-rw-r--r--test/cpp/src/TestClient.cpp188
-rw-r--r--test/cpp/src/TestServer.cpp12
-rw-r--r--test/known_failures_Linux.json18
-rw-r--r--test/rs/src/bin/test_client.rs4
9 files changed, 133 insertions, 113 deletions
diff --git a/LANGUAGES.md b/LANGUAGES.md
index d1a21e242..79fcf28df 100644
--- a/LANGUAGES.md
+++ b/LANGUAGES.md
@@ -114,7 +114,7 @@ The Language/Library Levels indicate the minimum and maximum versions that are u
<tr align=center>
<td align=left><a href="lib/netcore/README.md">.NET Core</a></td>
<!-- Build Systems ---------><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td>
-<!-- Language Levels -------><td colspan=2>2.0.0</td>
+<!-- Language Levels -------><td>2.0.0</td><td>2.0.3</td>
<!-- Low-Level Transports --><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
<!-- Transport Wrappers ----><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Protocols -------------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
@@ -194,7 +194,7 @@ The Language/Library Levels indicate the minimum and maximum versions that are u
<tr align=center>
<td align=left><a href="lib/lua/README.md">Lua</a></td>
<!-- Build Systems ---------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
-<!-- Language Levels -------><td>5.1.5</td><td>5.3.3</td>
+<!-- Language Levels -------><td>5.1.5</td><td>5.2.4</td>
<!-- Low-Level Transports --><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Transport Wrappers ----><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Protocols -------------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
@@ -204,7 +204,7 @@ The Language/Library Levels indicate the minimum and maximum versions that are u
<tr align=center>
<td align=left><a href="lib/nodejs/README.md">node.js</a></td>
<!-- Build Systems ---------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
-<!-- Language Levels -------><td>4.2.6</td><td>8.8.1</td>
+<!-- Language Levels -------><td>4.2.6</td><td>8.9.1</td>
<!-- Low-Level Transports --><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cred.png" alt=""/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
<!-- Transport Wrappers ----><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cred.png" alt=""/></td>
<!-- Protocols -------------><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td><td><img src="doc/images/cgrn.png" alt="Yes"/></td>
diff --git a/build/docker/README.md b/build/docker/README.md
index 10a7a7609..a8d950157 100644
--- a/build/docker/README.md
+++ b/build/docker/README.md
@@ -147,15 +147,15 @@ Last updated: October 1, 2017
| d | 2.070.2 | 2.073.2 | 2.076.0 | |
| dart | 1.20.1 | 1.24.2 | 1.24.2 | |
| delphi | | | | Not in CI |
-| dotnet | | 2.0.3 | | Needs to be added to artful |
+| dotnet | | 2.0.3 | 2.0.3 | |
| erlang | R16B03 | 18.3 | 20.0.4 | |
| go | 1.2.1 | 1.6.2 | 1.8.3 | |
| haskell | 7.6.3 | 7.10.3 | 8.0.2 | |
| haxe | | 3.2.1 | 3.4.2 | disabled in trusty builds - cores on install v3.0.0, disabled in artful builds - see THRIFT-4352 |
-| java | 1.7.0_151 | 1.8.0_131 | 1.8.0_144 | |
+| java | 1.7.0_151 | 1.8.0_131 | 1.8.0_151 | |
| js | | | | Unsure how to look for version info? |
-| lua | 5.1.5 | 5.2.4 | 5.3.3 | |
-| nodejs | | 4.2.6 | 8.8.1 | trusty has node.js 0.10.0 which is too old |
+| lua | 5.1.5 | 5.2.4 | 5.2.4 | Lua 5.3: see THRIFT-4386 |
+| nodejs | | 4.2.6 | 8.9.1 | trusty has node.js 0.10.0 which is too old |
| ocaml | | 4.02.3 | 4.04.0 | |
| perl | 5.18.2 | 5.22.1 | 5.26.0 | |
| php | 5.5.9 | 7.0.22 | 7.1.8 | |
diff --git a/build/docker/ubuntu-artful/Dockerfile b/build/docker/ubuntu-artful/Dockerfile
index 756209d84..cba29020f 100644
--- a/build/docker/ubuntu-artful/Dockerfile
+++ b/build/docker/ubuntu-artful/Dockerfile
@@ -162,12 +162,11 @@ RUN apt-get install -y --no-install-recommends \
RUN apt-get install -y --no-install-recommends \
`# Lua dependencies` \
- lua5.3 \
- lua5.3-dev && \
- ln -s /usr/bin/lua5.3 /usr/bin/lua && \
- ln -s /usr/bin/luac5.3 /usr/bin/luac
+ lua5.2 \
+ lua5.2-dev
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
# lua5.3 does not install alternatives!
+# need to update our luasocket code, lua doesn't have luaL_openlib any more
RUN apt-get install -y --no-install-recommends \
`# Node.js dependencies` \
diff --git a/lib/netcore/Thrift/Thrift.csproj b/lib/netcore/Thrift/Thrift.csproj
index 3725d7b0b..e806fede7 100644
--- a/lib/netcore/Thrift/Thrift.csproj
+++ b/lib/netcore/Thrift/Thrift.csproj
@@ -22,6 +22,7 @@
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="[2.0,)" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="[2.0,)" />
<PackageReference Include="System.IO.Pipes" Version="[4.3,)" />
+ <PackageReference Include="System.Net.Http.WinHttpHandler" Version="4.4.0" />
<PackageReference Include="System.Net.NameResolution" Version="[4.3,)" />
<PackageReference Include="System.Net.Requests" Version="[4.3,)" />
<PackageReference Include="System.Net.Security" Version="[4.3,)" />
diff --git a/lib/rs/src/transport/socket.rs b/lib/rs/src/transport/socket.rs
index a6f780ac8..727bba3f5 100644
--- a/lib/rs/src/transport/socket.rs
+++ b/lib/rs/src/transport/socket.rs
@@ -156,7 +156,7 @@ impl Read for TTcpChannel {
impl Write for TTcpChannel {
fn write(&mut self, b: &[u8]) -> io::Result<usize> {
- self.if_set(|s| s.write(b))
+ self.if_set(|s| s.write_all(b)).map(|_| b.len())
}
fn flush(&mut self) -> io::Result<()> {
diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
index 6e7ff8e66..9544a4a69 100644
--- a/test/cpp/src/TestClient.cpp
+++ b/test/cpp/src/TestClient.cpp
@@ -44,6 +44,7 @@
#include <boost/algorithm/string.hpp>
#include <boost/filesystem.hpp>
#include <boost/program_options.hpp>
+#include <boost/random/random_device.hpp>
#include <thrift/stdcxx.h>
#if _WIN32
#include <thrift/windows/TWinsockSingleton.h>
@@ -130,13 +131,16 @@ bool print_eq(T expected, T actual) {
return_code |= ERR_BASETYPES; \
}
+int binary_test(ThriftTestClient& testClient, string::size_type siz);
+
+BOOST_CONSTEXPR_OR_CONST int ERR_BASETYPES = 1;
+BOOST_CONSTEXPR_OR_CONST int ERR_STRUCTS = 2;
+BOOST_CONSTEXPR_OR_CONST int ERR_CONTAINERS = 4;
+BOOST_CONSTEXPR_OR_CONST int ERR_EXCEPTIONS = 8;
+BOOST_CONSTEXPR_OR_CONST int ERR_UNKNOWN = 64;
+
int main(int argc, char** argv) {
cout.precision(19);
- int ERR_BASETYPES = 1;
- int ERR_STRUCTS = 2;
- int ERR_CONTAINERS = 4;
- int ERR_EXCEPTIONS = 8;
- int ERR_UNKNOWN = 64;
string testDir = boost::filesystem::system_complete(argv[0]).parent_path().parent_path().parent_path().string();
string caPath = testDir + "/keys/CA.pem";
@@ -161,13 +165,13 @@ int main(int argc, char** argv) {
boost::program_options::options_description desc("Allowed options");
desc.add_options()
("help,h", "produce help message")
- ("host",
- boost::program_options::value<string>(&host)->default_value(host),
+ ("host",
+ boost::program_options::value<string>(&host)->default_value(host),
"Host to connect")
- ("port",
- boost::program_options::value<int>(&port)->default_value(port),
+ ("port",
+ boost::program_options::value<int>(&port)->default_value(port),
"Port number to connect")
- ("domain-socket",
+ ("domain-socket",
boost::program_options::value<string>(&domain_socket)->default_value(domain_socket),
"Domain Socket (e.g. /tmp/ThriftTest.thrift), instead of host and port")
("abstract-namespace",
@@ -179,7 +183,7 @@ int main(int argc, char** argv) {
("protocol",
boost::program_options::value<string>(&protocol_type)->default_value(protocol_type),
"Protocol: binary, compact, header, json, multi, multic, multih, multij")
- ("ssl",
+ ("ssl",
"Encrypted Transport using SSL")
("testloops,n",
boost::program_options::value<int>(&numTests)->default_value(numTests),
@@ -244,7 +248,7 @@ int main(int argc, char** argv) {
stdcxx::shared_ptr<TSocket> socket;
stdcxx::shared_ptr<TTransport> transport;
stdcxx::shared_ptr<TProtocol> protocol;
- stdcxx::shared_ptr<TProtocol> protocol2; // SecondService for multiplexed
+ stdcxx::shared_ptr<TProtocol> protocol2; // SecondService for multiplexed
if (ssl) {
cout << "Client Certificate File: " << certPath << endl;
@@ -295,9 +299,9 @@ int main(int argc, char** argv) {
}
if (boost::starts_with(protocol_type, "multi")) {
- protocol2 = stdcxx::make_shared<TMultiplexedProtocol>(protocol, "SecondService");
- // we don't need access to the original protocol any more, so...
- protocol = stdcxx::make_shared<TMultiplexedProtocol>(protocol, "ThriftTest");
+ protocol2 = stdcxx::make_shared<TMultiplexedProtocol>(protocol, "SecondService");
+ // we don't need access to the original protocol any more, so...
+ protocol = stdcxx::make_shared<TMultiplexedProtocol>(protocol, "ThriftTest");
}
// Connection info
@@ -387,18 +391,18 @@ int main(int argc, char** argv) {
// in the middle of the ThriftTest
//
if (boost::starts_with(protocol_type, "multi")) {
- SecondServiceClient ssc(protocol2);
- // transport is already open...
-
+ SecondServiceClient ssc(protocol2);
+ // transport is already open...
+
try {
cout << "secondService.secondTestString(\"foo\") => " << flush;
- std::string result;
- ssc.secondtestString(result, "foo");
- cout << "{" << result << "}" << endl;
- } catch (std::exception& e) {
- cout << " *** FAILED *** " << e.what() << endl;
- return_code |= ERR_EXCEPTIONS;
- }
+ std::string result;
+ ssc.secondtestString(result, "foo");
+ cout << "{" << result << "}" << endl;
+ } catch (std::exception& e) {
+ cout << " *** FAILED *** " << e.what() << endl;
+ return_code |= ERR_EXCEPTIONS;
+ }
}
try {
@@ -568,72 +572,9 @@ int main(int argc, char** argv) {
/**
* BINARY TEST
*/
- cout << "testBinary(empty)" << endl;
- try {
- string bin_result;
- testClient.testBinary(bin_result, string());
- if (!bin_result.empty()) {
- cout << endl << "*** FAILED ***" << endl;
- cout << "invalid length: " << bin_result.size() << endl;
- return_code |= ERR_BASETYPES;
- }
- } catch (TTransportException&) {
- throw;
- } catch (exception& ex) {
- cout << "*** FAILED ***" << endl << ex.what() << endl;
- return_code |= ERR_BASETYPES;
- }
- cout << "testBinary([-128..127]) = {" << flush;
- const signed char bin_data[256]
- = {-128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115, -114,
- -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99,
- -98, -97, -96, -95, -94, -93, -92, -91, -90, -89, -88, -87, -86, -85, -84,
- -83, -82, -81, -80, -79, -78, -77, -76, -75, -74, -73, -72, -71, -70, -69,
- -68, -67, -66, -65, -64, -63, -62, -61, -60, -59, -58, -57, -56, -55, -54,
- -53, -52, -51, -50, -49, -48, -47, -46, -45, -44, -43, -42, -41, -40, -39,
- -38, -37, -36, -35, -34, -33, -32, -31, -30, -29, -28, -27, -26, -25, -24,
- -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9,
- -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127};
- try {
- string bin_result;
- testClient.testBinary(bin_result, string(reinterpret_cast<const char *>(bin_data), 256));
- if (bin_result.size() != 256) {
- cout << endl << "*** FAILED ***" << endl;
- cout << "invalid length: " << bin_result.size() << endl;
- return_code |= ERR_BASETYPES;
- } else {
- bool first = true;
- bool failed = false;
- for (int i = 0; i < 256; ++i) {
- if (!first)
- cout << ",";
- else
- first = false;
- cout << static_cast<int>(bin_result[i]);
- if (!failed && bin_result[i] != i - 128) {
- failed = true;
- }
- }
- cout << "}" << endl;
- if (failed) {
- cout << "*** FAILED ***" << endl;
- return_code |= ERR_BASETYPES;
- }
- }
- } catch (TTransportException&) {
- throw;
- } catch (exception& ex) {
- cout << "*** FAILED ***" << endl << ex.what() << endl;
- return_code |= ERR_BASETYPES;
+ for (string::size_type i = 0; i < 131073 && !return_code; ) {
+ return_code |= binary_test(testClient, i);
+ if (i > 0) { i *= 2; } else { ++i; }
}
@@ -1137,7 +1078,7 @@ int main(int argc, char** argv) {
return_code |= ERR_BASETYPES;
cout << endl << "All tests done." << endl << flush;
-
+
uint64_t stop = now();
uint64_t tot = stop - start;
@@ -1164,3 +1105,66 @@ int main(int argc, char** argv) {
return return_code;
}
+
+void binary_fill(std::string& str, string::size_type siz)
+{
+ static const signed char bin_data[256]
+ = {-128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115, -114,
+ -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99,
+ -98, -97, -96, -95, -94, -93, -92, -91, -90, -89, -88, -87, -86, -85, -84,
+ -83, -82, -81, -80, -79, -78, -77, -76, -75, -74, -73, -72, -71, -70, -69,
+ -68, -67, -66, -65, -64, -63, -62, -61, -60, -59, -58, -57, -56, -55, -54,
+ -53, -52, -51, -50, -49, -48, -47, -46, -45, -44, -43, -42, -41, -40, -39,
+ -38, -37, -36, -35, -34, -33, -32, -31, -30, -29, -28, -27, -26, -25, -24,
+ -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9,
+ -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+ 127};
+
+ str.resize(siz);
+ char *ptr = &str[0];
+ string::size_type pos = 0;
+ for (string::size_type i = 0; i < siz; ++i)
+ {
+ if (pos == 255) { pos = 0; } else { ++pos; }
+ *ptr++ = bin_data[pos];
+ }
+}
+
+int binary_test(ThriftTestClient& testClient, string::size_type siz)
+{
+ string bin_request;
+ string bin_result;
+
+ cout << "testBinary(siz = " << siz << ")" << endl;
+ binary_fill(bin_request, siz);
+ try {
+ testClient.testBinary(bin_result, bin_request);
+
+ if (bin_request.size() != bin_result.size()) {
+ cout << "*** FAILED: request size " << bin_request.size() << "; result size " << bin_result.size() << endl;
+ return ERR_BASETYPES;
+ }
+
+ for (string::size_type i = 0; i < siz; ++i) {
+ if (bin_request.at(i) != bin_result.at(i)) {
+ cout << "*** FAILED: at position " << i << " request[i] is h" << hex << bin_request.at(i) << " result[i] is h" << hex << bin_result.at(i) << endl;
+ return ERR_BASETYPES;
+ }
+ }
+ } catch (TTransportException&) {
+ throw;
+ } catch (exception& ex) {
+ cout << "*** FAILED ***" << endl << ex.what() << endl;
+ return ERR_BASETYPES;
+ }
+
+ return 0;
+}
diff --git a/test/cpp/src/TestServer.cpp b/test/cpp/src/TestServer.cpp
index 744a86c02..78b0a742b 100644
--- a/test/cpp/src/TestServer.cpp
+++ b/test/cpp/src/TestServer.cpp
@@ -113,7 +113,7 @@ public:
void testBinary(std::string& _return, const std::string& thing) {
std::ostringstream hexstr;
hexstr << std::hex << thing;
- printf("testBinary(%s)\n", hexstr.str().c_str());
+ printf("testBinary(%lu: %s)\n", thing.size(), hexstr.str().c_str());
_return = thing;
}
@@ -345,7 +345,7 @@ class SecondHandler : public SecondServiceIf
public:
void secondtestString(std::string& result, const std::string& thing)
{ result = "testString(\"" + thing + "\")"; }
-};
+};
class TestProcessorEventHandler : public TProcessorEventHandler {
virtual void* getContext(const char* fn_name, void* serverContext) {
@@ -606,10 +606,10 @@ int main(int argc, char** argv) {
} else if (protocol_type == "compact") {
} else if (protocol_type == "json") {
} else if (protocol_type == "header") {
- } else if (protocol_type == "multi") { // multiplexed binary
- } else if (protocol_type == "multic") { // multiplexed compact
- } else if (protocol_type == "multih") { // multiplexed header
- } else if (protocol_type == "multij") { // multiplexed json
+ } else if (protocol_type == "multi") { // multiplexed binary
+ } else if (protocol_type == "multic") { // multiplexed compact
+ } else if (protocol_type == "multih") { // multiplexed header
+ } else if (protocol_type == "multij") { // multiplexed json
} else {
throw invalid_argument("Unknown protocol type " + protocol_type);
}
diff --git a/test/known_failures_Linux.json b/test/known_failures_Linux.json
index ea194a16d..ae9b37011 100644
--- a/test/known_failures_Linux.json
+++ b/test/known_failures_Linux.json
@@ -3,9 +3,9 @@
"c_glib-csharp_multi-binary_framed-ip",
"c_glib-csharp_multi_buffered-ip",
"c_glib-csharp_multi_framed-ip",
- "c_glib-csharp_multic_buffered-ip",
"c_glib-csharp_multic-compact_buffered-ip",
"c_glib-csharp_multic-compact_framed-ip",
+ "c_glib-csharp_multic_buffered-ip",
"c_glib-csharp_multic_framed-ip",
"c_glib-rs_multi_buffered-ip",
"c_glib-rs_multi_framed-ip",
@@ -195,6 +195,8 @@
"d-py_json_buffered-ip-ssl",
"d-py_json_framed-ip",
"d-py_json_framed-ip-ssl",
+ "erl-cpp_binary_buffered-ip",
+ "erl-cpp_compact_buffered-ip",
"erl-csharp_binary_buffered-ip",
"erl-csharp_compact_buffered-ip",
"erl-nodejs_binary_buffered-ip",
@@ -297,6 +299,20 @@
"nodejs-netcore_json_buffered-ip-ssl",
"nodejs-netcore_json_framed-ip",
"nodejs-netcore_json_framed-ip-ssl",
+ "rb-cpp_json_buffered-ip",
+ "rb-cpp_json_framed-ip",
+ "rs-cpp_binary_buffered-ip",
+ "rs-cpp_binary_framed-ip",
+ "rs-cpp_compact_buffered-ip",
+ "rs-cpp_compact_framed-ip",
+ "rs-cpp_multi-binary_buffered-ip",
+ "rs-cpp_multi-binary_framed-ip",
+ "rs-cpp_multi_buffered-ip",
+ "rs-cpp_multi_framed-ip",
+ "rs-cpp_multic-compact_buffered-ip",
+ "rs-cpp_multic-compact_framed-ip",
+ "rs-cpp_multic_buffered-ip",
+ "rs-cpp_multic_framed-ip",
"rs-csharp_binary_buffered-ip",
"rs-csharp_binary_framed-ip",
"rs-csharp_compact_buffered-ip",
diff --git a/test/rs/src/bin/test_client.rs b/test/rs/src/bin/test_client.rs
index 7c11ad560..0df2f009f 100644
--- a/test/rs/src/bin/test_client.rs
+++ b/test/rs/src/bin/test_client.rs
@@ -126,7 +126,7 @@ fn build_protocols(
};
let (i_prot, o_prot): (Box<TInputProtocol>, Box<TOutputProtocol>) = match protocol {
- "binary" | "multi:binary" => {
+ "binary" => {
(Box::new(TBinaryInputProtocol::new(i_tran, true)),
Box::new(TBinaryOutputProtocol::new(o_tran, true)))
}
@@ -139,7 +139,7 @@ fn build_protocols(
),
))
}
- "compact" | "multi:compact" => {
+ "compact" => {
(Box::new(TCompactInputProtocol::new(i_tran)),
Box::new(TCompactOutputProtocol::new(o_tran)))
}