|
|
@ -62,6 +62,17 @@ using grpc::testing::EchoResponse; |
|
|
|
using grpc::testing::kTlsCredentialsType; |
|
|
|
using grpc::testing::kTlsCredentialsType; |
|
|
|
using std::chrono::system_clock; |
|
|
|
using std::chrono::system_clock; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MAYBE_SKIP_TEST is a macro to determine if this particular test configuration
|
|
|
|
|
|
|
|
// should be skipped based on a decision made at SetUp time. In particular,
|
|
|
|
|
|
|
|
// tests that use the callback server can only be run if the iomgr can run in
|
|
|
|
|
|
|
|
// the background or if the transport is in-process.
|
|
|
|
|
|
|
|
#define MAYBE_SKIP_TEST \ |
|
|
|
|
|
|
|
do { \
|
|
|
|
|
|
|
|
if (do_not_test_) { \
|
|
|
|
|
|
|
|
return; \
|
|
|
|
|
|
|
|
} \
|
|
|
|
|
|
|
|
} while (0) |
|
|
|
|
|
|
|
|
|
|
|
namespace grpc { |
|
|
|
namespace grpc { |
|
|
|
namespace testing { |
|
|
|
namespace testing { |
|
|
|
namespace { |
|
|
|
namespace { |
|
|
@ -316,6 +327,14 @@ class End2endTest : public ::testing::TestWithParam<TestScenario> { |
|
|
|
GetParam().Log(); |
|
|
|
GetParam().Log(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SetUp() override { |
|
|
|
|
|
|
|
// if (GetParam().callback_server && !GetParam().inproc &&
|
|
|
|
|
|
|
|
// !grpc_iomgr_run_in_background()) {
|
|
|
|
|
|
|
|
// do_not_test_ = true;
|
|
|
|
|
|
|
|
// return;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void TearDown() override { |
|
|
|
void TearDown() override { |
|
|
|
if (is_server_started_) { |
|
|
|
if (is_server_started_) { |
|
|
|
server_->Shutdown(); |
|
|
|
server_->Shutdown(); |
|
|
@ -450,6 +469,7 @@ class End2endTest : public ::testing::TestWithParam<TestScenario> { |
|
|
|
DummyInterceptor::Reset(); |
|
|
|
DummyInterceptor::Reset(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool do_not_test_{false}; |
|
|
|
bool is_server_started_; |
|
|
|
bool is_server_started_; |
|
|
|
std::shared_ptr<Channel> channel_; |
|
|
|
std::shared_ptr<Channel> channel_; |
|
|
|
std::unique_ptr<grpc::testing::EchoTestService::Stub> stub_; |
|
|
|
std::unique_ptr<grpc::testing::EchoTestService::Stub> stub_; |
|
|
@ -505,6 +525,7 @@ class End2endServerTryCancelTest : public End2endTest { |
|
|
|
// NOTE: Do not call this function with server_try_cancel == DO_NOT_CANCEL.
|
|
|
|
// NOTE: Do not call this function with server_try_cancel == DO_NOT_CANCEL.
|
|
|
|
void TestRequestStreamServerCancel( |
|
|
|
void TestRequestStreamServerCancel( |
|
|
|
ServerTryCancelRequestPhase server_try_cancel, int num_msgs_to_send) { |
|
|
|
ServerTryCancelRequestPhase server_try_cancel, int num_msgs_to_send) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
RestartServer(std::shared_ptr<AuthMetadataProcessor>()); |
|
|
|
RestartServer(std::shared_ptr<AuthMetadataProcessor>()); |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
@ -583,6 +604,7 @@ class End2endServerTryCancelTest : public End2endTest { |
|
|
|
// NOTE: Do not call this function with server_try_cancel == DO_NOT_CANCEL.
|
|
|
|
// NOTE: Do not call this function with server_try_cancel == DO_NOT_CANCEL.
|
|
|
|
void TestResponseStreamServerCancel( |
|
|
|
void TestResponseStreamServerCancel( |
|
|
|
ServerTryCancelRequestPhase server_try_cancel) { |
|
|
|
ServerTryCancelRequestPhase server_try_cancel) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
RestartServer(std::shared_ptr<AuthMetadataProcessor>()); |
|
|
|
RestartServer(std::shared_ptr<AuthMetadataProcessor>()); |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
@ -664,6 +686,7 @@ class End2endServerTryCancelTest : public End2endTest { |
|
|
|
// NOTE: Do not call this function with server_try_cancel == DO_NOT_CANCEL.
|
|
|
|
// NOTE: Do not call this function with server_try_cancel == DO_NOT_CANCEL.
|
|
|
|
void TestBidiStreamServerCancel(ServerTryCancelRequestPhase server_try_cancel, |
|
|
|
void TestBidiStreamServerCancel(ServerTryCancelRequestPhase server_try_cancel, |
|
|
|
int num_messages) { |
|
|
|
int num_messages) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
RestartServer(std::shared_ptr<AuthMetadataProcessor>()); |
|
|
|
RestartServer(std::shared_ptr<AuthMetadataProcessor>()); |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
@ -739,6 +762,7 @@ class End2endServerTryCancelTest : public End2endTest { |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endServerTryCancelTest, RequestEchoServerCancel) { |
|
|
|
TEST_P(End2endServerTryCancelTest, RequestEchoServerCancel) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -801,6 +825,7 @@ TEST_P(End2endServerTryCancelTest, BidiStreamServerCancelAfter) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, SimpleRpcWithCustomUserAgentPrefix) { |
|
|
|
TEST_P(End2endTest, SimpleRpcWithCustomUserAgentPrefix) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
// User-Agent is an HTTP header for HTTP transports only
|
|
|
|
// User-Agent is an HTTP header for HTTP transports only
|
|
|
|
if (GetParam().inproc) { |
|
|
|
if (GetParam().inproc) { |
|
|
|
return; |
|
|
|
return; |
|
|
@ -824,6 +849,7 @@ TEST_P(End2endTest, SimpleRpcWithCustomUserAgentPrefix) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, MultipleRpcsWithVariedBinaryMetadataValue) { |
|
|
|
TEST_P(End2endTest, MultipleRpcsWithVariedBinaryMetadataValue) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
std::vector<std::thread> threads; |
|
|
|
std::vector<std::thread> threads; |
|
|
|
threads.reserve(10); |
|
|
|
threads.reserve(10); |
|
|
@ -836,6 +862,7 @@ TEST_P(End2endTest, MultipleRpcsWithVariedBinaryMetadataValue) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, MultipleRpcs) { |
|
|
|
TEST_P(End2endTest, MultipleRpcs) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
std::vector<std::thread> threads; |
|
|
|
std::vector<std::thread> threads; |
|
|
|
threads.reserve(10); |
|
|
|
threads.reserve(10); |
|
|
@ -848,6 +875,7 @@ TEST_P(End2endTest, MultipleRpcs) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, ManyStubs) { |
|
|
|
TEST_P(End2endTest, ManyStubs) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
ChannelTestPeer peer(channel_.get()); |
|
|
|
ChannelTestPeer peer(channel_.get()); |
|
|
|
int registered_calls_pre = peer.registered_calls(); |
|
|
|
int registered_calls_pre = peer.registered_calls(); |
|
|
@ -860,6 +888,7 @@ TEST_P(End2endTest, ManyStubs) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, EmptyBinaryMetadata) { |
|
|
|
TEST_P(End2endTest, EmptyBinaryMetadata) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -872,6 +901,7 @@ TEST_P(End2endTest, EmptyBinaryMetadata) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, ReconnectChannel) { |
|
|
|
TEST_P(End2endTest, ReconnectChannel) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
if (GetParam().inproc) { |
|
|
|
if (GetParam().inproc) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
@ -899,6 +929,7 @@ TEST_P(End2endTest, ReconnectChannel) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, RequestStreamOneRequest) { |
|
|
|
TEST_P(End2endTest, RequestStreamOneRequest) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -915,6 +946,7 @@ TEST_P(End2endTest, RequestStreamOneRequest) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, RequestStreamOneRequestWithCoalescingApi) { |
|
|
|
TEST_P(End2endTest, RequestStreamOneRequestWithCoalescingApi) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -930,6 +962,7 @@ TEST_P(End2endTest, RequestStreamOneRequestWithCoalescingApi) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, RequestStreamTwoRequests) { |
|
|
|
TEST_P(End2endTest, RequestStreamTwoRequests) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -946,6 +979,7 @@ TEST_P(End2endTest, RequestStreamTwoRequests) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, RequestStreamTwoRequestsWithWriteThrough) { |
|
|
|
TEST_P(End2endTest, RequestStreamTwoRequestsWithWriteThrough) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -962,6 +996,7 @@ TEST_P(End2endTest, RequestStreamTwoRequestsWithWriteThrough) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, RequestStreamTwoRequestsWithCoalescingApi) { |
|
|
|
TEST_P(End2endTest, RequestStreamTwoRequestsWithCoalescingApi) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -978,6 +1013,7 @@ TEST_P(End2endTest, RequestStreamTwoRequestsWithCoalescingApi) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, ResponseStream) { |
|
|
|
TEST_P(End2endTest, ResponseStream) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -996,6 +1032,7 @@ TEST_P(End2endTest, ResponseStream) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, ResponseStreamWithCoalescingApi) { |
|
|
|
TEST_P(End2endTest, ResponseStreamWithCoalescingApi) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1017,6 +1054,7 @@ TEST_P(End2endTest, ResponseStreamWithCoalescingApi) { |
|
|
|
// This was added to prevent regression from issue:
|
|
|
|
// This was added to prevent regression from issue:
|
|
|
|
// https://github.com/grpc/grpc/issues/11546
|
|
|
|
// https://github.com/grpc/grpc/issues/11546
|
|
|
|
TEST_P(End2endTest, ResponseStreamWithEverythingCoalesced) { |
|
|
|
TEST_P(End2endTest, ResponseStreamWithEverythingCoalesced) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1038,6 +1076,7 @@ TEST_P(End2endTest, ResponseStreamWithEverythingCoalesced) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, BidiStream) { |
|
|
|
TEST_P(End2endTest, BidiStream) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1062,6 +1101,7 @@ TEST_P(End2endTest, BidiStream) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, BidiStreamWithCoalescingApi) { |
|
|
|
TEST_P(End2endTest, BidiStreamWithCoalescingApi) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1097,6 +1137,7 @@ TEST_P(End2endTest, BidiStreamWithCoalescingApi) { |
|
|
|
// This was added to prevent regression from issue:
|
|
|
|
// This was added to prevent regression from issue:
|
|
|
|
// https://github.com/grpc/grpc/issues/11546
|
|
|
|
// https://github.com/grpc/grpc/issues/11546
|
|
|
|
TEST_P(End2endTest, BidiStreamWithEverythingCoalesced) { |
|
|
|
TEST_P(End2endTest, BidiStreamWithEverythingCoalesced) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1122,6 +1163,7 @@ TEST_P(End2endTest, BidiStreamWithEverythingCoalesced) { |
|
|
|
// Talk to the two services with the same name but different package names.
|
|
|
|
// Talk to the two services with the same name but different package names.
|
|
|
|
// The two stubs are created on the same channel.
|
|
|
|
// The two stubs are created on the same channel.
|
|
|
|
TEST_P(End2endTest, DiffPackageServices) { |
|
|
|
TEST_P(End2endTest, DiffPackageServices) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1150,6 +1192,7 @@ void CancelRpc(ClientContext* context, int delay_us, ServiceType* service) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, CancelRpcBeforeStart) { |
|
|
|
TEST_P(End2endTest, CancelRpcBeforeStart) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1165,6 +1208,7 @@ TEST_P(End2endTest, CancelRpcBeforeStart) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, CancelRpcAfterStart) { |
|
|
|
TEST_P(End2endTest, CancelRpcAfterStart) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1201,6 +1245,7 @@ TEST_P(End2endTest, CancelRpcAfterStart) { |
|
|
|
|
|
|
|
|
|
|
|
// Client cancels request stream after sending two messages
|
|
|
|
// Client cancels request stream after sending two messages
|
|
|
|
TEST_P(End2endTest, ClientCancelsRequestStream) { |
|
|
|
TEST_P(End2endTest, ClientCancelsRequestStream) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1224,6 +1269,7 @@ TEST_P(End2endTest, ClientCancelsRequestStream) { |
|
|
|
|
|
|
|
|
|
|
|
// Client cancels server stream after sending some messages
|
|
|
|
// Client cancels server stream after sending some messages
|
|
|
|
TEST_P(End2endTest, ClientCancelsResponseStream) { |
|
|
|
TEST_P(End2endTest, ClientCancelsResponseStream) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1259,6 +1305,7 @@ TEST_P(End2endTest, ClientCancelsResponseStream) { |
|
|
|
|
|
|
|
|
|
|
|
// Client cancels bidi stream after sending some messages
|
|
|
|
// Client cancels bidi stream after sending some messages
|
|
|
|
TEST_P(End2endTest, ClientCancelsBidi) { |
|
|
|
TEST_P(End2endTest, ClientCancelsBidi) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1294,6 +1341,7 @@ TEST_P(End2endTest, ClientCancelsBidi) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, RpcMaxMessageSize) { |
|
|
|
TEST_P(End2endTest, RpcMaxMessageSize) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1316,6 +1364,7 @@ void ReaderThreadFunc(ClientReaderWriter<EchoRequest, EchoResponse>* stream, |
|
|
|
|
|
|
|
|
|
|
|
// Run a Read and a WritesDone simultaneously.
|
|
|
|
// Run a Read and a WritesDone simultaneously.
|
|
|
|
TEST_P(End2endTest, SimultaneousReadWritesDone) { |
|
|
|
TEST_P(End2endTest, SimultaneousReadWritesDone) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
ClientContext context; |
|
|
|
ClientContext context; |
|
|
|
gpr_event ev; |
|
|
|
gpr_event ev; |
|
|
@ -1330,6 +1379,7 @@ TEST_P(End2endTest, SimultaneousReadWritesDone) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, ChannelState) { |
|
|
|
TEST_P(End2endTest, ChannelState) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
if (GetParam().inproc) { |
|
|
|
if (GetParam().inproc) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
@ -1380,6 +1430,7 @@ TEST_P(End2endTest, ChannelStateTimeout) { |
|
|
|
|
|
|
|
|
|
|
|
// Talking to a non-existing service.
|
|
|
|
// Talking to a non-existing service.
|
|
|
|
TEST_P(End2endTest, NonExistingService) { |
|
|
|
TEST_P(End2endTest, NonExistingService) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetChannel(); |
|
|
|
ResetChannel(); |
|
|
|
std::unique_ptr<grpc::testing::UnimplementedEchoService::Stub> stub; |
|
|
|
std::unique_ptr<grpc::testing::UnimplementedEchoService::Stub> stub; |
|
|
|
stub = grpc::testing::UnimplementedEchoService::NewStub(channel_); |
|
|
|
stub = grpc::testing::UnimplementedEchoService::NewStub(channel_); |
|
|
@ -1397,6 +1448,7 @@ TEST_P(End2endTest, NonExistingService) { |
|
|
|
// Ask the server to send back a serialized proto in trailer.
|
|
|
|
// Ask the server to send back a serialized proto in trailer.
|
|
|
|
// This is an example of setting error details.
|
|
|
|
// This is an example of setting error details.
|
|
|
|
TEST_P(End2endTest, BinaryTrailerTest) { |
|
|
|
TEST_P(End2endTest, BinaryTrailerTest) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1423,6 +1475,7 @@ TEST_P(End2endTest, BinaryTrailerTest) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(End2endTest, ExpectErrorTest) { |
|
|
|
TEST_P(End2endTest, ExpectErrorTest) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
|
|
|
|
|
|
|
|
std::vector<ErrorStatus> expected_status; |
|
|
|
std::vector<ErrorStatus> expected_status; |
|
|
@ -1474,11 +1527,13 @@ class ProxyEnd2endTest : public End2endTest { |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(ProxyEnd2endTest, SimpleRpc) { |
|
|
|
TEST_P(ProxyEnd2endTest, SimpleRpc) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
SendRpc(stub_.get(), 1, false); |
|
|
|
SendRpc(stub_.get(), 1, false); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(ProxyEnd2endTest, SimpleRpcWithEmptyMessages) { |
|
|
|
TEST_P(ProxyEnd2endTest, SimpleRpcWithEmptyMessages) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1489,6 +1544,7 @@ TEST_P(ProxyEnd2endTest, SimpleRpcWithEmptyMessages) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(ProxyEnd2endTest, MultipleRpcs) { |
|
|
|
TEST_P(ProxyEnd2endTest, MultipleRpcs) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
std::vector<std::thread> threads; |
|
|
|
std::vector<std::thread> threads; |
|
|
|
threads.reserve(10); |
|
|
|
threads.reserve(10); |
|
|
@ -1502,6 +1558,7 @@ TEST_P(ProxyEnd2endTest, MultipleRpcs) { |
|
|
|
|
|
|
|
|
|
|
|
// Set a 10us deadline and make sure proper error is returned.
|
|
|
|
// Set a 10us deadline and make sure proper error is returned.
|
|
|
|
TEST_P(ProxyEnd2endTest, RpcDeadlineExpires) { |
|
|
|
TEST_P(ProxyEnd2endTest, RpcDeadlineExpires) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1527,6 +1584,7 @@ TEST_P(ProxyEnd2endTest, RpcDeadlineExpires) { |
|
|
|
|
|
|
|
|
|
|
|
// Set a long but finite deadline.
|
|
|
|
// Set a long but finite deadline.
|
|
|
|
TEST_P(ProxyEnd2endTest, RpcLongDeadline) { |
|
|
|
TEST_P(ProxyEnd2endTest, RpcLongDeadline) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1543,6 +1601,7 @@ TEST_P(ProxyEnd2endTest, RpcLongDeadline) { |
|
|
|
|
|
|
|
|
|
|
|
// Ask server to echo back the deadline it sees.
|
|
|
|
// Ask server to echo back the deadline it sees.
|
|
|
|
TEST_P(ProxyEnd2endTest, EchoDeadline) { |
|
|
|
TEST_P(ProxyEnd2endTest, EchoDeadline) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1568,6 +1627,7 @@ TEST_P(ProxyEnd2endTest, EchoDeadline) { |
|
|
|
|
|
|
|
|
|
|
|
// Ask server to echo back the deadline it sees. The rpc has no deadline.
|
|
|
|
// Ask server to echo back the deadline it sees. The rpc has no deadline.
|
|
|
|
TEST_P(ProxyEnd2endTest, EchoDeadlineForNoDeadlineRpc) { |
|
|
|
TEST_P(ProxyEnd2endTest, EchoDeadlineForNoDeadlineRpc) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1583,6 +1643,7 @@ TEST_P(ProxyEnd2endTest, EchoDeadlineForNoDeadlineRpc) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(ProxyEnd2endTest, UnimplementedRpc) { |
|
|
|
TEST_P(ProxyEnd2endTest, UnimplementedRpc) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1598,6 +1659,7 @@ TEST_P(ProxyEnd2endTest, UnimplementedRpc) { |
|
|
|
|
|
|
|
|
|
|
|
// Client cancels rpc after 10ms
|
|
|
|
// Client cancels rpc after 10ms
|
|
|
|
TEST_P(ProxyEnd2endTest, ClientCancelsRpc) { |
|
|
|
TEST_P(ProxyEnd2endTest, ClientCancelsRpc) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1632,6 +1694,7 @@ TEST_P(ProxyEnd2endTest, ClientCancelsRpc) { |
|
|
|
|
|
|
|
|
|
|
|
// Server cancels rpc after 1ms
|
|
|
|
// Server cancels rpc after 1ms
|
|
|
|
TEST_P(ProxyEnd2endTest, ServerCancelsRpc) { |
|
|
|
TEST_P(ProxyEnd2endTest, ServerCancelsRpc) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1646,6 +1709,7 @@ TEST_P(ProxyEnd2endTest, ServerCancelsRpc) { |
|
|
|
|
|
|
|
|
|
|
|
// Make the response larger than the flow control window.
|
|
|
|
// Make the response larger than the flow control window.
|
|
|
|
TEST_P(ProxyEnd2endTest, HugeResponse) { |
|
|
|
TEST_P(ProxyEnd2endTest, HugeResponse) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1663,6 +1727,7 @@ TEST_P(ProxyEnd2endTest, HugeResponse) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(ProxyEnd2endTest, Peer) { |
|
|
|
TEST_P(ProxyEnd2endTest, Peer) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
// Peer is not meaningful for inproc
|
|
|
|
// Peer is not meaningful for inproc
|
|
|
|
if (GetParam().inproc) { |
|
|
|
if (GetParam().inproc) { |
|
|
|
return; |
|
|
|
return; |
|
|
@ -1691,6 +1756,7 @@ class SecureEnd2endTest : public End2endTest { |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, SimpleRpcWithHost) { |
|
|
|
TEST_P(SecureEnd2endTest, SimpleRpcWithHost) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
|
|
|
|
|
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
@ -1722,6 +1788,7 @@ bool MetadataContains( |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginAndProcessorSuccess) { |
|
|
|
TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginAndProcessorSuccess) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
auto* processor = new TestAuthMetadataProcessor(true); |
|
|
|
auto* processor = new TestAuthMetadataProcessor(true); |
|
|
|
StartServer(std::shared_ptr<AuthMetadataProcessor>(processor)); |
|
|
|
StartServer(std::shared_ptr<AuthMetadataProcessor>(processor)); |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
@ -1747,6 +1814,7 @@ TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginAndProcessorSuccess) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginAndProcessorFailure) { |
|
|
|
TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginAndProcessorFailure) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
auto* processor = new TestAuthMetadataProcessor(true); |
|
|
|
auto* processor = new TestAuthMetadataProcessor(true); |
|
|
|
StartServer(std::shared_ptr<AuthMetadataProcessor>(processor)); |
|
|
|
StartServer(std::shared_ptr<AuthMetadataProcessor>(processor)); |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
@ -1762,6 +1830,7 @@ TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginAndProcessorFailure) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, SetPerCallCredentials) { |
|
|
|
TEST_P(SecureEnd2endTest, SetPerCallCredentials) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1812,6 +1881,7 @@ class CredentialsInterceptorFactory |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, CallCredentialsInterception) { |
|
|
|
TEST_P(SecureEnd2endTest, CallCredentialsInterception) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
if (!GetParam().use_interceptors) { |
|
|
|
if (!GetParam().use_interceptors) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
@ -1841,6 +1911,7 @@ TEST_P(SecureEnd2endTest, CallCredentialsInterception) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, CallCredentialsInterceptionWithSetCredentials) { |
|
|
|
TEST_P(SecureEnd2endTest, CallCredentialsInterceptionWithSetCredentials) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
if (!GetParam().use_interceptors) { |
|
|
|
if (!GetParam().use_interceptors) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
@ -1875,6 +1946,7 @@ TEST_P(SecureEnd2endTest, CallCredentialsInterceptionWithSetCredentials) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, OverridePerCallCredentials) { |
|
|
|
TEST_P(SecureEnd2endTest, OverridePerCallCredentials) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1912,6 +1984,7 @@ TEST_P(SecureEnd2endTest, OverridePerCallCredentials) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, AuthMetadataPluginKeyFailure) { |
|
|
|
TEST_P(SecureEnd2endTest, AuthMetadataPluginKeyFailure) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1932,6 +2005,7 @@ TEST_P(SecureEnd2endTest, AuthMetadataPluginKeyFailure) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, AuthMetadataPluginValueFailure) { |
|
|
|
TEST_P(SecureEnd2endTest, AuthMetadataPluginValueFailure) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -1951,6 +2025,7 @@ TEST_P(SecureEnd2endTest, AuthMetadataPluginValueFailure) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, AuthMetadataPluginWithDeadline) { |
|
|
|
TEST_P(SecureEnd2endTest, AuthMetadataPluginWithDeadline) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
request.mutable_param()->set_skip_cancelled_check(true); |
|
|
|
request.mutable_param()->set_skip_cancelled_check(true); |
|
|
@ -1976,6 +2051,7 @@ TEST_P(SecureEnd2endTest, AuthMetadataPluginWithDeadline) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, AuthMetadataPluginWithCancel) { |
|
|
|
TEST_P(SecureEnd2endTest, AuthMetadataPluginWithCancel) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
request.mutable_param()->set_skip_cancelled_check(true); |
|
|
|
request.mutable_param()->set_skip_cancelled_check(true); |
|
|
@ -2004,6 +2080,7 @@ TEST_P(SecureEnd2endTest, AuthMetadataPluginWithCancel) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginFailure) { |
|
|
|
TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginFailure) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -2027,6 +2104,7 @@ TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginFailure) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginAndProcessorSuccess) { |
|
|
|
TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginAndProcessorSuccess) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
auto* processor = new TestAuthMetadataProcessor(false); |
|
|
|
auto* processor = new TestAuthMetadataProcessor(false); |
|
|
|
StartServer(std::shared_ptr<AuthMetadataProcessor>(processor)); |
|
|
|
StartServer(std::shared_ptr<AuthMetadataProcessor>(processor)); |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
@ -2055,6 +2133,7 @@ TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginAndProcessorSuccess) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginAndProcessorFailure) { |
|
|
|
TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginAndProcessorFailure) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
auto* processor = new TestAuthMetadataProcessor(false); |
|
|
|
auto* processor = new TestAuthMetadataProcessor(false); |
|
|
|
StartServer(std::shared_ptr<AuthMetadataProcessor>(processor)); |
|
|
|
StartServer(std::shared_ptr<AuthMetadataProcessor>(processor)); |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
@ -2073,6 +2152,7 @@ TEST_P(SecureEnd2endTest, NonBlockingAuthMetadataPluginAndProcessorFailure) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginFailure) { |
|
|
|
TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginFailure) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -2096,6 +2176,7 @@ TEST_P(SecureEnd2endTest, BlockingAuthMetadataPluginFailure) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, CompositeCallCreds) { |
|
|
|
TEST_P(SecureEnd2endTest, CompositeCallCreds) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -2128,6 +2209,7 @@ TEST_P(SecureEnd2endTest, CompositeCallCreds) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(SecureEnd2endTest, ClientAuthContext) { |
|
|
|
TEST_P(SecureEnd2endTest, ClientAuthContext) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
|
EchoResponse response; |
|
|
|
EchoResponse response; |
|
|
@ -2172,6 +2254,7 @@ class ResourceQuotaEnd2endTest : public End2endTest { |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
TEST_P(ResourceQuotaEnd2endTest, SimpleRequest) { |
|
|
|
TEST_P(ResourceQuotaEnd2endTest, SimpleRequest) { |
|
|
|
|
|
|
|
MAYBE_SKIP_TEST; |
|
|
|
ResetStub(); |
|
|
|
ResetStub(); |
|
|
|
|
|
|
|
|
|
|
|
EchoRequest request; |
|
|
|
EchoRequest request; |
|
|
@ -2269,5 +2352,6 @@ INSTANTIATE_TEST_SUITE_P( |
|
|
|
int main(int argc, char** argv) { |
|
|
|
int main(int argc, char** argv) { |
|
|
|
grpc::testing::TestEnvironment env(argc, argv); |
|
|
|
grpc::testing::TestEnvironment env(argc, argv); |
|
|
|
::testing::InitGoogleTest(&argc, argv); |
|
|
|
::testing::InitGoogleTest(&argc, argv); |
|
|
|
return RUN_ALL_TESTS(); |
|
|
|
int ret = RUN_ALL_TESTS(); |
|
|
|
|
|
|
|
return ret; |
|
|
|
} |
|
|
|
} |
|
|
|