43 lines
864 B
JavaScript
43 lines
864 B
JavaScript
'use strict'
|
|
|
|
const { test, teardown } = require('tap')
|
|
const fs = require('fs')
|
|
const os = require('os')
|
|
const path = require('path')
|
|
|
|
const files = []
|
|
let count = 0
|
|
|
|
function file () {
|
|
const file = path.join(os.tmpdir(), `sonic-boom-${process.pid}-${process.hrtime().toString()}-${count++}`)
|
|
files.push(file)
|
|
return file
|
|
}
|
|
|
|
teardown(() => {
|
|
const rmSync = fs.rmSync || fs.rmdirSync
|
|
files.forEach((file) => {
|
|
try {
|
|
if (fs.existsSync(file)) {
|
|
fs.statSync(file).isDirectory() ? rmSync(file, { recursive: true, maxRetries: 10 }) : fs.unlinkSync(file)
|
|
}
|
|
} catch (e) {
|
|
console.log(e)
|
|
}
|
|
})
|
|
})
|
|
|
|
function runTests (buildTests) {
|
|
test('sync false', (t) => {
|
|
buildTests(t.test, false)
|
|
t.end()
|
|
})
|
|
|
|
test('sync true', (t) => {
|
|
buildTests(t.test, true)
|
|
t.end()
|
|
})
|
|
}
|
|
|
|
module.exports = { file, runTests }
|