Files
vscode-extension-samples/helloworld-test-sample/test/complexTestRunner.ts

41 lines
867 B
TypeScript
Raw Normal View History

import * as path from 'path';
2019-05-22 18:57:41 -07:00
import * as Mocha from 'mocha';
2019-05-22 18:57:41 -07:00
export function run(testsRoot: string, cb: (error: any, failures?: number) => void): void {
let mocha = new Mocha({
2019-05-23 16:00:20 -07:00
ui: 'tdd'
2019-05-22 18:57:41 -07:00
});
2019-05-23 16:00:20 -07:00
mocha.reporter('spec');
mocha.useColors(true);
2019-05-22 18:57:41 -07:00
const files = [path.resolve(__dirname, '../../out/test/suite/extension.test.js')];
files.forEach(f => mocha.addFile(f));
try {
let stdOutMessages = '';
const processStdoutWrite = process.stdout.write;
process.stdout.write = (message: string | Buffer) => {
if (typeof message !== 'string') {
message = message.toString();
}
stdOutMessages += message;
return true;
};
2019-05-23 16:00:20 -07:00
mocha
.run(failures => {
cb(null, failures);
})
.on('test end', () => {
process.stdout.write = processStdoutWrite;
console.log('\n' + stdOutMessages + '\n');
});
2019-05-22 18:57:41 -07:00
} catch (err) {
cb(err);
}
2019-05-22 18:57:41 -07:00
}