mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 19:34:31 +00:00
perf(test): remove timer callbacks in command queue tests
This commit is contained in:
@@ -84,9 +84,12 @@ describe("command queue", () => {
|
|||||||
|
|
||||||
vi.useFakeTimers();
|
vi.useFakeTimers();
|
||||||
try {
|
try {
|
||||||
// First task holds the queue long enough to trigger wait notice.
|
let releaseFirst!: () => void;
|
||||||
|
const blocker = new Promise<void>((resolve) => {
|
||||||
|
releaseFirst = resolve;
|
||||||
|
});
|
||||||
const first = enqueueCommand(async () => {
|
const first = enqueueCommand(async () => {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 8));
|
await blocker;
|
||||||
});
|
});
|
||||||
|
|
||||||
const second = enqueueCommand(async () => {}, {
|
const second = enqueueCommand(async () => {}, {
|
||||||
@@ -97,7 +100,8 @@ describe("command queue", () => {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await vi.advanceTimersByTimeAsync(30);
|
await vi.advanceTimersByTimeAsync(6);
|
||||||
|
releaseFirst();
|
||||||
await Promise.all([first, second]);
|
await Promise.all([first, second]);
|
||||||
|
|
||||||
expect(waited).not.toBeNull();
|
expect(waited).not.toBeNull();
|
||||||
@@ -144,9 +148,9 @@ describe("command queue", () => {
|
|||||||
try {
|
try {
|
||||||
const drainPromise = waitForActiveTasks(5000);
|
const drainPromise = waitForActiveTasks(5000);
|
||||||
|
|
||||||
// Resolve the blocker after a short delay.
|
await vi.advanceTimersByTimeAsync(50);
|
||||||
setTimeout(() => resolve1(), 10);
|
resolve1();
|
||||||
await vi.advanceTimersByTimeAsync(100);
|
await vi.advanceTimersByTimeAsync(50);
|
||||||
|
|
||||||
const { drained } = await drainPromise;
|
const { drained } = await drainPromise;
|
||||||
expect(drained).toBe(true);
|
expect(drained).toBe(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user