/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 Ġ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 . sdk lib . integration Ċ Ċ import Ġcom . android . test utils . Ass ume Util Ċ import Ġcom . google . common . collect . Immutable Set Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . Parameterized Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Path Ċ import Ġjava . util . zip . Zip InputStream Ċ Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠS dk CommandLine Tools Pack aging Test ( private Ġval Ġplatform : ĠAndroid Sdk CommandLine Tools Platform ) Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġcheck Pack aging () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentries Ġ= Ġcollect Entries ( platform . zip File ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsuffix Ġ= Ġplatform . binary Suffix ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Non Lib Entries Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tools / bin / ap kan alyzer $ suffix ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tools / bin / av d manager $ suffix ", ĊĉĠĠĠ Ġ// Ġb / 1 3 5 6 8 8 0 4 7 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ" tools / bin / job b $ suffix ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tools / bin / lint $ suffix ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tools / bin / screenshot 2 $ suffix ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tools / bin / sdk manager $ suffix ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tools / NOTICE . txt ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tools / source . properties ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tools / lib / README " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertThat ( entries . filter Ġ{ Ġ!( it . startsWith (" tools / lib /") Ġ&& Ġit . endsWith (". jar ")) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. contains Exactly Elements In ( expected Non Lib Entries ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġsdk Manager S moke Test On Linux () Ġ{ ĊĠĠĠĠĠĠĠ ĠAssume Util . assume Is Linux () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcollect Entries ( zip File : ĠPath ): ĠSet < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠImmutable Set . builder < String >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠZip InputStream ( Files . new InputStream ( zip File ). buffered ()). use Ġ{ Ġzip Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġentry Ġ= Ġzip . next Entry Ġ?: Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( entry . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠĠĠĠĠ Ġ@ get : Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ get : Parameterized . Parameters ĊĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= ĠAndroid Sdk CommandLine Tools Platform . values () ĊĠĠĠ Ġ} Ċ Ċ } Ċ