mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
wasi: fix up wasi tests for ibmi
ibmi now reports os400 instead of aix - update platform check in poll to allow for os400 - update wasi-sdk level to 20 - document the level of wasi-sdk used to compile the tests - remove platform check in readdir test as it does not seem to be needed with wasi-sdk version 20 - comment out tests for some clocks which are no longer available when compiling with wasi-sdk level 20. These may be added back after https://github.com/WebAssembly/wasi-libc/issues/266 is resolved. Signed-off-by: Michael Dawson <midawson@redhat.com> PR-URL: https://github.com/nodejs/node/pull/49953 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
parent
b1ada0ad55
commit
9cb8eb7177
@ -1,9 +1,16 @@
|
||||
# WASI Tests
|
||||
|
||||
Compile with clang and `wasm32-wasi` target. The clang version used must be
|
||||
built with wasi-libc. You can specify the location for clang and the sysroot
|
||||
if needed when running make:
|
||||
Compile with clang and `wasm32-wasi` target by using the wasi-sdk
|
||||
[version 20](https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-20)
|
||||
|
||||
Install wasi-sdk and then set WASI\_SDK\_PATH to the root of the install.
|
||||
|
||||
You can then rebuild the wasm for the tests by running:
|
||||
|
||||
```bash
|
||||
make CC=/usr/local/opt/llvm/bin/clang SYSROOT=/path/to/wasi-libc/sysroot
|
||||
make CC=${WASI_SDK_PATH}/bin/clang SYSROOT=${WASI_SDK_PATH}/share/wasi-sysroot
|
||||
```
|
||||
|
||||
If you update the version of the wasi-sdk to be used for the compile
|
||||
remove all of the \*.wasm files in the wasm directory to ensure
|
||||
you rebuild/test all of the tests with the new version.
|
||||
|
@ -10,8 +10,11 @@ int main() {
|
||||
assert(r == 0);
|
||||
r = clock_getres(CLOCK_MONOTONIC, &ts);
|
||||
assert(r == 0);
|
||||
r = clock_getres(CLOCK_PROCESS_CPUTIME_ID, &ts);
|
||||
assert(r == 0);
|
||||
r = clock_getres(CLOCK_THREAD_CPUTIME_ID, &ts);
|
||||
assert(r == 0);
|
||||
// don't run these tests until
|
||||
// https://github.com/WebAssembly/wasi-libc/issues/266
|
||||
// is resolved
|
||||
// r = clock_getres(CLOCK_PROCESS_CPUTIME_ID, &ts);
|
||||
// assert(r == 0);
|
||||
// r = clock_getres(CLOCK_THREAD_CPUTIME_ID, &ts);
|
||||
// assert(r == 0);
|
||||
}
|
||||
|
@ -10,11 +10,11 @@ int main(void) {
|
||||
time_t before, now;
|
||||
int ret;
|
||||
char* platform;
|
||||
int is_aix;
|
||||
int is_aix_or_os400;
|
||||
int is_win;
|
||||
|
||||
platform = getenv("NODE_PLATFORM");
|
||||
is_aix = platform != NULL && 0 == strcmp(platform, "aix");
|
||||
is_aix_or_os400 = platform != NULL && (0 == strcmp(platform, "aix") || 0 == strcmp(platform, "os400"));
|
||||
is_win = platform != NULL && 0 == strcmp(platform, "win32");
|
||||
|
||||
// Test sleep() behavior.
|
||||
@ -64,7 +64,7 @@ int main(void) {
|
||||
ret = poll(fds, 1, 2000);
|
||||
assert(ret == 1);
|
||||
|
||||
if (is_aix)
|
||||
if (is_aix_or_os400)
|
||||
assert(fds[0].revents == POLLIN);
|
||||
else
|
||||
assert(fds[0].revents == (POLLHUP | POLLIN));
|
||||
|
@ -14,7 +14,6 @@ int main() {
|
||||
|
||||
platform = getenv("NODE_PLATFORM");
|
||||
assert(platform != NULL);
|
||||
has_d_type = (0 != strcmp(platform, "aix") && 0 != strcmp(platform, "sunos"));
|
||||
|
||||
dir = opendir("/sandbox");
|
||||
assert(dir != NULL);
|
||||
@ -25,17 +24,9 @@ int main() {
|
||||
if (strcmp(entry->d_name, "input.txt") == 0 ||
|
||||
strcmp(entry->d_name, "input2.txt") == 0 ||
|
||||
strcmp(entry->d_name, "notadir") == 0) {
|
||||
if (has_d_type) {
|
||||
assert(entry->d_type == DT_REG);
|
||||
} else {
|
||||
assert(entry->d_type == DT_UNKNOWN);
|
||||
}
|
||||
} else if (strcmp(entry->d_name, "subdir") == 0) {
|
||||
if (has_d_type) {
|
||||
assert(entry->d_type == DT_DIR);
|
||||
} else {
|
||||
assert(entry->d_type == DT_UNKNOWN);
|
||||
}
|
||||
} else {
|
||||
assert("unexpected file");
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user