From d2ec893edb0717c0180a63b4722e48d9062c0c91 Mon Sep 17 00:00:00 2001 From: tanzhenxin Date: Thu, 2 Apr 2026 10:59:07 +0800 Subject: [PATCH] fix(cron): make cronScheduler test deterministic - Pin jitter to 0 in test to ensure deterministic behavior - Update channel-plugin-example to use local channel-base dependency This ensures the cron scheduler test reliably passes without flaky behavior from random jitter. Co-authored-by: Qwen-Coder --- package-lock.json | 2 +- packages/core/src/services/cronScheduler.test.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 21d05321a..04d7204e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18930,7 +18930,7 @@ "name": "@qwen-code/channel-plugin-example", "version": "0.14.0", "dependencies": { - "@qwen-code/channel-base": "^0.14.0", + "@qwen-code/channel-base": "file:../base", "ws": "^8.18.0" }, "bin": { diff --git a/packages/core/src/services/cronScheduler.test.ts b/packages/core/src/services/cronScheduler.test.ts index 9b1f5e9d2..4863bbb90 100644 --- a/packages/core/src/services/cronScheduler.test.ts +++ b/packages/core/src/services/cronScheduler.test.ts @@ -103,7 +103,8 @@ describe('CronScheduler', () => { const fired: CronJob[] = []; scheduler.start((job) => fired.push(job)); - scheduler.create('30 10 * * *', 'no match', true); + const job = scheduler.create('30 10 * * *', 'no match', true); + job.jitterMs = 0; // pin jitter so the test is deterministic // Tick at 10:31 — should not fire scheduler.tick(new Date(2025, 0, 15, 10, 31, 0));