vscode-extension-vscode/lib/testrunner.js

45 строки
1.4 KiB
JavaScript

/*---------------------------------------------------------
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
var paths = require("path");
var glob = require("glob");
// Linux: prevent a weird NPE when mocha on Linux requires the window size from the TTY
// Since we are not running in a tty environment, we just implement the method statically
var tty = require('tty');
if (!tty.getWindowSize) {
tty.getWindowSize = function () { return [80, 75]; };
}
var Mocha = require("mocha");
var mocha = new Mocha({
ui: 'tdd',
useColors: true
});
function configure(opts) {
mocha = new Mocha(opts);
}
exports.configure = configure;
function run(testsRoot, clb) {
// Enable source map support
require('source-map-support').install();
// Glob test files
glob('**/**.test.js', { cwd: testsRoot }, function (error, files) {
if (error) {
return clb(error);
}
try {
// Fill into Mocha
files.forEach(function (f) { return mocha.addFile(paths.join(testsRoot, f)); });
// Run the tests
mocha.run(function (failures) {
clb(null, failures);
});
}
catch (error) {
return clb(error);
}
});
}
exports.run = run;