Files
atom/spec/main-process/mocha-test-runner.js
2019-02-28 19:30:03 +01:00

46 lines
971 B
JavaScript

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)
}
})
}