blob: 36623832dfbf43be5308c7e7171d2a956259e473 [file] [edit]
/*
* Copyright 2021 The Emscripten Authors. All rights reserved.
* Emscripten is available under two separate licenses, the MIT license and the
* University of Illinois/NCSA Open Source License. Both these licenses can be
* found in the LICENSE file.
*/
#include <assert.h>
#include <emscripten.h>
#include <emscripten/wasmfs.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "get_backend.h"
int main() {
int err = wasmfs_create_directory("/root", 0777, get_backend());
assert(err == 0);
int fd = open("/root/test", O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR);
const char* msg = "Success\n";
errno = 0;
write(fd, msg, strlen(msg));
assert(errno == 0);
err = close(fd);
assert(err == 0);
EM_ASM({
var output = FS.readFile("/root/test");
out(UTF8ArrayToString(output, 0));
out("Length: " + output.byteLength);
var err = FS.unlink("/root/test");
out("FS.unlink: " + err);
});
EM_ASM({
try {
var output = FS.readFile("/root/no-exist", {encoding : 'utf8'});
} catch (err) {
}
});
EM_ASM({
try {
// Already unlinked above, file should not exist anymore
var output = FS.readFile("/root/test", {encoding : 'utf8'});
} catch (err) {
}
});
}