package Ġf tl . cli . firebase . test . ios Ċ Ċ import Ġfl ank . common . log Ln Ċ import Ġf tl . args . I os Args Ċ import Ġf tl . args . setup LogLevel Ċ import Ġf tl . args . validate Ċ import Ġf tl . cli . firebase . test . Common Run Command Ċ import Ġf tl . config . F tl Constants Ċ import Ġf tl . config . empty I os Config Ċ import Ġf tl . mock . Mock Server Ċ import Ġf tl . run . IOS _ SH ARD _ FILE Ċ import Ġf tl . run . dump Shards Ċ import Ġf tl . run . new Test Run Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġpic oc li . CommandLine Ċ import Ġpic oc li . CommandLine . Command Ċ import Ġpic oc li . CommandLine . Option Ċ import Ġjava . nio . file . Paths Ċ Ċ @ Command ( ĊĠĠĠ Ġname Ġ= Ġ" run ", ĊĠĠĠ Ġsort Options Ġ= Ġfalse , ĊĠĠĠ Ġheader Heading Ġ= Ġ"", ĊĠĠĠ Ġsyn opsis Heading Ġ= Ġ"% n ", ĊĠĠĠ Ġdescription Heading Ġ= Ġ"% n @ | bold , underline ĠDescription :| @% n % n ", ĊĠĠĠ Ġparameter List Heading Ġ= Ġ"% n @ | bold , underline ĠParameters :| @% n ", ĊĠĠĠ Ġoption List Heading Ġ= Ġ"% n @ | bold , underline ĠOptions :| @% n ", ĊĠĠĠ Ġheader Ġ= Ġ[" Run Ġtests Ġon ĠFirebase ĠTest ĠLab "], ĊĠĠĠ Ġdescription Ġ= Ġ[ ĊĠĠĠĠĠĠĠ Ġ""" Upload s Ġthe Ġapp Ġand Ġtests Ġto ĠG CS . Ċ Runs Ġthe ĠX CT ests Ġand ĠX CU IT ests . Ċ Configuration Ġis Ġread Ġfrom Ġfl ank . yml Ċ """ ĊĠĠĠ Ġ], ĊĠĠĠ Ġusage Help Auto Width Ġ= Ġtrue Ċ ) Ċ class ĠI os Run Command Ġ: ĠCommon Run Command (), ĠRunnable Ġ{ ĊĊĠĠĠ Ġ@ CommandLine . Mixin ĊĠĠĠ Ġoverride Ġval Ġconfig Ġ= Ġempty I os Config () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig Path Ġ= ĠF tl Constants . default I os Config ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( dry Run ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMock Server . start () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠI os Args . load ( Paths . get ( config Path ), Ġcli Ġ= Ġthis ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup LogLevel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Ln ( this ) ĊĠĠĠĠĠĠĠ Ġ}. validate (). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dump Shards ) Ġdump Shards () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġrun Blocking Ġ{ Ġnew Test Run () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Option ( ĊĠĠĠĠĠĠĠ Ġnames Ġ= Ġ[" -- dump - shards "], ĊĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ[" Measures Ġtest Ġsh ards Ġfrom Ġgiven Ġtest Ġap ks Ġand Ġwrites Ġthem Ġinto Ġ$ IOS _ SH ARD _ FILE Ġfile Ġinstead Ġof Ġexecuting ."] ĊĠĠĠ Ġ) ĊĠĠĠ Ġvar Ġdump Shards : ĠBoolean Ġ= Ġfalse Ċ } Ċ