package Ġio . q ame ta . all ure . kotlin . test Ċ Ċ import Ġio . q ame ta . all ure . kotlin . All ure Ċ import Ġio . q ame ta . all ure . kotlin . All ure Lifecycle Ċ import Ġio . q ame ta . all ure . kotlin . model . TestResult Ċ import Ġio . q ame ta . all ure . kotlin . util . Results Utils . getStatus Ċ import Ġio . q ame ta . all ure . kotlin . util . Results Utils . getStatus Details Ċ import Ġjava . util .* Ċ Ċ object ĠRun Utils Ġ{ ĊĠĠĠ Ġfun Ġrun Within TestContext ( run nable : ĠRunnable ): ĠAll ure Results Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrun Within TestContext ( run nable , Ġ{ ĠAll ure . lifecycle Ġ= Ġit Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġ@ Safe Var args ĊĠĠĠ Ġfun Ġrun Within TestContext ( ĊĠĠĠĠĠĠĠ Ġrunnable : ĠRunnable , ĊĠĠĠĠĠĠĠ Ġvar arg Ġconfigur ers : Ġ( All ure Lifecycle ) Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠAll ure Results Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwriter Ġ= ĠAll ure Results Writer Stub () ĊĠĠĠĠĠĠĠ Ġval Ġlifecycle Ġ= ĠAll ure Lifecycle ( writer ) ĊĠĠĠĠĠĠĠ Ġval Ġuuid Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠTest Result ( uuid ) ĊĠĠĠĠĠĠĠ Ġval Ġcached Ġ= ĠAll ure . lifecycle ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigur ers . forEach Ġ{ Ġit ( lifecycle ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle . schedule TestCase ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle . start TestCase ( uuid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrunnable . run () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle . update TestCase ( uuid ) Ġ{ Ġtest Result : ĠTest Result Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetStatus ( e )?. let Ġ{ Ġtest Result . status Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetStatus Details ( e )?. let Ġ{ Ġtest Result . status Details Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle . stop TestCase ( uuid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle . write TestCase ( uuid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigur ers . forEach Ġ{ Ġit ( cached ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġwriter ĊĠĠĠ Ġ} Ċ Ċ }