-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.ts
37 lines (34 loc) · 983 Bytes
/
main.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
* SPDX-FileCopyrightText: Copyright 2023 Roland Csaszar
* SPDX-License-Identifier: MIT
*
* Project: vscode-scheme-repl
* File: main.ts
* Date: 14.May.2023
*
* ==============================================================================
* The mocha test runner.
*/
import * as Mocha from "mocha";
import * as path from "path";
import { glob } from "glob";
/**
* The actual Mocha test runner.
*/
export async function run(): Promise<void> {
const mocha = new Mocha({
ui: "tdd",
});
const testsRoot = path.resolve(__dirname, "..");
const testFiles = await glob("**/**-test.js", { cwd: testsRoot });
testFiles.forEach((f) => mocha.addFile(path.resolve(testsRoot, f)));
return new Promise((resolve, reject) => {
mocha.run((failures) => {
if (failures > 0) {
reject(new Error(`${failures} tests failed.`));
} else {
resolve();
}
});
});
}