Let iwasm return non-zero value when running failed (#1377)
Let iwasm return non-zero value when running failed so that the caller (e.g. test framework) can check the running status according to the return value.
This commit is contained in:
@ -583,6 +583,7 @@ set_wasi_args(void *wasm_module, const char **dir_list, uint32_t dir_list_size,
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
int32_t ret = -1;
|
||||
char *wasm_file = NULL;
|
||||
const char *func_name = NULL;
|
||||
uint8_t *wasm_file_buf = NULL;
|
||||
@ -622,8 +623,7 @@ main(int argc, char *argv[])
|
||||
if (!strcmp(argv[0], "-f") || !strcmp(argv[0], "--function")) {
|
||||
argc--, argv++;
|
||||
if (argc < 2) {
|
||||
print_help();
|
||||
return 0;
|
||||
return print_help();
|
||||
}
|
||||
func_name = argv[0];
|
||||
}
|
||||
@ -651,7 +651,7 @@ main(int argc, char *argv[])
|
||||
if (dir_list_size >= sizeof(dir_list) / sizeof(char *)) {
|
||||
printf("Only allow max dir number %d\n",
|
||||
(int)(sizeof(dir_list) / sizeof(char *)));
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
dir_list[dir_list_size++] = argv[0] + 6;
|
||||
}
|
||||
@ -663,7 +663,7 @@ main(int argc, char *argv[])
|
||||
if (env_list_size >= sizeof(env_list) / sizeof(char *)) {
|
||||
printf("Only allow max env number %d\n",
|
||||
(int)(sizeof(env_list) / sizeof(char *)));
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
tmp_env = argv[0] + 6;
|
||||
if (validate_env_str(tmp_env))
|
||||
@ -688,7 +688,7 @@ main(int argc, char *argv[])
|
||||
if (addr_pool_size >= sizeof(addr_pool) / sizeof(char *)) {
|
||||
printf("Only allow max address number %d\n",
|
||||
(int)(sizeof(addr_pool) / sizeof(char *)));
|
||||
return -1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
addr_pool[addr_pool_size++] = token;
|
||||
@ -755,6 +755,8 @@ main(int argc, char *argv[])
|
||||
else
|
||||
app_instance_main(wasm_module_inst, argc, argv);
|
||||
|
||||
ret = 0;
|
||||
|
||||
/* Deinstantiate module */
|
||||
deinstantiate_module(wasm_module_inst);
|
||||
|
||||
@ -770,7 +772,12 @@ fail1:
|
||||
/* Destroy runtime environment */
|
||||
destroy_runtime();
|
||||
|
||||
#if WASM_ENABLE_SPEC_TEST != 0
|
||||
(void)ret;
|
||||
return 0;
|
||||
#else
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
Reference in New Issue
Block a user