Files
mongo/jstests/replsets/rollbacktest_unittest.js
Zac 591928c619 SERVER-108478 JS formatted by prettier and remove clang-format (#39656)
GitOrigin-RevId: 6c8f6aded47f260aa4f7c231b17dae3302cb1e04
2025-08-21 17:27:09 +00:00

35 lines
1.1 KiB
JavaScript

/**
* Test of the RollbackTest helper library.
*/
import {RollbackTest} from "jstests/replsets/libs/rollback_test.js";
let checkDataConsistencyCallCount = 0;
let stopSetCallCount = 0;
const rollbackTest = new RollbackTest("rollbacktest_unittest");
rollbackTest._checkDataConsistencyImpl = function () {
++checkDataConsistencyCallCount;
};
const rst = rollbackTest.getTestFixture();
rst.stopSet = function (signal, forRestart, opts) {
// Unconditionally skip in rst.stopSet because rbt.stop does its own validation.
assert.eq(opts, {"skipCheckDBHashes": true, "skipValidation": true});
++stopSetCallCount;
// We don't care about doing the regular stopSet actions.
for (let i = rst.nodeList().length - 1; i >= 0; --i) {
rst.stop(i);
}
};
rollbackTest.transitionToRollbackOperations();
rollbackTest.transitionToSyncSourceOperationsBeforeRollback();
rollbackTest.transitionToSyncSourceOperationsDuringRollback();
rollbackTest.transitionToSteadyStateOperations();
rollbackTest.stop();
assert.eq(checkDataConsistencyCallCount, 1);
assert.eq(stopSetCallCount, 1);