mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 15:38:25 +00:00
Tests: harden flake hotspots and consolidate provider-auth suites (#11598)
* Tests: harden flake hotspots and consolidate provider-auth suites * Tests: restore env vars by deleting missing snapshot values * Tests: use real newline in memory summary filter case * Tests(memory): use fake timers for qmd timeout coverage * Changelog: add tests hardening entry for #11598
This commit is contained in:
committed by
GitHub
parent
a30c4f45c3
commit
e2dea2684f
@@ -25,9 +25,15 @@ function createMockChild(params?: { autoClose?: boolean; closeDelayMs?: number }
|
||||
};
|
||||
if (params?.autoClose !== false) {
|
||||
const delayMs = params?.closeDelayMs ?? 0;
|
||||
setTimeout(() => {
|
||||
child.emit("close", 0);
|
||||
}, delayMs);
|
||||
if (delayMs <= 0) {
|
||||
queueMicrotask(() => {
|
||||
child.emit("close", 0);
|
||||
});
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
child.emit("close", 0);
|
||||
}, delayMs);
|
||||
}
|
||||
}
|
||||
return child;
|
||||
}
|
||||
@@ -73,6 +79,7 @@ describe("QmdMemoryManager", () => {
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
vi.useRealTimers();
|
||||
delete process.env.OPENCLAW_STATE_DIR;
|
||||
await fs.rm(tmpRoot, { recursive: true, force: true });
|
||||
});
|
||||
@@ -218,6 +225,7 @@ describe("QmdMemoryManager", () => {
|
||||
});
|
||||
|
||||
it("times out qmd update during sync when configured", async () => {
|
||||
vi.useFakeTimers();
|
||||
cfg = {
|
||||
...cfg,
|
||||
memory: {
|
||||
@@ -242,14 +250,17 @@ describe("QmdMemoryManager", () => {
|
||||
});
|
||||
|
||||
const resolved = resolveMemoryBackendConfig({ cfg, agentId });
|
||||
const manager = await QmdMemoryManager.create({ cfg, agentId, resolved });
|
||||
const createPromise = QmdMemoryManager.create({ cfg, agentId, resolved });
|
||||
await vi.advanceTimersByTimeAsync(0);
|
||||
const manager = await createPromise;
|
||||
expect(manager).toBeTruthy();
|
||||
if (!manager) {
|
||||
throw new Error("manager missing");
|
||||
}
|
||||
await expect(manager.sync({ reason: "manual" })).rejects.toThrow(
|
||||
"qmd update timed out after 20ms",
|
||||
);
|
||||
const syncPromise = manager.sync({ reason: "manual" });
|
||||
const rejected = expect(syncPromise).rejects.toThrow("qmd update timed out after 20ms");
|
||||
await vi.advanceTimersByTimeAsync(20);
|
||||
await rejected;
|
||||
await manager.close();
|
||||
});
|
||||
|
||||
@@ -378,6 +389,7 @@ describe("QmdMemoryManager", () => {
|
||||
});
|
||||
|
||||
it("logs and continues when qmd embed times out", async () => {
|
||||
vi.useFakeTimers();
|
||||
cfg = {
|
||||
...cfg,
|
||||
memory: {
|
||||
@@ -402,12 +414,17 @@ describe("QmdMemoryManager", () => {
|
||||
});
|
||||
|
||||
const resolved = resolveMemoryBackendConfig({ cfg, agentId });
|
||||
const manager = await QmdMemoryManager.create({ cfg, agentId, resolved });
|
||||
const createPromise = QmdMemoryManager.create({ cfg, agentId, resolved });
|
||||
await vi.advanceTimersByTimeAsync(0);
|
||||
const manager = await createPromise;
|
||||
expect(manager).toBeTruthy();
|
||||
if (!manager) {
|
||||
throw new Error("manager missing");
|
||||
}
|
||||
await expect(manager.sync({ reason: "manual" })).resolves.toBeUndefined();
|
||||
const syncPromise = manager.sync({ reason: "manual" });
|
||||
const resolvedSync = expect(syncPromise).resolves.toBeUndefined();
|
||||
await vi.advanceTimersByTimeAsync(20);
|
||||
await resolvedSync;
|
||||
await manager.close();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user