diff options
author | 2016-02-15 02:33:54 -0800 | |
---|---|---|
committer | 2016-02-15 02:33:54 -0800 | |
commit | cf4daebe2764cb5da664c7b2e406c48ee44dfeaa (patch) | |
tree | 739a164c69434fff24bf946ca50deca46502f1e5 /test/cpp/end2end/async_end2end_test.cc | |
parent | 8afd49f3599478e463a87134c129e92ab67b6e84 (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.cc | 16 |
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) { |