aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/cpp/end2end/async_end2end_test.cc
diff options
context:
space:
mode:
authorGravatar vjpai <vpai@google.com>2016-02-15 02:33:54 -0800
committerGravatar vjpai <vpai@google.com>2016-02-15 02:33:54 -0800
commitcf4daebe2764cb5da664c7b2e406c48ee44dfeaa (patch)
tree739a164c69434fff24bf946ca50deca46502f1e5 /test/cpp/end2end/async_end2end_test.cc
parent8afd49f3599478e463a87134c129e92ab67b6e84 (diff)
Comment the requirements for changing grpc_poll_function and do
poll overrides in such a way as to avoid polling races
Diffstat (limited to 'test/cpp/end2end/async_end2end_test.cc')
-rw-r--r--test/cpp/end2end/async_end2end_test.cc16
1 files changed, 9 insertions, 7 deletions
diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc
index a194c615cd..78417fc6d0 100644
--- a/test/cpp/end2end/async_end2end_test.cc
+++ b/test/cpp/end2end/async_end2end_test.cc
@@ -86,21 +86,21 @@ class PollOverride {
grpc_poll_function_type prev_;
};
-class PollingCheckRegion : public PollOverride {
+class PollingOverrider : public PollOverride {
public:
- explicit PollingCheckRegion(bool allow_blocking)
+ explicit PollingOverrider(bool allow_blocking)
: PollOverride(allow_blocking ? poll : assert_non_blocking_poll) {}
};
#else
-class PollingCheckRegion {
+class PollingOverrider {
public:
- explicit PollingCheckRegion(bool allow_blocking) {}
+ explicit PollingOverrider(bool allow_blocking) {}
};
#endif
-class Verifier : public PollingCheckRegion {
+class Verifier {
public:
- explicit Verifier(bool spin) : PollingCheckRegion(!spin), spin_(spin) {}
+ explicit Verifier(bool spin) : spin_(spin) {}
Verifier& Expect(int i, bool expect_ok) {
expectations_[tag(i)] = expect_ok;
return *this;
@@ -180,7 +180,7 @@ class Verifier : public PollingCheckRegion {
class AsyncEnd2endTest : public ::testing::TestWithParam<bool> {
protected:
- AsyncEnd2endTest() {}
+ AsyncEnd2endTest(): poll_override_(GetParam()) {}
void SetUp() GRPC_OVERRIDE {
int port = grpc_pick_unused_port_or_die();
@@ -249,6 +249,8 @@ class AsyncEnd2endTest : public ::testing::TestWithParam<bool> {
std::unique_ptr<Server> server_;
grpc::testing::EchoTestService::AsyncService service_;
std::ostringstream server_address_;
+
+ PollingOverrider poll_override_;
};
TEST_P(AsyncEnd2endTest, SimpleRpc) {