package tezt
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=81f699e653ce9fd71e11d3704638c98d
sha512=30fd97f8b2c5e1282d89c1c5dee3530d4e10e8c3a95abd281e8ecb8b2ee3c367eacb8e663ef445af2fdb0aa2d697d39d6284950b1bda35761c6a3b59e3f264b6
doc/tezt.core/Tezt_core/Background/index.html
Module Tezt_core.BackgroundSource
Promises to run in the background during tests.
Register a promise that will run in the background.
After a test runs, Test.run waits for all registered promises to finish.
If a registered promise raises an exception which is not Lwt.Canceled, the current test fails immediately, but Test.run still waits for other background promises to finish.
Make sure that the promise you register eventually resolves. If it doesn't, stop (and thus Test.run, which calls stop) will hang forever.
Calls to register when no test is running result in an error.
Allow calls to register until stop is called.
If a promise that is later registered is rejected by an exception which is not Lwt.Canceled, start calls its argument. This may occur several times, including during stop.
Don't call this directly, it is called by Test.run.
Let all registered promises resolve, then stop allowing calls to register.
The promise returned by stop is never rejected except if you cancel it. If you do cancel it, you may have to call stop again though as it is not guaranteed that all background promises have also been canceled. In other words, canceling the promise returned by stop is probably a bad idea.
Calling stop when calls to register are not allowed has no effect, i.e. you can call stop even with no corresponding start.
Don't call this directly, it is called by Test.run.