summaryrefslogtreecommitdiff
path: root/jstests/libs
diff options
context:
space:
mode:
authorHenrik Edin <henrik.edin@mongodb.com>2021-09-20 17:34:07 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-09-20 18:29:44 +0000
commitebc5f8d832fa3a144370a2775a46191512393831 (patch)
tree5c8a8ce8049978356b977bb13ed6701b39b2b35c /jstests/libs
parent3bbb991bbd6ae3befc3bb3ed327ed2554f2f4d04 (diff)
downloadmongo-ebc5f8d832fa3a144370a2775a46191512393831.tar.gz
SERVER-60058 Add helper library to check for feature flags in jstests
Diffstat (limited to 'jstests/libs')
-rw-r--r--jstests/libs/feature_flag_util.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/jstests/libs/feature_flag_util.js b/jstests/libs/feature_flag_util.js
new file mode 100644
index 00000000000..6f4db466650
--- /dev/null
+++ b/jstests/libs/feature_flag_util.js
@@ -0,0 +1,19 @@
+/**
+ * Utilities for feature flags.
+ */
+var FeatureFlagUtil = class {
+ /**
+ * Returns true if feature flag is enabled, false otherwise.
+ */
+ static isEnabled(db, featureFlag) {
+ return eval(
+ `const admin = db.getSiblingDB("admin");
+ const flagDoc = admin.runCommand({getParameter: 1, featureFlag${featureFlag}: 1});
+ const fcvDoc = admin.runCommand({getParameter: 1, featureCompatibilityVersion: 1});
+ flagDoc.hasOwnProperty("featureFlag${featureFlag}") &&
+ flagDoc.featureFlag${featureFlag}.value &&
+ MongoRunner.compareBinVersions(fcvDoc.featureCompatibilityVersion.version,
+ flagDoc.featureFlag${featureFlag}.fcv) >= 0;`
+ );
+ }
+};