Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Fixed
-
None
-
None
-
ALL
-
-
Server 2.7.1
Description
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.