summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/rollback_test_fixture.h
diff options
context:
space:
mode:
authorAndy Schwerin <schwerin@mongodb.com>2018-06-22 12:00:21 -0400
committerAndy Schwerin <schwerin@mongodb.com>2018-06-22 12:32:29 -0400
commitd520be0814492c262515cf0a5d62a127ace70dce (patch)
treee754e3cce243a7b51922b6d2a179a3d355ccefb7 /src/mongo/db/repl/rollback_test_fixture.h
parentc0b942e3a80b9ccd8434ab0927d97cbd1862d19a (diff)
downloadmongo-d520be0814492c262515cf0a5d62a127ace70dce.tar.gz
SERVER-34798 Remove ServiceContext subclasses and use new ServiceContext in every unit test.
This patch does several loosely related and surprisingly hard to separate things. 1.) Make the ServiceContext class final 2.) Create a mechanism, called ConstructorActions, for running methods on ServiceContexts immediately after they're built and immediately before they're destroyed. 3.) Introduce / improve test fixture base classes for tests, giving them fresh ServiceContext instances for each test case. There is one fixture for tests that need a storage engine and another for those that do not. 4.) Make several remaining global variables SC decorations in support of (3) 5.) Replace many MONGO_INITIALIZERS that access getGlobalServiceContext with the new constructor-actions system, which is needed for (3.) 6.) Fix up tests to use the fixtures from (3) and fix tests that silently used different service contexts in together in a technically illegal fashion that now breaks. 7.) Utilize (2) as necessary to simplify initialization of new ServiceContexts, simplifying the fixtures in (3).
Diffstat (limited to 'src/mongo/db/repl/rollback_test_fixture.h')
-rw-r--r--src/mongo/db/repl/rollback_test_fixture.h14
1 files changed, 1 insertions, 13 deletions
diff --git a/src/mongo/db/repl/rollback_test_fixture.h b/src/mongo/db/repl/rollback_test_fixture.h
index 4f43fb47945..8d31c63564f 100644
--- a/src/mongo/db/repl/rollback_test_fixture.h
+++ b/src/mongo/db/repl/rollback_test_fixture.h
@@ -49,7 +49,7 @@ namespace repl {
* storage layer. The storage engine is initialized as part of the ServiceContextForMongoD test
* fixture.
*/
-class RollbackTest : public unittest::Test {
+class RollbackTest : public ServiceContextMongoDTest {
public:
RollbackTest() = default;
@@ -59,15 +59,6 @@ public:
void setUp() override;
/**
- * Destroys the service context and task executor.
- *
- * Note on overriding tearDown() in tests:
- * This cancels outstanding tasks and remote command requests scheduled using the task
- * executor.
- */
- void tearDown() override;
-
- /**
* Creates a collection with the given namespace and options.
*/
static Collection* _createCollection(OperationContext* opCtx,
@@ -101,9 +92,6 @@ public:
Timestamp ts, OptionalCollectionUUID uuid, StringData nss, BSONObj cmdObj, int recordId);
protected:
- // Test fixture used to manage the service context and global storage engine.
- ServiceContextMongoDTest _serviceContextMongoDTest;
-
// OperationContext provided to test cases for storage layer operations.
ServiceContext::UniqueOperationContext _opCtx;