/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . android . tools . idea . test artifacts . instrument ed . tests uite . api Ċ Ċ import Ġcom . android . tools . idea . test artifacts . instrument ed . tests uite . model . Android Device Ċ import Ġcom . android . tools . idea . test artifacts . instrument ed . tests uite . model . Android TestCase Result Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠAn Ġinterface Ġto Ġaccess Ġto Ġinstrument ation Ġtest Ġresults Ġof Ġa Ġsingle Ġtest Ġcase Ġexecuted Ċ Ġ* Ġon Ġmultiple Ġdevices . Ċ Ġ*/ Ċ interface ĠAndroid Test Results Ġ{ ĊĠ Ġ/** ĊĠĠ Ġ* ĠA Ġname Ġof Ġthe Ġtest Ġmethod . ĊĠĠ Ġ*/ ĊĠ Ġval ĠmethodName : ĠString ĊĠ Ġ/** ĊĠĠ Ġ* ĠA Ġname Ġof Ġthe Ġtest Ġclass ĊĠĠ Ġ*/ ĊĠ Ġval ĠclassName : ĠString ĊĠ Ġ/** ĊĠĠ Ġ* ĠA Ġpackage Ġname Ġof Ġthe Ġtested ĠAPP . ĊĠĠ Ġ*/ ĊĠ Ġval ĠpackageName : ĠString ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġthe Ġtest Ġcase Ġresult Ġof Ġa Ġgiven Ġdevice . ĠNull Ġif Ġthe Ġtest Ġis Ġnot Ġexecuted Ġon Ġa Ġgiven Ġdevice . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget TestCase Result ( device : ĠAndroid Device ): ĠAndroid TestCase Result ? ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġthe Ġaggregated Ġtest Ġresult . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget TestResult Summary (): ĠAndroid TestCase Result ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġthe Ġlog cat Ġmessage Ġemitted Ġduring Ġthe Ġtest Ġon Ġa Ġgiven Ġdevice . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Log cat ( device : ĠAndroid Device ): ĠString ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġan Ġerror Ġstack Ġtrace Ġor Ġempty Ġif Ġa Ġtest Ġpasses . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Error StackTrace ( device : ĠAndroid Device ): ĠString ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġa Ġbenchmark Ġtest Ġresults . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Benchmark ( device : ĠAndroid Device ): ĠString ĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġthe Ġsnapshot Ġartifact Ġfrom ĠAndroid ĠTest ĠRet ention Ġif Ġavailable . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Retention Snapshot ( device : ĠAndroid Device ): ĠFile ? Ċ } Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġname Ġof Ġthe Ġtest Ġcase . Ċ Ġ*/ Ċ fun ĠAndroid Test Results . get TestCase Name (): ĠString Ġ= Ġ"$ className .$ methodName " Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġfully Ġqualified Ġname Ġof Ġthe Ġtest Ġcase . Ċ Ġ*/ Ċ fun ĠAndroid Test Results . getFull TestCase Name (): ĠString Ġ{ ĊĠ Ġreturn Ġif Ġ( packageName . isBlank ()) Ġ{ ĊĠĠĠ Ġ"$ className .$ methodName " ĊĠ Ġ} Ġelse Ġ{ ĊĠĠĠ Ġ"$ packageName .$ className .$ methodName " ĊĠ Ġ} Ċ } Ċ