summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/sync_source_resolver_test.cpp
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2016-11-12 15:29:47 -0500
committerBenety Goh <benety@mongodb.com>2016-11-14 11:20:51 -0500
commitf584ed50bc34db9ad0ac5fb79ecd6e1fe8ff88eb (patch)
treefbd39a56d54fa69cf394a6abef4c3a3ecdd6fdca /src/mongo/db/repl/sync_source_resolver_test.cpp
parent508aae2223da2390b7b22c9d04d7707af7e131a8 (diff)
downloadmongo-f584ed50bc34db9ad0ac5fb79ecd6e1fe8ff88eb.tar.gz
SERVER-27011 SyncSourceResolver::startup() should return ShutdownInProgress if shutting down
Diffstat (limited to 'src/mongo/db/repl/sync_source_resolver_test.cpp')
-rw-r--r--src/mongo/db/repl/sync_source_resolver_test.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mongo/db/repl/sync_source_resolver_test.cpp b/src/mongo/db/repl/sync_source_resolver_test.cpp
index 5e54a6e367f..4e94057031d 100644
--- a/src/mongo/db/repl/sync_source_resolver_test.cpp
+++ b/src/mongo/db/repl/sync_source_resolver_test.cpp
@@ -240,6 +240,15 @@ TEST_F(SyncSourceResolverTest, StartupReturnsIllegalOperationIfAlreadyActive) {
ASSERT_TRUE(_resolver->isActive());
}
+TEST_F(SyncSourceResolverTest, StartupReturnsShutdownInProgressIfResolverIsShuttingDown) {
+ _selector->syncSource = HostAndPort("node1", 12345);
+ ASSERT_OK(_resolver->startup());
+ ASSERT_TRUE(executor::NetworkInterfaceMock::InNetworkGuard(getNet())->hasReadyRequests());
+ _resolver->shutdown();
+ ASSERT_EQUALS(ErrorCodes::ShutdownInProgress, _resolver->startup());
+ ASSERT_TRUE(_resolver->isActive());
+}
+
TEST_F(SyncSourceResolverTest, StartupReturnsShutdownInProgressIfExecutorIsShutdown) {
ASSERT_FALSE(_resolver->isActive());
getExecutor().shutdown();
@@ -258,7 +267,7 @@ TEST_F(SyncSourceResolverTest,
ASSERT_EQUALS(lastOpTimeFetched.getTimestamp(), _selector->lastTimestampFetched);
// Cannot restart a completed resolver.
- ASSERT_EQUALS(ErrorCodes::IllegalOperation, _resolver->startup());
+ ASSERT_EQUALS(ErrorCodes::ShutdownInProgress, _resolver->startup());
}
TEST_F(