mirror of
https://github.com/atom/atom.git
synced 2026-02-04 19:54:59 -05:00
47 lines
972 B
JavaScript
47 lines
972 B
JavaScript
"use babel"
|
|
|
|
import Mocha from 'mocha'
|
|
import fs from 'fs-plus'
|
|
import {assert} from 'chai'
|
|
|
|
export default 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(function (failures) {
|
|
if (failures === 0) {
|
|
process.exit(0)
|
|
} else {
|
|
process.exit(1)
|
|
}
|
|
})
|
|
}
|