Classes
provide.testkit.time.classes
¶
Time testing classes for fixtures.
Core classes used by time testing fixtures. Extracted from fixtures.py for better organization and discoverability.
Classes¶
BenchmarkTimer
¶
Timer specifically for benchmarking code.
Initialize benchmark timer.
Source code in provide/testkit/time/classes.py
Attributes¶
Functions¶
assert_faster_than
¶
Assert all measurements were faster than threshold.
Source code in provide/testkit/time/classes.py
measure
¶
Measure execution time of a function.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
func
|
Callable[..., Any]
|
Function to measure |
required |
*args
|
Any
|
Function arguments |
()
|
**kwargs
|
Any
|
Function keyword arguments |
{}
|
Returns:
| Type | Description |
|---|---|
tuple[Any, float]
|
Tuple of (result, duration) |
Source code in provide/testkit/time/classes.py
FrozenTime
¶
Context manager for freezing time at a specific point.
Initialize frozen time context.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
frozen_time
|
datetime | None
|
Time to freeze at (defaults to now) |
None
|
Source code in provide/testkit/time/classes.py
Functions¶
__enter__
¶
Enter frozen time context.
Source code in provide/testkit/time/classes.py
__exit__
¶
tick
¶
Advance the frozen time by the specified seconds.
Source code in provide/testkit/time/classes.py
MockRateLimiter
¶
TimeMachine
¶
Advanced time manipulation class for testing.
Provides methods to: - Freeze time - Speed up/slow down time - Jump to specific times
Initialize the TimeMachine.
Source code in provide/testkit/time/classes.py
Functions¶
cleanup
¶
Clean up all patches and reset state.
Source code in provide/testkit/time/classes.py
freeze
¶
Freeze time at a specific timestamp.
Source code in provide/testkit/time/classes.py
jump
¶
Jump forward or backward in time.
Source code in provide/testkit/time/classes.py
slow_down
¶
speed_up
¶
Timer
¶
Timer for measuring execution time.
Initialize timer.
Source code in provide/testkit/time/classes.py
Functions¶
get_active_time_machines
¶
Get set of currently active TimeMachine instances.
Returns:
| Type | Description |
|---|---|
set[Any]
|
Set of TimeMachine instances that are currently active. |
Note
Thread-safe within a process. pytest-xdist workers are separate processes, so no cross-process synchronization needed.