diff options
author | bscan <10503608+bscan@users.noreply.github.com> | 2022-01-17 22:27:13 -0500 |
---|---|---|
committer | bscan <10503608+bscan@users.noreply.github.com> | 2022-01-17 22:27:13 -0500 |
commit | fa03b409a799cd540bc07e2d466cb6cbf790baab (patch) | |
tree | b85dfdd2f76faf33175dc1b9d67194883ed19122 /client/src/test/index.ts | |
parent | 7e7a4e52d485afba9931ea7013cf05bea272b8c7 (diff) | |
download | PerlNavigator-fa03b409a799cd540bc07e2d466cb6cbf790baab.zip |
Initial commit
Diffstat (limited to 'client/src/test/index.ts')
-rw-r--r-- | client/src/test/index.ts | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/client/src/test/index.ts b/client/src/test/index.ts new file mode 100644 index 0000000..b9de4dc --- /dev/null +++ b/client/src/test/index.ts @@ -0,0 +1,43 @@ +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * ------------------------------------------------------------------------------------------ */ +import * as path from 'path'; +import * as Mocha from 'mocha'; +import * as glob from 'glob'; + +export function run(): Promise<void> { + // Create the mocha test + const mocha = new Mocha({ + ui: 'tdd', + color: true + }); + mocha.timeout(100000); + + const testsRoot = __dirname; + + return new Promise((resolve, reject) => { + glob('**.test.js', { cwd: testsRoot }, (err, files) => { + if (err) { + return reject(err); + } + + // Add files to the test suite + files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); + + try { + // Run the mocha test + mocha.run(failures => { + if (failures > 0) { + reject(new Error(`${failures} tests failed.`)); + } else { + resolve(); + } + }); + } catch (err) { + console.error(err); + reject(err); + } + }); + }); +}
\ No newline at end of file |