aboutsummaryrefslogtreecommitdiff
path: root/tests/unistd/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unistd/misc.c')
-rw-r--r--tests/unistd/misc.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/tests/unistd/misc.c b/tests/unistd/misc.c
index 5b0d63d2..2ca5b390 100644
--- a/tests/unistd/misc.c
+++ b/tests/unistd/misc.c
@@ -2,9 +2,17 @@
#include <errno.h>
#include <unistd.h>
#include <fcntl.h>
+#include <emscripten.h>
int main() {
- int f = open("/", O_RDONLY);
+ EM_ASM(
+ FS.mkdir('working');
+#if NODEFS
+ FS.mount(NODEFS, { root: '.' }, 'working');
+#endif
+ );
+
+ int f = open("working", O_RDONLY);
sync();
@@ -36,7 +44,7 @@ int main() {
printf(", errno: %d\n", errno);
errno = 0;
- printf("link: %d", link("/here", "/there"));
+ printf("link: %d", link("working/here", "working/there"));
printf(", errno: %d\n", errno);
errno = 0;
@@ -65,10 +73,10 @@ int main() {
char* exec_argv[] = {"arg", 0};
char* exec_env[] = {"a=b", 0};
- printf("execl: %d", execl("/program", "arg", 0));
+ printf("execl: %d", execl("working/program", "arg", 0));
printf(", errno: %d\n", errno);
errno = 0;
- printf("execle: %d", execle("/program", "arg", 0, exec_env));
+ printf("execle: %d", execle("working/program", "arg", 0, exec_env));
printf(", errno: %d\n", errno);
errno = 0;
printf("execlp: %d", execlp("program", "arg", 0));
@@ -84,16 +92,16 @@ int main() {
printf(", errno: %d\n", errno);
errno = 0;
- printf("chown(good): %d", chown("/", 123, 456));
+ printf("chown(good): %d", chown("working", 123, 456));
printf(", errno: %d\n", errno);
errno = 0;
- printf("chown(bad): %d", chown("/noexist", 123, 456));
+ printf("chown(bad): %d", chown("working/noexist", 123, 456));
printf(", errno: %d\n", errno);
errno = 0;
- printf("lchown(good): %d", lchown("/", 123, 456));
+ printf("lchown(good): %d", lchown("working", 123, 456));
printf(", errno: %d\n", errno);
errno = 0;
- printf("lchown(bad): %d", lchown("/noexist", 123, 456));
+ printf("lchown(bad): %d", lchown("working/noexist", 123, 456));
printf(", errno: %d\n", errno);
errno = 0;
printf("fchown(good): %d", fchown(f, 123, 456));