Skip to content

Commit fd1d7be

Browse files
committed
fix test race issues
1 parent 1808af6 commit fd1d7be

File tree

2 files changed

+31
-29
lines changed

2 files changed

+31
-29
lines changed

test/caching.js

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,39 @@ const path = require('path')
66
const fs = require('fs-then-native')
77
const a = require('assert')
88

9-
const runner = new TestRunner()
9+
/* needs to be sequence as `jsdoc.cache` is shared between tests */
10+
const runner = new TestRunner({ sequential: true })
1011

11-
runner.test('.explainSync({ files, cache: true })', function () {
12+
runner.test('caching: .explainSync({ files, cache: true })', function () {
1213
const f = new Fixture('class-all')
1314
jsdoc.cache.dir = 'tmp/cache-sync'
14-
jsdoc.cache.clear().catch(err => { /* ignore */ })
15-
const output = jsdoc.explainSync({ files: f.sourcePath, cache: true })
16-
const expectedOutput = f.getExpectedOutput(output)
15+
return jsdoc.cache.clear()
16+
.then(() => {
17+
const output = jsdoc.explainSync({ files: f.sourcePath, cache: true })
18+
const expectedOutput = f.getExpectedOutput(output)
1719

18-
a.ok(typeof output === 'object')
19-
a.deepEqual(output, expectedOutput)
20+
a.ok(typeof output === 'object')
21+
a.deepEqual(output, expectedOutput)
22+
})
2023
})
2124

22-
runner.test('.explain({ files, cache: true })', function () {
25+
runner.test('caching: .explain({ files, cache: true })', function () {
2326
const f = new Fixture('class-all')
2427
jsdoc.cache.dir = 'tmp/cache'
25-
jsdoc.cache.clear().catch(err => { /* ignore */ })
26-
return jsdoc.explain({ files: f.sourcePath, cache: true })
27-
.then(function (output) {
28-
const cachedFiles = fs.readdirSync(jsdoc.cache.dir)
29-
.map(function (file) {
30-
return path.resolve(jsdoc.cache.dir, file)
28+
return jsdoc.cache.clear()
29+
.then(() => {
30+
return jsdoc.explain({ files: f.sourcePath, cache: true })
31+
.then(output => {
32+
const cachedFiles = fs.readdirSync(jsdoc.cache.dir)
33+
.map(file => path.resolve(jsdoc.cache.dir, file))
34+
a.strictEqual(cachedFiles.length, 1)
35+
a.deepEqual(output, f.getExpectedOutput(output))
36+
const cachedData = JSON.parse(fs.readFileSync(cachedFiles[0], 'utf8'))
37+
Fixture.removeFileSpecificData(cachedData)
38+
a.deepEqual(
39+
cachedData,
40+
f.getExpectedOutput(output)
41+
)
3142
})
32-
a.strictEqual(cachedFiles.length, 1)
33-
a.deepEqual(output, f.getExpectedOutput(output))
34-
const cachedData = JSON.parse(fs.readFileSync(cachedFiles[0], 'utf8'))
35-
Fixture.removeFileSpecificData(cachedData)
36-
a.deepEqual(
37-
cachedData,
38-
f.getExpectedOutput(output)
39-
)
4043
})
41-
.catch(function (err) { console.error(err.stack) })
4244
})

test/render-sync.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ const a = require('assert')
99
const runner = new TestRunner()
1010

1111
runner.test('.renderSync({ files })', function () {
12-
Fixture.createTmpFolder('tmp')
12+
Fixture.createTmpFolder('tmp/renderSync')
1313
const f = new Fixture('class-all')
14-
jsdoc.renderSync({ files: f.sourcePath, destination: 'tmp/out' })
14+
jsdoc.renderSync({ files: f.sourcePath, destination: 'tmp/renderSync/out' })
1515
a.doesNotThrow(function () {
16-
fs.statSync('./tmp/out/index.html')
16+
fs.statSync('./tmp/renderSync/out/index.html')
1717
})
1818
})
1919

2020
runner.test('.renderSync({ source, destination })', function () {
21-
Fixture.createTmpFolder('tmp')
21+
Fixture.createTmpFolder('tmp/renderSync')
2222
const f = new Fixture('class-all')
23-
jsdoc.renderSync({ source: f.getSource(), destination: 'tmp/out' })
23+
jsdoc.renderSync({ source: f.getSource(), destination: 'tmp/renderSync/out' })
2424
a.doesNotThrow(function () {
25-
fs.statSync('./tmp/out/index.html')
25+
fs.statSync('./tmp/renderSync/out/index.html')
2626
})
2727
})

0 commit comments

Comments
 (0)