Archived
1
0

Run each e2e test in a new workspace

The workspaces also have settings to prevent the welcome page from
appearing.
This commit is contained in:
Asher
2021-06-22 16:34:11 -05:00
parent 4a47ce774d
commit ba0364a522
5 changed files with 52 additions and 26 deletions

View File

@ -1,4 +1,4 @@
import * as fs from "fs"
import { promises as fs } from "fs"
import * as os from "os"
import * as path from "path"
@ -20,13 +20,20 @@ export function createLoggerMock() {
}
/**
* Create a uniquely named temporary directory.
*
* These directories are placed under a single temporary code-server directory.
* Clean up directories left by a test. It is recommended to do this when a test
* starts to avoid potentially accumulating infinite test directories.
*/
export async function clean(testName: string): Promise<void> {
const dir = path.join(os.tmpdir(), `code-server/tests/${testName}`)
await fs.rm(dir, { recursive: true })
}
/**
* Create a uniquely named temporary directory for a test.
*/
export async function tmpdir(testName: string): Promise<string> {
const dir = path.join(os.tmpdir(), "code-server/tests")
await fs.promises.mkdir(dir, { recursive: true })
const dir = path.join(os.tmpdir(), `code-server/tests/${testName}`)
await fs.mkdir(dir, { recursive: true })
return await fs.promises.mkdtemp(path.join(dir, `${testName}-`), { encoding: "utf8" })
return await fs.mkdtemp(path.join(dir, `${testName}-`), { encoding: "utf8" })
}