summaryrefslogtreecommitdiff
path: root/src/mongo/db/concurrency/lock_manager_test_help.h
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2017-08-16 13:07:53 -0400
committerBenety Goh <benety@mongodb.com>2017-08-28 16:02:53 -0400
commit95d9bdf1b9250d4beea8182ee907107fc732d216 (patch)
treeaadf47051169af78199f98574ee06e5f9552afcc /src/mongo/db/concurrency/lock_manager_test_help.h
parent78862314349a5daeeff213ce22b2d81105e7e5e8 (diff)
downloadmongo-95d9bdf1b9250d4beea8182ee907107fc732d216.tar.gz
SERVER-30212 moved test RAII class ForceSupportsDocLocking from d_concurrency_test.cpp to lock_manager_test_help.h
Diffstat (limited to 'src/mongo/db/concurrency/lock_manager_test_help.h')
-rw-r--r--src/mongo/db/concurrency/lock_manager_test_help.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mongo/db/concurrency/lock_manager_test_help.h b/src/mongo/db/concurrency/lock_manager_test_help.h
index 79de7dcba50..d7c70515fab 100644
--- a/src/mongo/db/concurrency/lock_manager_test_help.h
+++ b/src/mongo/db/concurrency/lock_manager_test_help.h
@@ -70,4 +70,23 @@ public:
}
};
+/**
+ * A RAII object that temporarily forces setting of the _supportsDocLocking global variable (defined
+ * in db/service_context.cpp and returned by mongo::supportsDocLocking()) for testing purposes.
+ */
+extern bool _supportsDocLocking;
+class ForceSupportsDocLocking {
+public:
+ explicit ForceSupportsDocLocking(bool supported) : _oldSupportsDocLocking(_supportsDocLocking) {
+ _supportsDocLocking = supported;
+ }
+
+ ~ForceSupportsDocLocking() {
+ _supportsDocLocking = _oldSupportsDocLocking;
+ }
+
+private:
+ const bool _oldSupportsDocLocking;
+};
+
} // namespace mongo