Skip to content

Commit

Permalink
test: add tests for main() argument handling
Browse files Browse the repository at this point in the history
This test provides missing coverage for __wasi_args_get() and
__wasi_args_sizes_get(), which translate to argc and argv in
WASI applications.

PR-URL: #31426
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
  • Loading branch information
cjihrig authored and codebytere committed Mar 17, 2020
1 parent 37754ba commit 48f4212
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 1 deletion.
10 changes: 10 additions & 0 deletions test/wasi/c/main_args.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#include <assert.h>
#include <string.h>

int main(int argc, char** argv) {
assert(argc == 3);
assert(0 == strcmp(argv[0], "foo"));
assert(0 == strcmp(argv[1], "-bar"));
assert(0 == strcmp(argv[2], "--baz=value"));
return 0;
}
3 changes: 2 additions & 1 deletion test/wasi/test-wasi.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ if (process.argv[2] === 'wasi-child') {
tmpdir.refresh();
const wasmDir = path.join(__dirname, 'wasm');
const wasi = new WASI({
args: [],
args: ['foo', '-bar', '--baz=value'],
env: process.env,
preopens: {
'/sandbox': fixtures.path('wasi'),
Expand Down Expand Up @@ -64,6 +64,7 @@ if (process.argv[2] === 'wasi-child') {
runWASI({ test: 'getentropy' });
runWASI({ test: 'getrusage' });
runWASI({ test: 'gettimeofday' });
runWASI({ test: 'main_args' });
runWASI({ test: 'notdir' });
// runWASI({ test: 'poll' });
runWASI({ test: 'preopen_populates' });
Expand Down
Binary file added test/wasi/wasm/main_args.wasm
Binary file not shown.

0 comments on commit 48f4212

Please sign in to comment.