@@ -77,38 +77,30 @@ test('cache folder fallback', async () => {
77
77
const cwd = await makeTemp ( ) ;
78
78
const cacheFolder = path . join ( cwd , '.cache' ) ;
79
79
80
- await fs . mkdirp ( cacheFolder ) ;
81
-
82
80
const command = path . resolve ( __dirname , '../bin/yarn' ) ;
83
81
const args = [ '--preferred-cache-folder' , cacheFolder ] ;
84
82
85
83
const options = { cwd} ;
86
84
87
- {
85
+ function runCacheDir ( ) : Promise < Array < Buffer >> {
88
86
const { stderr, stdout} = execa ( command , [ 'cache' , 'dir' ] . concat ( args ) , options ) ;
89
87
90
88
const stdoutPromise = misc . consumeStream ( stdout ) ;
91
89
const stderrPromise = misc . consumeStream ( stderr ) ;
92
90
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 ] ) ;
97
92
}
98
93
99
- await fs . chmod ( cacheFolder , 0o000 ) ;
94
+ const [ stdoutOutput , stderrOutput ] = await runCacheDir ( ) ;
100
95
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 / ) ;
103
98
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` ) ;
106
101
107
- const [ stdoutOutput , stderrOutput ] = await Promise . all ( [ stdoutPromise , stderrPromise ] ) ;
102
+ const [ stdoutOutput2 , stderrOutput2 ] = await runCacheDir ( ) ;
108
103
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 / ) ;
114
106
} ) ;
0 commit comments