gotools/test/suite/index.js

43 lines
759 B
JavaScript
Raw Normal View History

2023-08-06 01:23:45 +03:00
const path = require('path');
const Mocha = require('mocha');
const glob = require('glob');
2021-03-22 02:27:33 +03:00
2023-08-06 01:23:45 +03:00
function run() {
2021-03-22 02:27:33 +03:00
// Create the mocha test
const mocha = new Mocha({
ui: 'tdd',
color: true
});
const testsRoot = path.resolve(__dirname, '..');
return new Promise((c, e) => {
glob('**/**.test.js', { cwd: testsRoot }, (err, files) => {
if (err) {
return e(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) {
e(new Error(`${failures} tests failed.`));
} else {
c();
}
});
} catch (err) {
console.error(err);
e(err);
}
});
});
}
2023-08-06 01:23:45 +03:00
module.exports = {
run
};