25 lines
793 B
JavaScript
25 lines
793 B
JavaScript
const {readdirSync} = require("fs")
|
|
const { fork, execSync } = require("child_process")
|
|
|
|
const jobResults = []
|
|
|
|
const workJob = (filename)=> new Promise((res)=>{
|
|
const job = fork("./dist/spec/"+filename, {stdio:"inherit"});
|
|
job.addListener("close", (code)=>{
|
|
jobResults.push(!!!code)
|
|
res()
|
|
})
|
|
})
|
|
|
|
const workJobs = async()=>{
|
|
execSync("tsc")
|
|
|
|
for (file of readdirSync("./dist/spec", {withFileTypes: true}).filter((file)=>file.isFile()&&file.name.match(/\.spec\.js$/)).map(({name})=>name)){
|
|
await workJob(file)
|
|
console.log()
|
|
}
|
|
}
|
|
|
|
workJobs().then(()=>{
|
|
console.log(jobResults.find((result)=>!result)?`${jobResults.filter((result)=>!result).length} out of ${jobResults.length} jobs failed; FIX THIS!`:"all's fine, get back to coding")
|
|
}) |