smoke - unique user data dir for stable tests too

This commit is contained in:
Benjamin Pasero
2021-11-29 09:11:23 +01:00
parent c42793d035
commit cbbba8e69a
3 changed files with 19 additions and 10 deletions

View File

@@ -30,11 +30,11 @@ export async function startApp(args: minimist.ParsedArgs, options: ApplicationOp
options = await optionsTransform({ ...options });
}
// https://github.com/microsoft/vscode/issues/34988
const userDataPathSuffix = [...Array(8)].map(() => Math.random().toString(36)[3]).join('');
const userDataDir = options.userDataDir.concat(`-${userDataPathSuffix}`);
const app = new Application({
...options,
userDataDir: getRandomUserDataDir(options)
});
const app = new Application({ ...options, userDataDir });
await app.start();
if (args.log) {
@@ -45,6 +45,16 @@ export async function startApp(args: minimist.ParsedArgs, options: ApplicationOp
return app;
}
export function getRandomUserDataDir(options: ApplicationOptions): string {
// Pick a random user data dir suffix that is not
// too long to not run into max path length issues
// https://github.com/microsoft/vscode/issues/34988
const userDataPathSuffix = [...Array(8)].map(() => Math.random().toString(36)[3]).join('');
return options.userDataDir.concat(`-${userDataPathSuffix}`);
}
export function afterSuite(opts: minimist.ParsedArgs, appFn?: () => Application | undefined, joinFn?: () => Promise<unknown>) {
after(async function () {
const app: Application = appFn?.() ?? this.app;