mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-09 22:48:57 +02:00
fix(test): ring-buffer lease interplay — same TTL window, not same millisecond
Two back-to-back mintLease() calls each stamp Date.now() + TTL; when they straddle a millisecond boundary the exact-equality assertion flakes (observed in CI: expiries of ...525 vs ...526). Assert the expiries are within a 50 ms window instead — the invariant under test is that leases share a TTL policy, not that they mint in the same clock tick. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
c394e4836a
commit
970d68a704
@@ -148,7 +148,10 @@ describe('lease lifecycle interplay (via pty-session-lease)', () => {
|
||||
const vb = validateLease(b.sessionId);
|
||||
expect(va.ok && vb.ok).toBe(true);
|
||||
if (va.ok && vb.ok) {
|
||||
expect(va.expiresAt).toBe(vb.expiresAt);
|
||||
// Same TTL window, not same millisecond: each mint stamps
|
||||
// Date.now() + TTL, and back-to-back calls can straddle a ms boundary
|
||||
// (observed in CI: ...525 vs ...526). Exact equality is a timing flake.
|
||||
expect(Math.abs(va.expiresAt - vb.expiresAt)).toBeLessThanOrEqual(50);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user