package Ġcom . av ito . runner . final izer . action Ċ Ċ import Ġcom . av ito . report . Report Links Generator Ċ import Ġcom . av ito . report . model . Test Static Data Ċ import Ġcom . av ito . runner . final izer . ver dict . Instrumentation Tests Task Ver dict Ċ import Ġcom . av ito . runner . final izer . ver dict . Ver dict Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġjava . io . File Ċ Ċ internal Ġclass ĠWrite Task Ver dict Action ( ĊĠĠĠ Ġprivate Ġval Ġver dict Destination : ĠFile , ĊĠĠĠ Ġprivate Ġval Ġreport Links Generator : ĠReport Links Generator , Ċ ) Ġ: ĠFinal ize Action Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġgson : ĠGson Ġ= ĠGson Builder (). set Pretty Print ing (). create () ĊĊĠĠĠ Ġoverride Ġfun Ġaction ( ver dict : ĠVer dict ) Ġ{ ĊĠĠĠĠĠĠĠ Ġver dict Destination . write Text ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgson . toJson ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInstrument ation Tests Task Ver dict ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġver dict . message (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport Url Ġ= Ġreport Links Generator . generate Report Link ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Only Failures Ġ= Ġver dict Ġis ĠVer dict . Failure ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproblem Tests Ġ= Ġver dict . get Problem Tests () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠVer dict . message (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠVer dict . Success . OK Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" OK . ĠNo Ġfailed Ġtests " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠVer dict . Success . Sup pressed Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" OK . ĠFailed Ġtests Ġwere Ġsupp ressed " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠVer dict . Failure Ġ-> Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Line (" Test Ġsuite Ġfailed . ĠPro blems :") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Line () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( not Reported Tests . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Line (" Ġ- ĠNot Ġreported Ġtests : Ġ${ not Reported Tests . size } Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( un sup pressed Failed Tests . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Line (" Ġ- ĠNot Ġsupp ressed Ġfailed Ġtests : Ġ${ un sup pressed Failed Tests . size } Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠVer dict . get Problem Tests (): ĠSet < Instrumentation Tests Task Ver dict . Test > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠVer dict . Success Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty Set () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠVer dict . Failure Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġun sup pressed Failed Tests . map Ġ{ Ġtest Ġ-> Ġtest . to Task Ver dict Test (" FAILED ") Ġ}. toSet () Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnot Reported Tests . map Ġ{ Ġtest Ġ-> Ġtest . to Task Ver dict Test (" NOT ĠREPORT ED ") Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠTest Static Data . to Task Ver dict Test ( prefix : ĠString ): ĠInstrument ation Tests Task Ver dict . Test Ġ= ĊĠĠĠĠĠĠĠ ĠInstrument ation Tests Task Ver dict . Test ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Url Ġ= Ġreport Links Generator . generate Test Link ( name ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ"$ name Ġ$ device Ġ$ prefix " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġcompanion Ġobject Ċ } Ċ