test: split test-wasi.js

There is a flake in the tests. Split them so that people stop
piling more test cases that flake the monolith.

PR-URL: https://github.com/nodejs/node/pull/59488
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
This commit is contained in:
Joyee Cheung 2025-08-15 23:20:48 +02:00 committed by Node.js GitHub Bot
parent 7c9c981d27
commit d55643d6fc
17 changed files with 114 additions and 29 deletions

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/cant_dotdot.wasm, see test/wasi/c/cant_dotdot.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['cant_dotdot']);

View File

@ -0,0 +1,8 @@
'use strict';
// Tests test/wasi/wasm/clock_getres.wasm, see test/wasi/c/clock_getres.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
// This test is currently unsupported on IBM i PASE
testWasiPreview1(['clock_getres']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/fd_prestat_get_refresh.wasm, see test/wasi/c/fd_prestat_get_refresh.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['fd_prestat_get_refresh']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/ftruncate.wasm, see test/wasi/c/ftruncate.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['ftruncate']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/getentropy.wasm, see test/wasi/c/getentropy.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['getentropy']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/getrusage.wasm, see test/wasi/c/getrusage.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['getrusage']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/gettimeofday.wasm, see test/wasi/c/gettimeofday.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['gettimeofday']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/main_args.wasm, see test/wasi/c/main_args.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['main_args']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/notdir.wasm, see test/wasi/c/notdir.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['notdir']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/preopen_populates.wasm, see test/wasi/c/preopen_populates.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['preopen_populates']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/pthread.wasm, see test/wasi/c/pthread.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['--target=wasm32-wasip1-threads', 'pthread']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/readdir.wasm, see test/wasi/c/readdir.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['readdir']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/sock.wasm, see test/wasi/c/sock.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['sock']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/stat.wasm, see test/wasi/c/stat.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['stat']);

View File

@ -0,0 +1,7 @@
'use strict';
// Tests test/wasi/wasm/write_file.wasm, see test/wasi/c/write_file.c
require('../common');
const { testWasiPreview1 } = require('../common/wasi');
testWasiPreview1(['write_file']);

View File

@ -1,29 +0,0 @@
'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']);
testWasiPreview1(['--target=wasm32-wasip1-threads', 'pthread']);

View File

@ -6,3 +6,11 @@ prefix wasi
[true] # This section applies to all platforms
[$system==ibmi]
# Unsupported on IBM i PASE
test-wasi-clock_getres: SKIP
test-wasi-getrusage: SKIP
[$system==win32 || $system==android]
# Unsupported on Windows and Android
test-wasi-readdir: SKIP