// The mongod process should always create a mongod.lock file in the data directory // containing the process ID regardless of the storage engine requested. (function() { // Ensures that mongod.lock exists and returns size of file. function getMongodLockFileSize(dir) { var files = listFiles(dir); for (var i in files) { var file = files[i]; if (!file.isDirectory && file.baseName == 'mongod.lock') { return file.size; } } assert(false, 'mongod.lock not found in data directory ' + dir); } var baseName = "jstests_lock_file"; var dbpath = MongoRunner.dataPath + baseName + '/'; // Test framework will append --storageEngine command line option. var mongod = MongoRunner.runMongod({dbpath: dbpath}); assert.neq(0, getMongodLockFileSize(dbpath), 'mongod.lock should not be empty while server is running'); MongoRunner.stopMongod(mongod); // mongod.lock must be empty after shutting server down. assert.eq( 0, getMongodLockFileSize(dbpath), 'mongod.lock not truncated after shutting server down'); }());