Skip to content

Commit 2fb92a5

Browse files
authored
waitThrottleDelayBetweenWorkUnits is flaky, commenting out (microsoft#230464)
1 parent de44f0c commit 2fb92a5

File tree

1 file changed

+37
-36
lines changed

1 file changed

+37
-36
lines changed

src/vs/base/test/common/async.test.ts

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1520,42 +1520,43 @@ suite('Async', () => {
15201520
assert.strictEqual(worked, false);
15211521
});
15221522

1523-
test('waitThrottleDelayBetweenWorkUnits option', async () => {
1524-
const handled: number[] = [];
1525-
let handledCallback: Function;
1526-
let handledPromise = new Promise(resolve => handledCallback = resolve);
1527-
let currentTime = 0;
1528-
1529-
const handler = (units: readonly number[]) => {
1530-
handled.push(...units);
1531-
handledCallback();
1532-
handledPromise = new Promise(resolve => handledCallback = resolve);
1533-
};
1534-
1535-
const worker = store.add(new async.ThrottledWorker<number>({
1536-
maxWorkChunkSize: 5,
1537-
maxBufferedWork: undefined,
1538-
throttleDelay: 5,
1539-
waitThrottleDelayBetweenWorkUnits: true
1540-
}, handler));
1541-
1542-
// Schedule work, it should execute immediately
1543-
currentTime = Date.now();
1544-
let worked = worker.work([1, 2, 3]);
1545-
assert.strictEqual(worked, true);
1546-
assertArrayEquals(handled, [1, 2, 3]);
1547-
assert.strictEqual(Date.now() - currentTime < 5, true);
1548-
1549-
// Schedule work again, it should wait at least throttle delay before executing
1550-
currentTime = Date.now();
1551-
worked = worker.work([4, 5]);
1552-
assert.strictEqual(worked, true);
1553-
// Throttle delay hasn't reset so we still must wait
1554-
assertArrayEquals(handled, [1, 2, 3]);
1555-
await handledPromise;
1556-
assert.strictEqual(Date.now() - currentTime >= 5, true);
1557-
assertArrayEquals(handled, [1, 2, 3, 4, 5]);
1558-
});
1523+
// https://github.com/microsoft/vscode/issues/230366
1524+
// test('waitThrottleDelayBetweenWorkUnits option', async () => {
1525+
// const handled: number[] = [];
1526+
// let handledCallback: Function;
1527+
// let handledPromise = new Promise(resolve => handledCallback = resolve);
1528+
// let currentTime = 0;
1529+
1530+
// const handler = (units: readonly number[]) => {
1531+
// handled.push(...units);
1532+
// handledCallback();
1533+
// handledPromise = new Promise(resolve => handledCallback = resolve);
1534+
// };
1535+
1536+
// const worker = store.add(new async.ThrottledWorker<number>({
1537+
// maxWorkChunkSize: 5,
1538+
// maxBufferedWork: undefined,
1539+
// throttleDelay: 5,
1540+
// waitThrottleDelayBetweenWorkUnits: true
1541+
// }, handler));
1542+
1543+
// // Schedule work, it should execute immediately
1544+
// currentTime = Date.now();
1545+
// let worked = worker.work([1, 2, 3]);
1546+
// assert.strictEqual(worked, true);
1547+
// assertArrayEquals(handled, [1, 2, 3]);
1548+
// assert.strictEqual(Date.now() - currentTime < 5, true);
1549+
1550+
// // Schedule work again, it should wait at least throttle delay before executing
1551+
// currentTime = Date.now();
1552+
// worked = worker.work([4, 5]);
1553+
// assert.strictEqual(worked, true);
1554+
// // Throttle delay hasn't reset so we still must wait
1555+
// assertArrayEquals(handled, [1, 2, 3]);
1556+
// await handledPromise;
1557+
// assert.strictEqual(Date.now() - currentTime >= 5, true);
1558+
// assertArrayEquals(handled, [1, 2, 3, 4, 5]);
1559+
// });
15591560
});
15601561

15611562
suite('LimitedQueue', () => {

0 commit comments

Comments
 (0)