-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
None
-
ALL
-
-
Server 2.7.1
Some of the jstests specifically test option passing. Most extra mongod flags are removed, but --nopreallocj is not currently handled this way. When running smoke with that flag, these options tests fail because nopreallocj pollutes the options object:
assert: [{ "nopreallocj" : true, "replication" : { "replSet" : "mycmdlinename" } }] != [{ "replication" : { "replSet" : "mycmdlinename" } }] are not equal : undefined Error: [{ "nopreallocj" : true, "replication" : { "replSet" : "mycmdlinename" } }] != [{ "replication" : { "replSet" : "mycmdlinename" } }] are not equal : undefined at Error (<anonymous>) at doassert (src/mongo/shell/assert.js:11:14) at Function.assert.docEq (src/mongo/shell/assert.js:102:5) at testGetCmdLineOpts (D:\data\mci\shell\mongodb-mongo-master\jstests\repl\repl_options.js:26:12) at D:\data\mci\shell\mongodb-mongo-master\jstests\repl\repl_options.js:40:1
A quick audit suggests that these files need to be fixed:
./noPassthrough/profile_options.js
./noPassthrough/network_options.js
./noPassthrough/logging_options.js
./sharding/sharding_options.js
./dur/journaling_options.js
./disk/datafile_options.js
./disk/index_options.js
./core/regex_options.js
./repl/repl_options.js
./auth/auth_options.js
These files tend to have a helper function at the top that removes testing options from the options object. The fix for this would likely just involve updating these helpers--though it might be nice to throw that helper function into libs/, since it's a lot of duplicated code.