package Ġcom . sh az am . fork . runner . listeners Ċ Ċ import Ġcom . android . dd m lib . test runner . Test Identifier Ċ import Ġcom . android . dd m lib . test runner . TestResult Ċ import Ġcom . android . dd m lib . test runner . Test Run Result Ċ import Ġcom . sh az am . fork . model . Device Ċ import Ġcom . sh az am . fork . model . Pool Ċ import Ġcom . sh az am . fork . stat . Test Execution Ċ import Ġcom . sh az am . fork . stat . Test Execution Reporter Ċ import Ġcom . sh az am . fork . stat . to Test Execution Status Ċ Ċ class ĠTest Execution Listener ( private Ġval Ġpool : ĠPool , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġdevice : ĠDevice , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġexecution Reporter : ĠTest Execution Reporter ) Ġ: ĠNo Op ITest Run Listener () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrun Result Ġ= ĠTest Run Result () ĊĊĠĠĠ Ġoverride Ġfun Ġtest Run Started ( run Name : ĠString , Ġtest Count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Run Started ( run Name , Ġtest Count ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtest Started ( test : ĠTest Identifier ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Started ( test ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtest Failed ( test : ĠTest Identifier , Ġtrace : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Failed ( test , Ġtrace ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtest Ass umption Failure ( test : ĠTest Identifier , Ġtrace : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Ass umption Failure ( test , Ġtrace ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtest Ignored ( test : ĠTest Identifier ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Ignored ( test ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtest Ended ( test : ĠTest Identifier , Ġtest Metrics : ĠMutable Map < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Ended ( test , Ġtest Metrics ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtest Run Failed ( errorMessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Run Failed ( errorMessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtest Run Stopped ( elapsed Time : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Run Stopped ( elapsed Time ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtest Run Ended ( elapsed Time : ĠLong , Ġrun Metrics : ĠMutable Map < String , ĠString >) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Run Ended ( elapsed Time , Ġrun Metrics ) ĊĠĠĠĠĠĠĠ Ġreport () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreport () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Result . test Results . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Status ( it . key , Ġit . value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġreport Status ( test : ĠTest Identifier , Ġvalue : ĠTest Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġvalue . status . to Test Execution Status () ĊĠĠĠĠĠĠĠ Ġval Ġexecution Ġ= ĠTest Execution ( test , Ġvalue . startTime , Ġvalue . endTime , Ġstatus ) ĊĠĠĠĠĠĠĠ Ġexecution Reporter . add ( pool , Ġdevice , Ġexecution ) ĊĠĠĠ Ġ} Ċ } Ċ