mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
test_runner: fix test enqueue when test file has syntax error
PR-URL: https://github.com/nodejs/node/pull/61573 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
This commit is contained in:
1 parent
9310acbaa6
commit
4edecac522
3 files changed
+30
-1
No files matched your search
@@ -792,7 +792,10 @@ function run(options = kEmptyObject) {
|
||||
);
|
||||
if (topLevelTestCount === root.subtests.length) {
|
||||
// This file had no tests in it. Add the placeholder test.
|
||||
const subtest = root.createSubtest(Test, testFile);
|
||||
const subtest = root.createSubtest(Test, testFile, kEmptyObject, undefined, {
|
||||
__proto__: null,
|
||||
loc: [1, 1, resolve(testFile)],
|
||||
});
|
||||
if (threw) {
|
||||
subtest.fail(importError);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
import { test } from 'node:test';
|
||||
|
||||
test('a test!', () => {
|
||||
if true {
|
||||
// syntax error
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
'use strict';
|
||||
const common = require('../common');
|
||||
const assert = require('node:assert');
|
||||
const fixtures = require('../common/fixtures');
|
||||
const { run } = require('node:test');
|
||||
|
||||
const testFile = fixtures.path('test-runner', 'syntax-error-test.mjs');
|
||||
const testRun = run({
|
||||
files: [testFile],
|
||||
isolation: 'none'
|
||||
});
|
||||
|
||||
testRun.on('test:enqueue', common.mustCall((test) => {
|
||||
assert.strictEqual(test.file, testFile);
|
||||
}));
|
||||
|
||||
testRun.on('test:fail', common.mustCall((test) => {
|
||||
assert.match(test.details.error.toString(), /SyntaxError: Unexpected token 'true'/);
|
||||
}));
|
||||
Reference in new issue
Block a user