diff options
author | Nicolas Noble <nicolasnoble@users.noreply.github.com> | 2016-07-21 11:28:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-21 11:28:44 -0700 |
commit | f6aefa3ea66d6e49c3853dea260ef723ff796f99 (patch) | |
tree | becd29d3d3d44ad8962eba82f4efcd1229805b93 /test/cpp | |
parent | d9f2fe7bb9e35b938f1d3db35c1ce07dd97d138c (diff) | |
parent | 807387641f8a8acceb3a8e58adabf3080afb871d (diff) |
Merge pull request #7400 from yang-g/ga_branch2
Cherrypick #7319 into v1.0.x
Diffstat (limited to 'test/cpp')
-rw-r--r-- | test/cpp/end2end/async_end2end_test.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc index 6c7eae53a4..4a8936d281 100644 --- a/test/cpp/end2end/async_end2end_test.cc +++ b/test/cpp/end2end/async_end2end_test.cc @@ -345,6 +345,31 @@ TEST_P(AsyncEnd2endTest, SequentialRpcs) { SendRpc(10); } +// We do not need to protect notify because the use is synchronized. +void ServerWait(Server* server, int* notify) { + server->Wait(); + *notify = 1; +} +TEST_P(AsyncEnd2endTest, WaitAndShutdownTest) { + int notify = 0; + std::thread* wait_thread = + new std::thread(&ServerWait, server_.get(), ¬ify); + ResetStub(); + SendRpc(1); + EXPECT_EQ(0, notify); + server_->Shutdown(); + wait_thread->join(); + EXPECT_EQ(1, notify); + delete wait_thread; +} + +TEST_P(AsyncEnd2endTest, ShutdownThenWait) { + ResetStub(); + SendRpc(1); + server_->Shutdown(); + server_->Wait(); +} + // Test a simple RPC using the async version of Next TEST_P(AsyncEnd2endTest, AsyncNextRpc) { ResetStub(); |