mirror of
https://github.com/outbackdingo/optimclaw.git
synced 2026-09-03 01:59:23 +00:00
* fix: use checked_sub to prevent Instant duration overflow on Windows (#657) On Windows, Instant starts from system boot time. Subtracting a duration longer than uptime (e.g., 1 hour on a freshly booted system) panics with "overflow when subtracting duration from instant", crashing the tokio worker thread. Replace `Instant::now() - Duration` with `Instant::now().checked_sub()` in cost_guard.rs (production), server.rs and session.rs (tests). Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: use expect() instead of unwrap_or() in test code Address PR review: unwrap_or(Instant::now()) silently breaks test semantics when checked_sub returns None. Using expect() ensures tests fail explicitly with a clear message about insufficient system uptime. [skip-regression-check] Co-Authored-By: Claude Opus 4.6 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
9851f2a6ae
commit
b6cf2a6b73
@@ -204,7 +204,9 @@ mod tests {
|
||||
assert!(!session.is_stale(1800));
|
||||
|
||||
// Manually set last_activity to the past to simulate staleness
|
||||
session.last_activity = std::time::Instant::now() - std::time::Duration::from_secs(10);
|
||||
session.last_activity = std::time::Instant::now()
|
||||
.checked_sub(std::time::Duration::from_secs(10))
|
||||
.expect("System uptime is too low to run staleness test");
|
||||
assert!(session.is_stale(5));
|
||||
assert!(!session.is_stale(15));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user