add test for future with a single non-blocking child

This commit is contained in:
gmega 2023-11-27 09:52:41 -03:00
parent ce1e03aa4e
commit a5fb393ad8
No known key found for this signature in database
GPG Key ID: FFD8DAF00660270F

View File

@ -65,3 +65,27 @@ suite "profiler metrics test suite":
check childMetrics.execTime == 10.milliseconds
check childMetrics.wallClockTime == 10.milliseconds
test "should compute correct times when there is a single non-blocking child":
proc child() {.async.} =
advanceTime(10.milliseconds)
await advanceTimeAsync(50.milliseconds)
advanceTime(10.milliseconds)
proc parent() {.async.} =
advanceTime(10.milliseconds)
await child()
advanceTime(10.milliseconds)
waitFor parent()
var metrics = recordedMetrics()
let parentMetrics = metrics.forProc("parent")
let childMetrics = metrics.forProc("child")
check parentMetrics.execTime == 20.milliseconds
check parentMetrics.childrenExecTime == 20.milliseconds
check parentMetrics.wallClockTime == 90.milliseconds
check childMetrics.execTime == 20.milliseconds
check childMetrics.wallClockTime == 70.milliseconds