mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
bae14b7914
Our CI already run test files in parallel, having `node:test` spawns child processes concurrently could lead to oversubscribing the CI machine. This commit sets the `concurrency` depending on the presence of `TEST_PARALLEL` in the env, so running the test file individually still spawns child processes concurrently, and running the whole test suite does not oversubscribe the machine. PR-URL: https://github.com/nodejs/node/pull/52177 Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
import { spawnPromisified } from '../common/index.mjs';
|
|
import * as fixtures from '../common/fixtures.mjs';
|
|
import assert from 'node:assert';
|
|
import { execPath } from 'node:process';
|
|
import { describe, it } from 'node:test';
|
|
|
|
|
|
const importStatement = 'import { foo, notfound } from \'./module-named-exports.mjs\';';
|
|
const importStatementMultiline = `import {
|
|
foo,
|
|
notfound
|
|
} from './module-named-exports.mjs';
|
|
`;
|
|
|
|
describe('ESM: nonexistent exports', { concurrency: !process.env.TEST_PARALLEL }, () => {
|
|
for (
|
|
const { name, input }
|
|
of [
|
|
{
|
|
input: importStatement,
|
|
name: 'single-line import',
|
|
},
|
|
{
|
|
input: importStatementMultiline,
|
|
name: 'multi-line import',
|
|
},
|
|
]
|
|
) {
|
|
it(`should throw for nonexistent exports via ${name}`, async () => {
|
|
const { code, stderr } = await spawnPromisified(execPath, [
|
|
'--input-type=module',
|
|
'--eval',
|
|
input,
|
|
], {
|
|
cwd: fixtures.path('es-module-loaders'),
|
|
});
|
|
|
|
assert.notStrictEqual(code, 0);
|
|
|
|
// SyntaxError: The requested module './module-named-exports.mjs'
|
|
// does not provide an export named 'notfound'
|
|
assert.match(stderr, /SyntaxError:/);
|
|
// The quotes ensure that the path starts with ./ and not ../
|
|
assert.match(stderr, /'\.\/module-named-exports\.mjs'/);
|
|
assert.match(stderr, /notfound/);
|
|
});
|
|
}
|
|
});
|