]> git.lizzy.rs Git - rust.git/blob - editors/code/tests/runTests.ts
Auto merge of #13647 - nyz93:fix/tuple-to-named-struct, r=Veykril
[rust.git] / editors / code / tests / runTests.ts
1 import * as path from "path";
2 import * as fs from "fs";
3
4 import { runTests } from "@vscode/test-electron";
5
6 async function main() {
7     // The folder containing the Extension Manifest package.json
8     // Passed to `--extensionDevelopmentPath`
9     const extensionDevelopmentPath = path.resolve(__dirname, "../../");
10
11     // Minimum supported version.
12     const jsonData = fs.readFileSync(path.join(extensionDevelopmentPath, "package.json"));
13     const json = JSON.parse(jsonData.toString());
14     let minimalVersion: string = json.engines.vscode;
15     if (minimalVersion.startsWith("^")) minimalVersion = minimalVersion.slice(1);
16
17     const launchArgs = ["--disable-extensions", extensionDevelopmentPath];
18
19     // All test suites (either unit tests or integration tests) should be in subfolders.
20     const extensionTestsPath = path.resolve(__dirname, "./unit/index");
21
22     // Run tests using the minimal supported version.
23     await runTests({
24         version: minimalVersion,
25         launchArgs,
26         extensionDevelopmentPath,
27         extensionTestsPath,
28     });
29
30     // and the latest one
31     await runTests({
32         version: "stable",
33         launchArgs,
34         extensionDevelopmentPath,
35         extensionTestsPath,
36     });
37 }
38
39 main().catch((err) => {
40     // eslint-disable-next-line no-console
41     console.error("Failed to run tests", err);
42     process.exit(1);
43 });