@@ -124,6 +124,7 @@ suite('Extension Test Suite', () => {
124
124
vscode . window . showInformationMessage ( 'Start all tests.' ) ;
125
125
126
126
suiteSetup ( async ( ) => {
127
+ const tmpdir = path . join ( getWorkspaceRoot ( ) . uri . fsPath , 'tmp' ) ;
127
128
await deleteWorkspaceFiles (
128
129
[ joinUri ( getWorkspaceRoot ( ) . uri , '.vscode' )
129
130
, joinUri ( getWorkspaceRoot ( ) . uri , 'bin' , process . platform === 'win32' ? 'ghcup' : '.ghcup' , 'cache' )
@@ -135,14 +136,16 @@ suite('Extension Test Suite', () => {
135
136
await getHaskellConfig ( ) . update ( 'releasesDownloadStoragePath' , path . normalize ( getWorkspaceFile ( 'bin' ) . fsPath ) ) ;
136
137
await getHaskellConfig ( ) . update ( 'serverEnvironment' , {
137
138
XDG_CACHE_HOME : path . normalize ( getWorkspaceFile ( 'cache-test' ) . fsPath ) ,
139
+ TMPDIR : tmpdir
138
140
} ) ;
141
+ fs . mkdirSync ( tmpdir , { recursive : true } ) ;
139
142
const contents = new TextEncoder ( ) . encode ( 'main = putStrLn "hi vscode tests"' ) ;
140
143
await vscode . workspace . fs . writeFile ( getWorkspaceFile ( 'Main.hs' ) , contents ) ;
141
144
142
145
const pred = ( uri : vscode . Uri ) => ! [ 'download' , 'gz' , 'zip' ] . includes ( path . extname ( uri . fsPath ) ) ;
143
146
// Setting up watchers before actual tests start, to ensure we will got the created event
144
- filesCreated . set ( 'wrapper' , existsWorkspaceFile ( `bin/hls -*/haskell-language-server-wrapper*` , pred ) ) ;
145
- filesCreated . set ( 'server' , existsWorkspaceFile ( `bin/hls -*/haskell-language-server-[1-9]*` , pred ) ) ;
147
+ filesCreated . set ( 'wrapper' , existsWorkspaceFile ( `tmp/ghcup -*/haskell-language-server-wrapper*` , pred ) ) ;
148
+ filesCreated . set ( 'server' , existsWorkspaceFile ( `tmp/ghcup -*/haskell-language-server-[1-9]*` , pred ) ) ;
146
149
filesCreated . set ( 'log' , existsWorkspaceFile ( 'hls.log' ) ) ;
147
150
filesCreated . set ( 'cache' , existsWorkspaceFile ( 'cache-test' ) ) ;
148
151
} ) ;
0 commit comments