123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- const Mocha = require('mocha');
- const fs = require('fs-plus');
- const { assert } = require('chai');
- module.exports = function(testPaths) {
- global.assert = assert;
- let reporterOptions = {
- reporterEnabled: 'list'
- };
- if (process.env.TEST_JUNIT_XML_PATH) {
- reporterOptions = {
- reporterEnabled: 'list, mocha-junit-reporter',
- mochaJunitReporterReporterOptions: {
- mochaFile: process.env.TEST_JUNIT_XML_PATH
- }
- };
- }
- const mocha = new Mocha({
- reporter: 'mocha-multi-reporters',
- reporterOptions
- });
- for (let testPath of testPaths) {
- if (fs.isDirectorySync(testPath)) {
- for (let testFilePath of fs.listTreeSync(testPath)) {
- if (/\.test\.(coffee|js)$/.test(testFilePath)) {
- mocha.addFile(testFilePath);
- }
- }
- } else {
- mocha.addFile(testPath);
- }
- }
- mocha.run(failures => {
- if (failures === 0) {
- process.exit(0);
- } else {
- process.exit(1);
- }
- });
- };
|