diff options
author | Sara Golemon <sara.golemon@mongodb.com> | 2022-09-09 12:03:07 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-09-27 03:13:12 +0000 |
commit | 2cfc78ff27a7ed95e7632f7749f8d09383be308b (patch) | |
tree | c984bd2dc8a5b3fd3a9c12cf82f9802b3510fb1e /buildscripts/idl/idl/generator.py | |
parent | b7025a4b61e658d1d07c56e057fcc13e792d6fb4 (diff) | |
download | mongo-2cfc78ff27a7ed95e7632f7749f8d09383be308b.tar.gz |
SERVER-69060 Guard server parameters on feature flags
Diffstat (limited to 'buildscripts/idl/idl/generator.py')
-rw-r--r-- | buildscripts/idl/idl/generator.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/buildscripts/idl/idl/generator.py b/buildscripts/idl/idl/generator.py index 3cb145c09eb..64c7f504146 100644 --- a/buildscripts/idl/idl/generator.py +++ b/buildscripts/idl/idl/generator.py @@ -2504,6 +2504,15 @@ class _CppSourceFileWriter(_CppFileWriterBase): if param.test_only: self._writer.write_line('scp_%d->setTestOnly();' % (param_no)) + if param.condition and param.condition.feature_flag: + ffs = [sp for sp in params if sp.name == param.condition.feature_flag] + if len(ffs) == 0: + raise ValueError("Unable to find feature flag named %s" % + (param.condition.feature_flag)) + assert len(ffs) == 1 + self._writer.write_line( + 'scp_%d->setFeatureFlag(&%s);' % (param_no, ffs[0].cpp_varname)) + self._gen_server_parameter_deprecated_aliases(param_no, param) self.write_empty_line() |