Skip to content

Commit 1f40454

Browse files
committed
test: scale owner release deadlines on Windows
1 parent 7a4c377 commit 1f40454

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

tests/zcode-client.test.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2035,7 +2035,7 @@ test('owner release cleans sixteen subscriptions concurrently within one shared
20352035
for (let index = 0; index < 16; index += 1) { const sessionId = `budget-session-${index}`; sessions[sessionId] = ownerId; broker.sessionOwners.set(sessionId, { ownerId, socket, claimToken: null }); broker.conversationSubscriptions.set(`budget-${index}`, { socket, topic: `conversation/${sessionId}`, subscriptionId: `budget-sub-${index}`, connectionId: `budget-connection-${index}`, sessionId, ownerId }); }
20362036
await writeFile(`${endpoint}.owners.json`, JSON.stringify({ version: 1, sessions })); broker.ownershipStoreEstablished = true; let unsubscribeCalls = 0; let releaseFirstBatch; let releaseSecondBatch; let markFirstBatchEntered; let markSecondBatchEntered; const firstBatchEntered = new Promise((resolvePromise) => { markFirstBatchEntered = resolvePromise; }); const secondBatchEntered = new Promise((resolvePromise) => { markSecondBatchEntered = resolvePromise; }); const firstBatchGate = new Promise((resolvePromise) => { releaseFirstBatch = resolvePromise; }); const secondBatchGate = new Promise((resolvePromise) => { releaseSecondBatch = resolvePromise; });
20372037
broker.protocol = { request: async (method) => { if (method === 'session/stop') return {}; unsubscribeCalls += 1; const batchGate = unsubscribeCalls <= 8 ? firstBatchGate : secondBatchGate; if (unsubscribeCalls === 8) markFirstBatchEntered(); if (unsubscribeCalls === 16) markSecondBatchEntered(); await batchGate; throw new Error('slow unsubscribe failure'); }, cancelTurn() {} };
2038-
const releasing = broker.releaseOwner(socket, ownerId, []); await firstBatchEntered; assert.equal(unsubscribeCalls, 8, 'the first bounded cleanup batch must enter concurrently'); releaseFirstBatch(); await secondBatchEntered; assert.equal(unsubscribeCalls, 16, 'the second bounded cleanup batch must enter after the first settles'); releaseSecondBatch(); const released = await releasing;
2038+
const releasing = broker.releaseOwner(socket, ownerId, [], Date.now() + scaleTestTimeout(600)); await firstBatchEntered; assert.equal(unsubscribeCalls, 8, 'the first bounded cleanup batch must enter concurrently'); releaseFirstBatch(); await secondBatchEntered; assert.equal(unsubscribeCalls, 16, 'the second bounded cleanup batch must enter after the first settles'); releaseSecondBatch(); const released = await releasing;
20392039
assert.equal(released.releasedSessionIds.length, 16); assert.equal(released.failedSessionIds.length, 0); assert.equal(unsubscribeCalls, 16); assert.equal(broker.orphanedConversationSubscriptions.size, 16);
20402040
await rm(directory, { recursive: true, force: true });
20412041
});
@@ -2062,7 +2062,7 @@ test('an idle owner release keeps its valid stop acknowledgement through malform
20622062
});
20632063

20642064
let releaseSettled = false;
2065-
releasing = broker.releaseOwner(socket, ownerId, []);
2065+
releasing = broker.releaseOwner(socket, ownerId, [], Date.now() + scaleTestTimeout(600));
20662066
void releasing.then(() => { releaseSettled = true; }, () => { releaseSettled = true; });
20672067
await withTestDeadlineKeepalive(() => closeEntered, scaleTestTimeout(2_000));
20682068
assert.equal(releaseSettled, false); assert.equal(closeSettled, false);

0 commit comments

Comments
 (0)