11import { join } from "path" ;
2- import { existsSync , rmSync } from "fs" ;
2+ import { existsSync } from "fs" ;
33import { QlPackGenerator , QueryLanguage } from "../../../src/qlpack-generator" ;
44import { CodeQLCliServer } from "../../../src/cli" ;
55import { isFolderAlreadyInWorkspace } from "../../../src/helpers" ;
66import { workspace } from "vscode" ;
77import { getErrorMessage } from "../../../src/pure/helpers-pure" ;
8+ import * as tmp from "tmp" ;
89
910describe ( "QlPackGenerator" , ( ) => {
1011 let packFolderName : string ;
@@ -14,11 +15,14 @@ describe("QlPackGenerator", () => {
1415 let language : string ;
1516 let generator : QlPackGenerator ;
1617 let packAddSpy : jest . SpyInstance ;
18+ let dir : tmp . DirResult ;
1719
1820 beforeEach ( async ( ) => {
21+ dir = tmp . dirSync ( ) ;
22+
1923 language = "ruby" ;
2024 packFolderName = `test-ql-pack-${ language } ` ;
21- packFolderPath = join ( __dirname , packFolderName ) ;
25+ packFolderPath = join ( dir . name , packFolderName ) ;
2226
2327 qlPackYamlFilePath = join ( packFolderPath , "qlpack.yml" ) ;
2428 exampleQlFilePath = join ( packFolderPath , "example.ql" ) ;
@@ -32,13 +36,13 @@ describe("QlPackGenerator", () => {
3236 packFolderName ,
3337 language as QueryLanguage ,
3438 mockCli ,
35- __dirname ,
39+ dir . name ,
3640 ) ;
3741 } ) ;
3842
3943 afterEach ( async ( ) => {
4044 try {
41- rmSync ( packFolderPath , { recursive : true } ) ;
45+ dir . removeCallback ( ) ;
4246
4347 const end = ( workspace . workspaceFolders || [ ] ) . length ;
4448 workspace . updateWorkspaceFolders ( end - 1 , 1 ) ;
0 commit comments