Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 067d38f

Browse filesBrowse files
cjihrigaddaleax
authored andcommitted
test: make test-v8-coverage.js more strict
Update the coverage test to verify that nothing is printed to stderr (which happens when coverage errors happen). Also add a test case to verify that non-absolute coverage paths work. PR-URL: #25289 Fixes: #25287 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Yuta Hiroto <hello@hiroppy.me> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Backport-PR-URL: #25496
1 parent 63fbd00 commit 067d38f
Copy full SHA for 067d38f

File tree

Expand file treeCollapse file tree

1 file changed

+28
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+28
-0
lines changed
Open diff view settings
Collapse file

‎test/parallel/test-v8-coverage.js‎

Copy file name to clipboardExpand all lines: test/parallel/test-v8-coverage.js
+28Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ function nextdir() {
2323
require.resolve('../fixtures/v8-coverage/basic')
2424
], { env: { ...process.env, NODE_V8_COVERAGE: coverageDirectory } });
2525
assert.strictEqual(output.status, 0);
26+
assert.strictEqual(output.stderr.toString(), '');
2627
const fixtureCoverage = getFixtureCoverage('basic.js', coverageDirectory);
2728
assert.ok(fixtureCoverage);
2829
// first branch executed.
@@ -38,6 +39,7 @@ function nextdir() {
3839
require.resolve('../fixtures/v8-coverage/exit-1')
3940
], { env: { ...process.env, NODE_V8_COVERAGE: coverageDirectory } });
4041
assert.strictEqual(output.status, 1);
42+
assert.strictEqual(output.stderr.toString(), '');
4143
const fixtureCoverage = getFixtureCoverage('exit-1.js', coverageDirectory);
4244
assert.ok(fixtureCoverage, 'coverage not found for file');
4345
// first branch executed.
@@ -55,6 +57,7 @@ function nextdir() {
5557
if (!common.isWindows) {
5658
assert.strictEqual(output.signal, 'SIGINT');
5759
}
60+
assert.strictEqual(output.stderr.toString(), '');
5861
const fixtureCoverage = getFixtureCoverage('sigint.js', coverageDirectory);
5962
assert.ok(fixtureCoverage);
6063
// first branch executed.
@@ -70,6 +73,7 @@ function nextdir() {
7073
require.resolve('../fixtures/v8-coverage/spawn-subprocess')
7174
], { env: { ...process.env, NODE_V8_COVERAGE: coverageDirectory } });
7275
assert.strictEqual(output.status, 0);
76+
assert.strictEqual(output.stderr.toString(), '');
7377
const fixtureCoverage = getFixtureCoverage('subprocess.js',
7478
coverageDirectory);
7579
assert.ok(fixtureCoverage);
@@ -86,6 +90,7 @@ function nextdir() {
8690
require.resolve('../fixtures/v8-coverage/worker')
8791
], { env: { ...process.env, NODE_V8_COVERAGE: coverageDirectory } });
8892
assert.strictEqual(output.status, 0);
93+
assert.strictEqual(output.stderr.toString(), '');
8994
const fixtureCoverage = getFixtureCoverage('subprocess.js',
9095
coverageDirectory);
9196
assert.ok(fixtureCoverage);
@@ -102,6 +107,7 @@ function nextdir() {
102107
require.resolve('../fixtures/v8-coverage/spawn-subprocess-no-cov')
103108
], { env: { ...process.env, NODE_V8_COVERAGE: coverageDirectory } });
104109
assert.strictEqual(output.status, 0);
110+
assert.strictEqual(output.stderr.toString(), '');
105111
const fixtureCoverage = getFixtureCoverage('subprocess.js',
106112
coverageDirectory);
107113
assert.strictEqual(fixtureCoverage, undefined);
@@ -114,13 +120,35 @@ function nextdir() {
114120
require.resolve('../fixtures/v8-coverage/async-hooks')
115121
], { env: { ...process.env, NODE_V8_COVERAGE: coverageDirectory } });
116122
assert.strictEqual(output.status, 0);
123+
assert.strictEqual(output.stderr.toString(), '');
117124
const fixtureCoverage = getFixtureCoverage('async-hooks.js',
118125
coverageDirectory);
119126
assert.ok(fixtureCoverage);
120127
// first branch executed.
121128
assert.strictEqual(fixtureCoverage.functions[1].ranges[0].count, 1);
122129
}
123130

131+
// Outputs coverage when the coverage directory is not absolute.
132+
{
133+
const coverageDirectory = nextdir();
134+
const absoluteCoverageDirectory = path.join(tmpdir.path, coverageDirectory);
135+
const output = spawnSync(process.execPath, [
136+
require.resolve('../fixtures/v8-coverage/basic')
137+
], {
138+
cwd: tmpdir.path,
139+
env: { ...process.env, NODE_V8_COVERAGE: coverageDirectory }
140+
});
141+
assert.strictEqual(output.status, 0);
142+
assert.strictEqual(output.stderr.toString(), '');
143+
const fixtureCoverage = getFixtureCoverage('basic.js',
144+
absoluteCoverageDirectory);
145+
assert.ok(fixtureCoverage);
146+
// first branch executed.
147+
assert.strictEqual(fixtureCoverage.functions[1].ranges[0].count, 1);
148+
// second branch did not execute.
149+
assert.strictEqual(fixtureCoverage.functions[1].ranges[1].count, 0);
150+
}
151+
124152
// Extracts the coverage object for a given fixture name.
125153
function getFixtureCoverage(fixtureFile, coverageDirectory) {
126154
const coverageFiles = fs.readdirSync(coverageDirectory);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.