Skip to content

Commit f4d3969

Browse files
committed
Better TestClock API
1 parent 269578b commit f4d3969

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

libraries/opensk/src/ctap/mod.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -3367,10 +3367,9 @@ mod test {
33673367
#[test]
33683368
fn test_check_user_presence_timeout() {
33693369
let mut env = TestEnv::default();
3370-
let now_ms = env.clock().access();
3370+
let clock = env.clock().clone();
33713371
env.user_presence().set(move || {
3372-
let mut locked_now_ms = now_ms.lock().unwrap();
3373-
*locked_now_ms += 100;
3372+
clock.advance(100);
33743373
Err(UserPresenceError::Timeout)
33753374
});
33763375
let response = check_user_presence(&mut env, DUMMY_CHANNEL);

libraries/opensk/src/env/test/mod.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -48,20 +48,20 @@ pub struct TestTimer {
4848
end_ms: usize,
4949
}
5050

51-
#[derive(Debug, Default)]
51+
#[derive(Clone, Debug, Default)]
5252
pub struct TestClock {
5353
/// The current time, as advanced, in milliseconds.
5454
now_ms: Arc<Mutex<usize>>,
5555
}
5656

5757
impl TestClock {
58-
pub fn advance(&mut self, milliseconds: usize) {
59-
let mut locked_now_ms = self.now_ms.lock().unwrap();
60-
*locked_now_ms += milliseconds;
58+
pub fn now(&self) -> usize {
59+
*self.now_ms.lock().unwrap()
6160
}
6261

63-
pub fn access(&self) -> Arc<Mutex<usize>> {
64-
self.now_ms.clone()
62+
pub fn advance(&self, milliseconds: usize) {
63+
let mut locked_now_ms = self.now_ms.lock().unwrap();
64+
*locked_now_ms += milliseconds;
6565
}
6666
}
6767

@@ -70,18 +70,18 @@ impl Clock for TestClock {
7070

7171
fn make_timer(&mut self, milliseconds: usize) -> Self::Timer {
7272
TestTimer {
73-
end_ms: *self.now_ms.lock().unwrap() + milliseconds,
73+
end_ms: self.now() + milliseconds,
7474
}
7575
}
7676

7777
fn is_elapsed(&mut self, timer: &Self::Timer) -> bool {
78-
*self.now_ms.lock().unwrap() >= timer.end_ms
78+
self.now() >= timer.end_ms
7979
}
8080

8181
#[cfg(feature = "debug_ctap")]
8282
fn timestamp_us(&mut self) -> usize {
8383
// Unused, but let's implement something because it's easy.
84-
*self.now_ms.lock().unwrap() * 1000
84+
self.now() * 1000
8585
}
8686
}
8787

0 commit comments

Comments
 (0)