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>
44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
import { spawnPromisified } from '../common/index.mjs';
|
|
import { fileURL, path } from '../common/fixtures.mjs';
|
|
import { match, ok, notStrictEqual, strictEqual } from 'assert';
|
|
import { execPath } from 'node:process';
|
|
import { describe, it } from 'node:test';
|
|
|
|
|
|
describe('ESM: thenable loader hooks', { concurrency: !process.env.TEST_PARALLEL }, () => {
|
|
it('should behave as a normal promise resolution', async () => {
|
|
const { code, stderr } = await spawnPromisified(execPath, [
|
|
'--experimental-loader',
|
|
fileURL('es-module-loaders', 'thenable-load-hook.mjs').href,
|
|
path('es-modules', 'test-esm-ok.mjs'),
|
|
]);
|
|
|
|
strictEqual(code, 0);
|
|
ok(!stderr.includes('must not call'));
|
|
});
|
|
|
|
it('should crash the node process rejection with an error', async () => {
|
|
const { code, stderr } = await spawnPromisified(execPath, [
|
|
'--experimental-loader',
|
|
fileURL('es-module-loaders', 'thenable-load-hook-rejected.mjs').href,
|
|
path('es-modules', 'test-esm-ok.mjs'),
|
|
]);
|
|
|
|
notStrictEqual(code, 0);
|
|
match(stderr, /\sError: must crash the process\r?\n/);
|
|
ok(!stderr.includes('must not call'));
|
|
});
|
|
|
|
it('should just reject without an error (but NOT crash the node process)', async () => {
|
|
const { code, stderr } = await spawnPromisified(execPath, [
|
|
'--experimental-loader',
|
|
fileURL('es-module-loaders', 'thenable-load-hook-rejected-no-arguments.mjs').href,
|
|
path('es-modules', 'test-esm-ok.mjs'),
|
|
]);
|
|
|
|
notStrictEqual(code, 0);
|
|
match(stderr, /\sundefined\r?\n/);
|
|
ok(!stderr.includes('must not call'));
|
|
});
|
|
});
|