node/test/wasi/test-wasi.js
Joyee Cheung a5376c5ce4
test: split wasi tests
Move the child process code into a fixture and split the test
so that it can be run in parallel and it's easier to identify
where the failure is coming from. Also use the
spawnSyncAndExitWithoutError() utility so that the test shows
complete information on failure.

Instead of marking all the wasi tests as flaky, only mark the
wasi-poll one which is flaking in the CI now.

PR-URL: https://github.com/nodejs/node/pull/51836
Refs: https://github.com/nodejs/node/issues/51822
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2024-02-24 17:55:27 +00:00

29 lines
951 B
JavaScript

'use strict';
const common = require('../common');
const { testWasiPreview1 } = require('../common/wasi');
// TODO(joyeecheung): tests that don't need special configurations can be ported
// to a special python test case configuration and get run in parallel.
// Tests that are currently unsupported on IBM i PASE.
if (!common.isIBMi) {
testWasiPreview1(['clock_getres']);
testWasiPreview1(['getrusage']);
}
// Tests that are currently unsupported on Windows and Android.
if (!common.isWindows && process.platform !== 'android') {
testWasiPreview1(['readdir']);
}
testWasiPreview1(['cant_dotdot']);
testWasiPreview1(['fd_prestat_get_refresh']);
testWasiPreview1(['ftruncate']);
testWasiPreview1(['getentropy']);
testWasiPreview1(['gettimeofday']);
testWasiPreview1(['main_args']);
testWasiPreview1(['notdir']);
testWasiPreview1(['preopen_populates']);
testWasiPreview1(['stat']);
testWasiPreview1(['sock']);
testWasiPreview1(['write_file']);