-
-
Notifications
You must be signed in to change notification settings - Fork 350
/
cache.js
35 lines (24 loc) · 797 Bytes
/
cache.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
'use strict'
const path = require('path')
const { promisify } = require('util')
const t = require('tap')
const rimraf = promisify(require('rimraf'))
const NYC = require('../self-coverage')
const { parseArgv, resetState, runNYC } = require('./helpers')
const fixtures = path.resolve(__dirname, './fixtures')
t.beforeEach(resetState)
async function cacheTest (t, script) {
const nyc = new NYC(await parseArgv(fixtures))
await rimraf(nyc.cacheDirectory)
const { status } = await runNYC({
args: [
process.execPath,
script
],
cwd: fixtures,
env: {}
})
t.strictEqual(status, 0)
}
t.test('cache handles collisions', t => cacheTest(t, './cache-collision-runner.js'))
t.test('cache handles identical files', t => cacheTest(t, './identical-file-runner.js'))