@@ -77,38 +77,30 @@ test('cache folder fallback', async () => {
7777 const cwd = await makeTemp ( ) ;
7878 const cacheFolder = path . join ( cwd , '.cache' ) ;
7979
80- await fs . mkdirp ( cacheFolder ) ;
81-
8280 const command = path . resolve ( __dirname , '../bin/yarn' ) ;
8381 const args = [ '--preferred-cache-folder' , cacheFolder ] ;
8482
8583 const options = { cwd} ;
8684
87- {
85+ function runCacheDir ( ) : Promise < Array < Buffer >> {
8886 const { stderr, stdout} = execa ( command , [ 'cache' , 'dir' ] . concat ( args ) , options ) ;
8987
9088 const stdoutPromise = misc . consumeStream ( stdout ) ;
9189 const stderrPromise = misc . consumeStream ( stderr ) ;
9290
93- const [ stdoutOutput , stderrOutput ] = await Promise . all ( [ stdoutPromise , stderrPromise ] ) ;
94-
95- expect ( stdoutOutput . toString ( ) . trim ( ) ) . toEqual ( path . join ( cacheFolder , `v${ constants . CACHE_VERSION } ` ) ) ;
96- expect ( stderrOutput . toString ( ) ) . not . toMatch ( / S k i p p i n g p r e f e r r e d c a c h e f o l d e r / ) ;
91+ return Promise . all ( [ stdoutPromise , stderrPromise ] ) ;
9792 }
9893
99- await fs . chmod ( cacheFolder , 0o000 ) ;
94+ const [ stdoutOutput , stderrOutput ] = await runCacheDir ( ) ;
10095
101- {
102- const { stderr , stdout } = execa ( command , [ 'cache' , 'dir' ] . concat ( args ) , options ) ;
96+ expect ( stdoutOutput . toString ( ) . trim ( ) ) . toEqual ( path . join ( cacheFolder , `v ${ constants . CACHE_VERSION } ` ) ) ;
97+ expect ( stderrOutput . toString ( ) ) . not . toMatch ( / S k i p p i n g p r e f e r r e d c a c h e f o l d e r / ) ;
10398
104- const stdoutPromise = misc . consumeStream ( stdout ) ;
105- const stderrPromise = misc . consumeStream ( stderr ) ;
99+ await fs . unlink ( cacheFolder ) ;
100+ await fs . writeFile ( cacheFolder , `not a directory` ) ;
106101
107- const [ stdoutOutput , stderrOutput ] = await Promise . all ( [ stdoutPromise , stderrPromise ] ) ;
102+ const [ stdoutOutput2 , stderrOutput2 ] = await runCacheDir ( ) ;
108103
109- expect ( stdoutOutput . toString ( ) . trim ( ) ) . toEqual (
110- path . join ( constants . PREFERRED_MODULE_CACHE_DIRECTORIES [ 0 ] , `v${ constants . CACHE_VERSION } ` ) ,
111- ) ;
112- expect ( stderrOutput . toString ( ) ) . toMatch ( / S k i p p i n g p r e f e r r e d c a c h e f o l d e r / ) ;
113- }
104+ expect ( stdoutOutput2 . toString ( ) . trim ( ) ) . toEqual ( path . join ( constants . PREFERRED_MODULE_CACHE_DIRECTORIES [ 0 ] , `v${ constants . CACHE_VERSION } ` ) ) ;
105+ expect ( stderrOutput2 . toString ( ) ) . toMatch ( / S k i p p i n g p r e f e r r e d c a c h e f o l d e r / ) ;
114106} ) ;
0 commit comments