aboutsummaryrefslogtreecommitdiff
path: root/editors/code/tests
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code/tests')
-rw-r--r--editors/code/tests/runTests.ts73
-rw-r--r--editors/code/tests/unit/index.ts10
2 files changed, 40 insertions, 43 deletions
diff --git a/editors/code/tests/runTests.ts b/editors/code/tests/runTests.ts
index 81600f6a8..22df80ad3 100644
--- a/editors/code/tests/runTests.ts
+++ b/editors/code/tests/runTests.ts
@@ -4,43 +4,40 @@ import * as fs from 'fs';
4import { runTests } from 'vscode-test'; 4import { runTests } from 'vscode-test';
5 5
6async function main() { 6async function main() {
7 try { 7 // The folder containing the Extension Manifest package.json
8 // The folder containing the Extension Manifest package.json 8 // Passed to `--extensionDevelopmentPath`
9 // Passed to `--extensionDevelopmentPath` 9 const extensionDevelopmentPath = path.resolve(__dirname, '../../');
10 const extensionDevelopmentPath = path.resolve(__dirname, '../../'); 10
11 11 // Minimum supported version.
12 // Minimum supported version. 12 const jsonData = fs.readFileSync(path.join(extensionDevelopmentPath, 'package.json'));
13 const jsonData = fs.readFileSync(path.join(extensionDevelopmentPath, 'package.json')); 13 const json = JSON.parse(jsonData.toString());
14 const json = JSON.parse(jsonData.toString()); 14 let minimalVersion: string = json.engines.vscode;
15 let minimalVersion: string = json.engines.vscode; 15 if (minimalVersion.startsWith('^')) minimalVersion = minimalVersion.slice(1);
16 if (minimalVersion.startsWith('^')) minimalVersion = minimalVersion.slice(1); 16
17 17 const launchArgs = ["--disable-extensions"];
18 const launchArgs = ["--disable-extensions"]; 18
19 19 // All test suites (either unit tests or integration tests) should be in subfolders.
20 // All test suites (either unit tests or integration tests) should be in subfolders. 20 const extensionTestsPath = path.resolve(__dirname, './unit/index');
21 const extensionTestsPath = path.resolve(__dirname, './unit/index'); 21
22 22 // Run tests using the minimal supported version.
23 // Run tests using the minimal supported version. 23 await runTests({
24 await runTests({ 24 version: minimalVersion,
25 version: minimalVersion, 25 launchArgs,
26 launchArgs, 26 extensionDevelopmentPath,
27 extensionDevelopmentPath, 27 extensionTestsPath
28 extensionTestsPath 28 });
29 }); 29
30 30 // and the latest one
31 // and the latest one 31 await runTests({
32 await runTests({ 32 version: 'stable',
33 version: 'stable', 33 launchArgs,
34 launchArgs, 34 extensionDevelopmentPath,
35 extensionDevelopmentPath, 35 extensionTestsPath
36 extensionTestsPath 36 });
37 });
38
39 } catch (err) {
40 // eslint-disable-next-line no-console
41 console.error('Failed to run tests', err);
42 process.exit(1);
43 }
44} 37}
45 38
46main(); 39main().catch(err => {
40 // eslint-disable-next-line no-console
41 console.error('Failed to run tests', err);
42 process.exit(1);
43});
diff --git a/editors/code/tests/unit/index.ts b/editors/code/tests/unit/index.ts
index 1deb1c403..5165720b4 100644
--- a/editors/code/tests/unit/index.ts
+++ b/editors/code/tests/unit/index.ts
@@ -11,10 +11,10 @@ export function run(): Promise<void> {
11 11
12 const testsRoot = __dirname; 12 const testsRoot = __dirname;
13 13
14 return new Promise((c, e) => { 14 return new Promise((resolve, reject) => {
15 glob('**/**.test.js', { cwd: testsRoot }, (err, files) => { 15 glob('**/**.test.js', { cwd: testsRoot }, (err, files) => {
16 if (err) { 16 if (err) {
17 return e(err); 17 return reject(err);
18 } 18 }
19 19
20 // Add files to the test suite 20 // Add files to the test suite
@@ -25,13 +25,13 @@ export function run(): Promise<void> {
25 mocha.timeout(100000); 25 mocha.timeout(100000);
26 mocha.run(failures => { 26 mocha.run(failures => {
27 if (failures > 0) { 27 if (failures > 0) {
28 e(new Error(`${failures} tests failed.`)); 28 reject(new Error(`${failures} tests failed.`));
29 } else { 29 } else {
30 c(); 30 resolve();
31 } 31 }
32 }); 32 });
33 } catch (err) { 33 } catch (err) {
34 e(err); 34 reject(err);
35 } 35 }
36 }); 36 });
37 }); 37 });