Spaces:
Sleeping
Sleeping
# In use mode | |
# In forward mode | |
# Wrapper in wrapper | |
import pytest | |
from ding.framework import task | |
from ding.framework.wrapper import StepTimer | |
def test_step_timer(): | |
def step1(_): | |
1 | |
def step2(_): | |
2 | |
def step3(_): | |
3 | |
def step4(_): | |
4 | |
step_timer = StepTimer() | |
with task.start(async_mode=True): | |
task.use_wrapper(step_timer) | |
task.use(step1) | |
task.use(step2) | |
task.use(task.serial(step3, step4)) | |
assert len(task._middleware) == 3 | |
task.run(3) | |
assert len(step_timer.records) == 3 | |
for records in step_timer.records.values(): | |
assert len(records) == 3 | |
# Wrapper in wrapper | |
step_timer1 = StepTimer() | |
step_timer2 = StepTimer() | |
with task.start(): | |
task.use_wrapper(step_timer1) | |
task.use_wrapper(step_timer2) | |
task.use(step1) | |
task.use(step2) | |
assert len(task._middleware) == 2 | |
task.run(3) | |
for records in step_timer1.records.values(): | |
assert len(records) == 3 | |
for records in step_timer2.records.values(): | |
assert len(records) == 3 | |