From 16e70f99aaa2d41747cf8bb86768d2a56d3dcd4f Mon Sep 17 00:00:00 2001 From: "Zhang, Yi" Date: Wed, 19 Jun 2024 16:40:37 +0800 Subject: [PATCH] Add standalone cases (#3536) --- tests/standalone/bfs/bfs.wasm | Bin 0 -> 11033 bytes tests/standalone/bfs/run.sh | 24 ++ .../standalone/binary-trees/binary_trees.wasm | Bin 0 -> 25023 bytes tests/standalone/binary-trees/run.sh | 24 ++ tests/standalone/blake3/blake3.wasm | Bin 0 -> 36160 bytes tests/standalone/blake3/run.sh | 23 ++ tests/standalone/brotli/brotli.wasm | Bin 0 -> 705701 bytes tests/standalone/brotli/run.sh | 27 +++ tests/standalone/c-ray/c_ray.wasm | Bin 0 -> 89879 bytes tests/standalone/c-ray/run.sh | 23 ++ tests/standalone/c-ray/scene | 18 ++ .../c_wasm_simd128_example.wasm | Bin 0 -> 11486 bytes .../standalone/c-wasm-simd128-example/run.sh | 23 ++ tests/standalone/cat-sync/cat_sync.wasm | Bin 0 -> 16987 bytes tests/standalone/cat-sync/run.sh | 26 +++ tests/standalone/coremark/coremark_wasi.wasm | Bin 0 -> 42440 bytes .../coremark/coremark_wasi_nofp.wasm | Bin 0 -> 42059 bytes tests/standalone/coremark/run.sh | 32 +++ tests/standalone/dhrystone/dhrystone.wasm | Bin 0 -> 5000 bytes tests/standalone/dhrystone/run.sh | 23 ++ tests/standalone/dump-call-stack/run.sh | 50 +++++ .../dump-call-stack/wasm-app/main.c | 50 +++++ tests/standalone/dump-mem-profiling/run.sh | 51 +++++ .../dump-mem-profiling/wasm-app/main.c | 50 +++++ tests/standalone/dump-perf-profiling/run.sh | 50 +++++ .../dump-perf-profiling/wasm-app/main.c | 50 +++++ .../fannkuch-redux/fannkuch_redux.wasm | Bin 0 -> 25792 bytes tests/standalone/fannkuch-redux/run.sh | 24 ++ tests/standalone/fasta/fasta.wasm | Bin 0 -> 14075 bytes tests/standalone/fasta/run.sh | 24 ++ tests/standalone/gcc-loops/gcc_loops.wasm | Bin 0 -> 704018 bytes tests/standalone/gcc-loops/run.sh | 24 ++ tests/standalone/hashset/HashSet.wasm | Bin 0 -> 293646 bytes tests/standalone/hashset/run.sh | 24 ++ tests/standalone/iwasm-wamrc/run.sh | 18 ++ tests/standalone/mandelbrot/mandel.wasm | Bin 0 -> 67932 bytes tests/standalone/mandelbrot/mandel_dd.wasm | Bin 0 -> 61763 bytes tests/standalone/mandelbrot/run.sh | 24 ++ tests/standalone/nbody/nbody.wasm | Bin 0 -> 27579 bytes tests/standalone/nbody/run.sh | 24 ++ tests/standalone/raymarcher/raymarcher.wasm | Bin 0 -> 19528 bytes tests/standalone/raymarcher/run.sh | 23 ++ tests/standalone/simple/run.sh | 23 ++ tests/standalone/simple/simple.wasm | Bin 0 -> 50911 bytes tests/standalone/smallpt/run.sh | 31 +++ tests/standalone/smallpt/smallpt.wasm | Bin 0 -> 44180 bytes tests/standalone/smallpt/smallpt_ex.wasm | Bin 0 -> 45292 bytes tests/standalone/standalone.sh | 131 +++++++++++ tests/standalone/stream/run.sh | 24 ++ tests/standalone/stream/stream.wasm | Bin 0 -> 33393 bytes tests/standalone/string-view/run.sh | 30 +++ tests/standalone/string-view/test_string.wasm | Bin 0 -> 76502 bytes .../string-view/test_string_view.wasm | Bin 0 -> 68994 bytes tests/standalone/test-aes/run.sh | 35 +++ tests/standalone/test-aes/test_aes.wasm | Bin 0 -> 9760 bytes tests/standalone/test-go/run.sh | 24 ++ tests/standalone/test-go/test_go.wasm | Bin 0 -> 6777 bytes .../test-invoke-native/CMakeLists.txt | 127 +++++++++++ tests/standalone/test-invoke-native/main.c | 39 ++++ tests/standalone/test-invoke-native/run.sh | 33 +++ .../test-invoke-native/test_invoke_native.c | 206 +++++++++++++++++ tests/standalone/test-malloc/main.c | 46 ++++ tests/standalone/test-malloc/run.sh | 31 +++ .../test-module-malloc/CMakeLists.txt | 88 ++++++++ tests/standalone/test-module-malloc/run.sh | 58 +++++ .../test-module-malloc/test_module_malloc.c | 42 ++++ .../wasm-app/CMakeLists.txt | 32 +++ .../test-module-malloc/wasm-app/main.c | 45 ++++ tests/standalone/test-parson/run.sh | 24 ++ tests/standalone/test-parson/test_parson.wasm | Bin 0 -> 50450 bytes tests/standalone/test-printf/run.sh | 31 +++ .../test-printf/test_printf_builtin.wasm | Bin 0 -> 515680 bytes .../test-printf/test_printf_wasi.wasm | Bin 0 -> 523376 bytes tests/standalone/test-pthread/create_join.c | 68 ++++++ .../standalone/test-pthread/create_join.wasm | Bin 0 -> 1194 bytes .../test-pthread/main_thread_return.c | 40 ++++ .../test-pthread/main_thread_return.wasm | Bin 0 -> 29172 bytes tests/standalone/test-pthread/pthread_cond.c | 55 +++++ .../standalone/test-pthread/pthread_cond.wasm | Bin 0 -> 1430 bytes tests/standalone/test-pthread/pthread_key.c | 91 ++++++++ .../standalone/test-pthread/pthread_key.wasm | Bin 0 -> 2605 bytes tests/standalone/test-pthread/pthread_mutex.c | 70 ++++++ .../test-pthread/pthread_mutex.wasm | Bin 0 -> 1965 bytes tests/standalone/test-pthread/run.sh | 133 +++++++++++ tests/standalone/test-pthread/thread_cancel.c | 38 ++++ .../test-pthread/thread_cancel.wasm | Bin 0 -> 932 bytes tests/standalone/test-pthread/thread_exit.c | 41 ++++ .../standalone/test-pthread/thread_exit.wasm | Bin 0 -> 1014 bytes .../threads-opcode-wasm-apps/CMakeLists.txt | 61 +++++ .../threads-opcode-wasm-apps/README.md | 73 ++++++ .../threads-opcode-wasm-apps/atomic_add_sub.c | 56 +++++ .../threads-opcode-wasm-apps/atomic_fence.c | 35 +++ .../threads-opcode-wasm-apps/atomic_logical.c | 49 +++++ .../threads-opcode-wasm-apps/atomic_store.c | 32 +++ .../atomic_wait_notify.c | 75 +++++++ .../threads-opcode-wasm-apps/atomic_xchg.c | 35 +++ .../threads-opcode-wasm-apps/peterson.h | 64 ++++++ .../peterson_native.c | 34 +++ tests/standalone/test-pthread/wasi.c | 51 +++++ tests/standalone/test-pthread/wasi.wasm | Bin 0 -> 31659 bytes .../test-running-modes/build_c_embed.sh | 12 + .../test-running-modes/build_iwasm.sh | 15 ++ .../test-running-modes/c-embed/CMakeLists.txt | 59 +++++ .../test-running-modes/c-embed/src/main.c | 208 ++++++++++++++++++ .../test-running-modes/compile_wasm_app.sh | 23 ++ tests/standalone/test-running-modes/run.sh | 33 +++ .../test_c_embed_api_thoroughly.py | 76 +++++++ .../test_iwasm_thoroughly.py | 71 ++++++ .../test-running-modes/wasm-apps/hello.c | 31 +++ .../test-running-modes/wasm-apps/hello.wasm | Bin 0 -> 187 bytes .../test-running-modes/wasm-apps/mytest.c | 52 +++++ .../test-running-modes/wasm-apps/mytest.wasm | Bin 0 -> 537 bytes tests/standalone/test-stddef/run.sh | 23 ++ .../test-stddef/test_stddef_cpp_5_1.wasm | Bin 0 -> 2896 bytes tests/standalone/test-strchr/main.c | 25 +++ tests/standalone/test-strchr/run.sh | 31 +++ tests/standalone/test-ts1/app.ts | 9 + tests/standalone/test-ts1/build.sh | 9 + tests/standalone/test-ts1/console.ts | 15 ++ tests/standalone/test-ts1/run.sh | 24 ++ tests/standalone/test-ts1/test_ts1.wasm | Bin 0 -> 11639 bytes tests/standalone/test-wasi1/main.c | 59 +++++ tests/standalone/test-wasi1/run.sh | 30 +++ tests/standalone/test-wasi1/test.txt | 2 + tests/standalone/test-wasi2/main.c | 75 +++++++ tests/standalone/test-wasi2/run.sh | 30 +++ tests/standalone/tsf/run.sh | 33 +++ tests/standalone/tsf/tsf.wasm | Bin 0 -> 178969 bytes tests/wamr-test-suites/test_wamr.sh | 8 +- 129 files changed, 3880 insertions(+), 3 deletions(-) create mode 100755 tests/standalone/bfs/bfs.wasm create mode 100755 tests/standalone/bfs/run.sh create mode 100755 tests/standalone/binary-trees/binary_trees.wasm create mode 100755 tests/standalone/binary-trees/run.sh create mode 100755 tests/standalone/blake3/blake3.wasm create mode 100755 tests/standalone/blake3/run.sh create mode 100644 tests/standalone/brotli/brotli.wasm create mode 100755 tests/standalone/brotli/run.sh create mode 100644 tests/standalone/c-ray/c_ray.wasm create mode 100755 tests/standalone/c-ray/run.sh create mode 100644 tests/standalone/c-ray/scene create mode 100755 tests/standalone/c-wasm-simd128-example/c_wasm_simd128_example.wasm create mode 100755 tests/standalone/c-wasm-simd128-example/run.sh create mode 100755 tests/standalone/cat-sync/cat_sync.wasm create mode 100755 tests/standalone/cat-sync/run.sh create mode 100644 tests/standalone/coremark/coremark_wasi.wasm create mode 100644 tests/standalone/coremark/coremark_wasi_nofp.wasm create mode 100755 tests/standalone/coremark/run.sh create mode 100755 tests/standalone/dhrystone/dhrystone.wasm create mode 100755 tests/standalone/dhrystone/run.sh create mode 100755 tests/standalone/dump-call-stack/run.sh create mode 100644 tests/standalone/dump-call-stack/wasm-app/main.c create mode 100755 tests/standalone/dump-mem-profiling/run.sh create mode 100644 tests/standalone/dump-mem-profiling/wasm-app/main.c create mode 100755 tests/standalone/dump-perf-profiling/run.sh create mode 100644 tests/standalone/dump-perf-profiling/wasm-app/main.c create mode 100755 tests/standalone/fannkuch-redux/fannkuch_redux.wasm create mode 100755 tests/standalone/fannkuch-redux/run.sh create mode 100755 tests/standalone/fasta/fasta.wasm create mode 100755 tests/standalone/fasta/run.sh create mode 100755 tests/standalone/gcc-loops/gcc_loops.wasm create mode 100755 tests/standalone/gcc-loops/run.sh create mode 100755 tests/standalone/hashset/HashSet.wasm create mode 100755 tests/standalone/hashset/run.sh create mode 100755 tests/standalone/iwasm-wamrc/run.sh create mode 100755 tests/standalone/mandelbrot/mandel.wasm create mode 100755 tests/standalone/mandelbrot/mandel_dd.wasm create mode 100755 tests/standalone/mandelbrot/run.sh create mode 100755 tests/standalone/nbody/nbody.wasm create mode 100755 tests/standalone/nbody/run.sh create mode 100755 tests/standalone/raymarcher/raymarcher.wasm create mode 100755 tests/standalone/raymarcher/run.sh create mode 100755 tests/standalone/simple/run.sh create mode 100755 tests/standalone/simple/simple.wasm create mode 100755 tests/standalone/smallpt/run.sh create mode 100755 tests/standalone/smallpt/smallpt.wasm create mode 100755 tests/standalone/smallpt/smallpt_ex.wasm create mode 100755 tests/standalone/standalone.sh create mode 100755 tests/standalone/stream/run.sh create mode 100644 tests/standalone/stream/stream.wasm create mode 100755 tests/standalone/string-view/run.sh create mode 100755 tests/standalone/string-view/test_string.wasm create mode 100755 tests/standalone/string-view/test_string_view.wasm create mode 100755 tests/standalone/test-aes/run.sh create mode 100755 tests/standalone/test-aes/test_aes.wasm create mode 100755 tests/standalone/test-go/run.sh create mode 100755 tests/standalone/test-go/test_go.wasm create mode 100644 tests/standalone/test-invoke-native/CMakeLists.txt create mode 100644 tests/standalone/test-invoke-native/main.c create mode 100755 tests/standalone/test-invoke-native/run.sh create mode 100644 tests/standalone/test-invoke-native/test_invoke_native.c create mode 100644 tests/standalone/test-malloc/main.c create mode 100755 tests/standalone/test-malloc/run.sh create mode 100644 tests/standalone/test-module-malloc/CMakeLists.txt create mode 100755 tests/standalone/test-module-malloc/run.sh create mode 100644 tests/standalone/test-module-malloc/test_module_malloc.c create mode 100644 tests/standalone/test-module-malloc/wasm-app/CMakeLists.txt create mode 100644 tests/standalone/test-module-malloc/wasm-app/main.c create mode 100755 tests/standalone/test-parson/run.sh create mode 100755 tests/standalone/test-parson/test_parson.wasm create mode 100755 tests/standalone/test-printf/run.sh create mode 100644 tests/standalone/test-printf/test_printf_builtin.wasm create mode 100644 tests/standalone/test-printf/test_printf_wasi.wasm create mode 100644 tests/standalone/test-pthread/create_join.c create mode 100755 tests/standalone/test-pthread/create_join.wasm create mode 100644 tests/standalone/test-pthread/main_thread_return.c create mode 100755 tests/standalone/test-pthread/main_thread_return.wasm create mode 100644 tests/standalone/test-pthread/pthread_cond.c create mode 100755 tests/standalone/test-pthread/pthread_cond.wasm create mode 100644 tests/standalone/test-pthread/pthread_key.c create mode 100755 tests/standalone/test-pthread/pthread_key.wasm create mode 100755 tests/standalone/test-pthread/pthread_mutex.c create mode 100755 tests/standalone/test-pthread/pthread_mutex.wasm create mode 100755 tests/standalone/test-pthread/run.sh create mode 100644 tests/standalone/test-pthread/thread_cancel.c create mode 100755 tests/standalone/test-pthread/thread_cancel.wasm create mode 100644 tests/standalone/test-pthread/thread_exit.c create mode 100755 tests/standalone/test-pthread/thread_exit.wasm create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/CMakeLists.txt create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/README.md create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_add_sub.c create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_fence.c create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_logical.c create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_store.c create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_wait_notify.c create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_xchg.c create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/peterson.h create mode 100644 tests/standalone/test-pthread/threads-opcode-wasm-apps/peterson_native.c create mode 100644 tests/standalone/test-pthread/wasi.c create mode 100755 tests/standalone/test-pthread/wasi.wasm create mode 100755 tests/standalone/test-running-modes/build_c_embed.sh create mode 100755 tests/standalone/test-running-modes/build_iwasm.sh create mode 100644 tests/standalone/test-running-modes/c-embed/CMakeLists.txt create mode 100644 tests/standalone/test-running-modes/c-embed/src/main.c create mode 100755 tests/standalone/test-running-modes/compile_wasm_app.sh create mode 100755 tests/standalone/test-running-modes/run.sh create mode 100755 tests/standalone/test-running-modes/test_c_embed_api_thoroughly.py create mode 100755 tests/standalone/test-running-modes/test_iwasm_thoroughly.py create mode 100644 tests/standalone/test-running-modes/wasm-apps/hello.c create mode 100755 tests/standalone/test-running-modes/wasm-apps/hello.wasm create mode 100644 tests/standalone/test-running-modes/wasm-apps/mytest.c create mode 100755 tests/standalone/test-running-modes/wasm-apps/mytest.wasm create mode 100755 tests/standalone/test-stddef/run.sh create mode 100644 tests/standalone/test-stddef/test_stddef_cpp_5_1.wasm create mode 100644 tests/standalone/test-strchr/main.c create mode 100755 tests/standalone/test-strchr/run.sh create mode 100644 tests/standalone/test-ts1/app.ts create mode 100755 tests/standalone/test-ts1/build.sh create mode 100644 tests/standalone/test-ts1/console.ts create mode 100755 tests/standalone/test-ts1/run.sh create mode 100644 tests/standalone/test-ts1/test_ts1.wasm create mode 100644 tests/standalone/test-wasi1/main.c create mode 100755 tests/standalone/test-wasi1/run.sh create mode 100644 tests/standalone/test-wasi1/test.txt create mode 100644 tests/standalone/test-wasi2/main.c create mode 100755 tests/standalone/test-wasi2/run.sh create mode 100755 tests/standalone/tsf/run.sh create mode 100755 tests/standalone/tsf/tsf.wasm diff --git a/tests/standalone/bfs/bfs.wasm b/tests/standalone/bfs/bfs.wasm new file mode 100755 index 0000000000000000000000000000000000000000..1081cb7f4c45243341fbea8add24a269df83640e GIT binary patch literal 11033 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 run bfs.wasm" + ${IWASM_CMD} --heap-size=0 -f bfs bfs.wasm +else + echo "============> compile bfs.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o bfs.aot bfs.wasm \ + || ${WAMRC_CMD} -o bfs.aot bfs.wasm + echo "============> run bfs.aot" + ${IWASM_CMD} --heap-size=0 -f bfs bfs.aot +fi + diff --git a/tests/standalone/binary-trees/binary_trees.wasm b/tests/standalone/binary-trees/binary_trees.wasm new file mode 100755 index 0000000000000000000000000000000000000000..0153412cfda4f5f77e60b63ab35bd4ac1b19881d GIT binary patch literal 25023 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 Hx$XZ0x|lN0 literal 0 HcmV?d00001 diff --git a/tests/standalone/binary-trees/run.sh b/tests/standalone/binary-trees/run.sh new file mode 100755 index 000000000..31d64622c --- /dev/null +++ b/tests/standalone/binary-trees/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run binary_trees.wasm" + ${IWASM_CMD} binary_trees.wasm 14 +else + echo "============> compile binary_trees.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o binary_trees.aot binary_trees.wasm \ + || ${WAMRC_CMD} -o binary_trees.aot binary_trees.wasm + echo "============> run binary_trees.aot" + ${IWASM_CMD} binary_trees.aot 18 +fi + diff --git a/tests/standalone/blake3/blake3.wasm b/tests/standalone/blake3/blake3.wasm new file mode 100755 index 0000000000000000000000000000000000000000..7f6cd7a87de2b4b5fed85083a4d85b26c720b058 GIT binary patch literal 36160 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 run blake3.wasm" + ${IWASM_CMD} blake3.wasm +else + echo "============> compile blake3.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o blake3.aot blake3.wasm \ + || ${WAMRC_CMD} -o blake3.aot blake3.wasm + echo "============> run blake3.aot" + ${IWASM_CMD} blake3.aot +fi diff --git a/tests/standalone/brotli/brotli.wasm b/tests/standalone/brotli/brotli.wasm new file mode 100644 index 0000000000000000000000000000000000000000..093c02e9cefdfc51c255b84ca2251a8470438f0d GIT binary patch literal 705701 zcmeFa3zS~hb>DX%-}^P+3A_ z!~sUI?9jx>VQnO3Y9!T4xopLT7}?f}#gxusTcnXANTn0nR%<1dQ#W;&*%h}|SKSz{ znPsMC%>Mp+pL@Ui4F&*dJ#7;taKC%+dG52{d!KWYcc1!!G)a>5llkk8XJ^hN`X@be zJUmwgJwf*kzKXK3GeeZqOy(jPCX8T?5zh^s17hmsdyngQoPrmCz@BV>% zl5DZe@;x6q{lSwT{?NNleej3xIki_S!>Ys{Jxtzx^8Kf-T(xJf_o&yu_vDA)^R9b7 z`oZm_y*QpRV}9RzuQa3nz3<-sz`H(t?>!$%I*av|?ali>cw!EX?qZ3lmH5bqPJHk~ zo9|M=-Js~v^?Ocy_|!c~Yq6%_7{_$#p6z$N@5H;`e`+_ZyOcR~&pn$-Z?UePpSgwur|AFiJFX3PRad4SGhekK(QvG@9%i1qLTy%@ka5U@=m%9g{ z_hFJIYir~ApQB6HPhathwAD&m?IZ2trLF9h?N_~ez=PInUYn&aJCf(GZXJ1btM$_E z@TJ+H_1Y}U`dP+nil$lis#j%cn!YxD?TcRAYNz+6gF!n_lYXZM!GuTuRWa=D%Q`=B z&kua~<~W zm~NKo4axN9(vZ)RY&~Buk|LcZWfppOkJD^DTQ9PZZcci+|4EZ!k-jELZfmU<>Cvne z(v9g)re${9IHzW2&!#Cav*}Nzqt-A!+6c*;l0+q@KcCvWaXu^<-A0)e$(=g%SA5gyG(>Xu4Yg7+Fi9DvHwAq7>NcSSPI zd8sy;Tx(48G*BiCbKdUEnoVeS#*l6sX9X?t%Nnwgx5pWirzY+F?R1t*|8ZI*6iLH$ zBrp`*=I;oGJ37S+DHqGA&vmKe17^L$(1#L%O~3x-==;0EOFG z7dTL=RrZTc(ViEe0ypJ=6$r_!GfIb6W!Bc6tzT!OXcrwdBA5?~j=*S3xeJ75&GaI%h2AKQ34Ejo2ty(Rr^8#HJ;M+EVUkHj53^| zrur%R8?&Buc6y@(?zHSn%QNb1PDa9g|C8n5RKg^)P0DI+S@>LPV+=oY#)o$3?lJVr zK#EgzYj_oY+sd$(uSrsSZun;RS!h!(8-Zht{g{@~+n=TRIs-XlI9%r5Pe^C&B5(GU zaa)|4(WL;CS6z8WvsM5SHg&zFdv(Xt+@59|!=l9?d1K%MqU}wll-vbiMqp4J3eQ>I z)iMPQ(rpT)C$(gux2=il=gH~HVfDbPW2{U)1+SNTJu27rcx3fvIqL)<)WvkAY-x$I zqE(M#So8$uHf!3m1$@rS+8O?A4&x}2S5vsM%;aP6E?CfM)oBX@e+W^J9P^W@$$c~LuT5N~TcDT5-RV2V11iE?aBrpL;H*W#> zi|N+MHzg{Uh0f`4WQ!*}fR>kr;NtH)Vz9iqx5o0bNN}2V7;T>npL;To4d=8+PbY<= zw4BA3g)XUD=2_n84MaX2mbSu^-dj#@HvaHODF|Mq^w{#1vL18maYa4uTuQ9Vj3VBp z&#a|8#;DcfS463y-sFl;9yA>|^pjtDKJ|FIg>xp%}(=P=VSm*UzvYWDl zTzVU~un0Rltv9IXEy)}5csWN;x_!OZJnnZFTYg>lr_TU=6*?QQ55?=fynZ^_Xf$`8 zis93(#-r>pJz{Kcp^bA4;ZpjB?5#ZdG8O+b?k^@brXqP=`Y2OC9k;fE)_S~zz)wOE}!`M zK<2V>_^`%zG%NJa zue7AiR}ZDbfAOt9Mvd8qe|&NDc55$$HqCi`IvpNQQ+S#x!rQk?NrNLBp>;a^$+OSG z*TSP;>Pj}BfT63{!R0iWfnG)H&FP3s{^oSRC3|z)r%1_+gw(OR*}6f%_K2%6>Al_9<=PXSKW5(c2wQ=>=wnr3lHdEl^aCRvUHv@muN`f zF=u!~7opf-D$<5xmz11dqvX^FN6DpYlw7JyPOedMQkNWGqvW_QIl4y4QC)I)jgrH< zXImrS6%mZT~e5RH4JIhB@JV) zf=l3QoKbd-HW4+kWO|K~rq&yjq>&>IP3cE0H!#`S5Ian=^`Zr$ODBbf${s(2>y>^Q zcK%t{bSZDCP0=vjMp1&)(tDvzE+6&F2mEr}FW={v@Ab!SI=dU~d;1H{hr8%l0NiM_@V#axJnq#7%S zjvZI7b+YUkKnpJPD!9t(m^L~P(iploAM#s(>Ctk8j+TUXGdVVZGFVMqI< zdPvcWD2^hxG0W!$jnr^383{qrGQBCik6SJXQeC$Fg7Tv~6a`&A;FtIM<+xu^$Mo*| z{PGUJe6L^L>KD`*6}iwZC1(!)3U8A%Td4F;FrQL*Zbw5UsnAx^~=aF zJ-;BS)C2JQqjtKAg%s`w1YtTG0^3W4?J(K9u*sR~ z2uos>20{-2?qDq1)cMgVlG%W^WM7ICX#C|Apq4FJ^Nf=zX7S%?eur^;xQ|O)N1pBl`}aFrji- zn&mP{H5vhmkuXLi#Rj&opj&iQ&mf0cM>$54Z_nDIhI&1KEd$U?Gu9bVvKg||7@RDN zQPo)OkMT;ZY|K^yeGDnI&uSTabfVv|d1zsm1sH*4Sqr=W1)ifFF(0ua_@4 zf#I3Bmd3}jY!n%?o10)RG<%YSqcTfEHiS{h0f9tmg`^lEA-KPU$i0s1Iedq#SJ=V% zc!=wlxIfJGLT6*P#`Ph1$v&=Uxw6i3H$cxA)!ZZQ!qZ$|#Pv(G2VR7WT=#SREY}xv zJ-RVFkgq#kyM)JGAa^5|O}Vj;X2&%n#K%%dr!N)*#D&PbnX4GJeysYWnV|_`o2!t{ zXFUzL6pbhF!b_qGzf*q05g~|Halqm88uOy6FjdvOqymb#TH^A01ce&pslb}LK4coP zNEkN=USyTmI}J*vB=DuV9PI~2+s%;!>aFEnHM+stXtZCoVj7neDK#o>$}}G>@|Z59 ze7{~y3$x;#z)rdz9@_lQH6~^b{X*jymG~O*zMU>v7lwtT^*L$0#b~p{b`!omZ^RyN%U_f(wcAd%R2n=ZhVRZO1#_fyU`1efX_j=>^ z!gE82$>9U(!9(qQAAeR`k@{r==gk@fncCGgjlt>qFhd@dbZDSVL|_vfh7 z$6H}jK)G!UAGxK2+YW3j4a8qe%l0wpfx9Mea)2g!dry8m_RepZW1>QEAdpCNK6R2iO>q9( zA|3I0?$6C=#1YmF7Zc61=oky7{rq%z29I32wIS{f;&$ji$hteSg{G;A^#VpN{xdo$ zTgAXtyChs^FIlLkQcwf4z_`Vwv{Z1+Vr|K55}eJ&milUkgGCqByk)DJoe2-($Neac z{xQ9GVK0X%qLFk_ati_l45k;32;!&TU-mXn2SOb(C^o}ec!K~vOyx7+UpRA$7iU-} zoc>{XW5{IN;k(t_%=yEY<>n|}RDgoj(jWyq^sG58%o5F|Rx+{C2`ov)N~F`J6;XnE z69Q4MHAC=1&l*$|xXjyl4bE3ZiVpDlkfVtzTx9G=v)>ZBfY$2jUiGB13s?vS^6bc# z*8HaIQ2?%bA1ylIxJJYKn=%&8ntR*=bP$dedIk_}dy`wCPr&Opx~$a+e|c7-_@?Xw z;U3}YbatC0#p}|CQ!s`OF3F-sh#E%sZyUD{Yl(})W+t_ZLmpM2SBTpnqEVs&@u297 zDoh-ij+2;<0}DWMOiMMn9+<{a;xyZ~w)*`>!ZilS1oIS_)Ebko=7sdO@dNdvKL%jj65?=~^UASbF7*6Scgsokv(!)d3_3+OP%#wdGJ6houW)aWw_rs$}j zRf!{mro<6}u(GROoN@)*qHBvc3R|=($3%Ga%U!LCs~oMQLK@&eD^qTF10X*HA=fdT!@yssLAi6%|*FfXjP-6|&F-=_kg#5)ZN zy2IU-$qa0dmc_EC8Hu#uDz^C@M9TQ{c=(QPqt_0B5|R8!|U;;|W<%42AY$hy=NRBVc)KbkHsaYFOSrgc^w5%>X#Nu(lFO<%03P&x@E<}o6-)RhOg-ghXvJa zDwH$#lyu|iQJ)s2bc^_A0HC)7t?_!WkDgqDMV%TtRVBog2B6tmp_XA)*hg^@2B`t) z0&0%nUMoDg?*#0Rc|=KqO&3;GG#n0Cl1G8Lcm3#Su^{3#?6)>Gve_V8FD7o}ex~AG zR2>A>o3T3Cq9(j_bxqjPP-u7;-kLHfJrTMPpV?a(9A8-lUaFKqs8gzM*Rpv`5JD1& z&i>n#vO&X8Fi19nmfJW>99zysZiqg8dP`Xx=7zH*Bk*acwxaE&I#LUI#Sl^5+nBxr zPHWtWwMO{%X8mZ}d^R1HF!vtxy$B-lr0sGXzVJU;fTryIsUWs2N|)T<17f%iK_W5e zl`BH5=v5HIHB9Ld%Z{l1jKs2q2uZKlD8}I;qr{11EVZU8fq2XCGzlxvG6@*fmjqr172o?^HPYwfj8GF`d-cjI6CSkjsh{Zu5@3^;uD@w znmz}Zi(B@Lw`Akb_P`#;6x{F^M|>A#Uk~IwaX+nRgVAEwY~Xx1}L~i z9a3r_!35=C$ z6SG|Y2rMAxlH3vUZOe7Rr7`?p2k9s}=LY7S%fnMG=`Ns%b^mU|t3s~#SzpAKH9Q!g zhuqb9nsh+PJUp|as?z)N@U;D=w%!o*NGs+HJl)OYyqFGG;H3hI<*OA87_VR@*Z`<_ z!24+kRv`{;4y33YGPmhJPY=rx29z+ps?HzS|KCd{cV7SLy4v#yXj5372&hwB5$ zWcdxoKG8l1Ey?vU6f+p{%9sIuqS}Ly6Mu4MkYhgK`skjNE>}B0I^u^6z?cDp?*wVk zEUZ{)3MPlPnWCvBePJfT=5VNL9&{JQE>D1^X?oy}P2Zx|Jm1+TDU{Ep5Xj<{wG@iV z09IXwGaSU#lBf@0E`YQRf0-QFB_eW2>g}|cs?P0e;FbNl17*)Tn@w_I0RL&_x2ouc z04}bATH6gKq72%e+8Dh|3YuY{-j0Zx!#ZSN>HhJEsUCnKZhUPXH3{s_exk1 zrfmu;5SRd zLWz{<-UdT)Xx6`>?!nc73Dj%)lrojXpgwA(3F?f5j4jb4Yb~P?^iuPs{C=8+idg1q zd^;3Cgmc!bp;b+|GJE!*+S1^Nlq1U2an@3S0qTrkkYS8j!7S(9kXV8!MgCitTp?M9bB5{K}FBW{g7*nPY8~%_H1s;gg4FouTJEw#H)KrM0D}qe~ z1K7qVOLLm-=T< zi@sk*TnK}b!mqL7&UTW)pG{w)maEK`W>x7Lvz@!NuQl7q*Q?n|dNDKcBKMVQ&Rv@` z8Ej{XI0*Y&;cVNOE&=nSlt+OrmSlDm=rJs6^8QWeCs`}yVlrirfVNGwS8-j65+27p zruk|@GjwJ53v=fytOrJa#%t&E9@MLBycSB`Yn3Zri>)@L7?rcuAYq(mNyOF)KS?Bx zaDZio0L-ces`3oo6Euzb=n=tTTNh8k~0;@E3T-!m4k9frTcSnyiVCSzQZ zZwln87esyoyij@~`a#E3Q-)5q`9YwSi&Y*r0UgO8T#huOG#>^fvZ$Diu-KRl!RVT5 z44$2nR#RXQgLL{pRg`Nl?3kRVm15kT<{VW;vggZ#`r(4obl>^*c;a~r62mq}e_+mT* z#D>|Iy`l$7vcN)cT|tmOz#E+2Ec>8IIC8hby##+Z0Q8C>WYLEe{4mH%`8)KMWktkJ zisk8H(p4;CLTlu!h%eeN?^d|5ybnQvV%_zw6c5n45-kk9_zsH+@$D0rH2HKA(?506W7cH1j*B!ZR z^AJvJyN9o-aK9>zGVnBYW-iEk!x@-u3dR)USgUmuzU;A=brw7oawv+T7ptgHElU=d z=IdG{g)&--6C1`r`e!2sJ)kRUlwlN@wd3?C#*C8h%w%e`0_IFl$+0Ve*bURuCH}C; zLB_9xgP={))&1au6kwdICQ6iujXJSiOrn;;z5475?bwwf7tBC-0u$OOA+-^v>LC2> zw&gapgXD{;4Z{M@vWkZ%VA)uXU>V_#jv=TUt|}nT{4d88kj+>jFbebzcIxR(z}=oD z(%NtbfV(c$vH%f;>FwoUt(=hira3BIyY^>vi}C5L*_di=*b7TrP;x+wfUyl`eKn_+ zMy?_IZy=#GH0ZHSlj6`!Pl5djo^C3q(mbDi_GZHXu37`Am-hSKOkYi+aBfmlivj&< z_8?+85`&bVngR|5`5hA7c(y0PxQmP^G|QMBOm)FV#El?ejO_Srr?gm4G|FbLu0s6w?Q zqFOnI6SI;L&-#vMt%^o%&4dQ9G_{Bm7wf3TK4nW&1UhOUp>bxXCquVBtkNkM{5G7U%!6$U5$SFH6ru;E``dD+J!oPEks#s)v7NP% z3PIkA&>Ia(Np{LCG{mMmWIlT25244%2pCY5iiX!t)xzsuh1cXkUKOuR`oY6wK~(t7 zu;F4Okl7|#CZKd&0O^7i@;hTd?GwRJQcP6yGz67UmA1>cFrN(HO=5>1Lag-^20$?| zbXcCQq1Yhg+HB_2o;oFK=eDs$f{%9K-s$kMRIWF;)di&=$}cA1b3Hyw3x=W`i!8hn zO)@%+kOaqZ)Txj_c090YRxdB$zT02{;wE8xpk|Og@mU%hE@&9Pn)&YdQTV+!O3{!v zC6nJeFyP&)uJqzKSoL1?(&4vL&O(Vj^HuUjuix8fx8aeKS9Uo3zlv;$lNwZ{(S1vuSGh^lQhrhP+dynZN(nR`$)^tm`XU?Ue$PKv(`H}hi7qF$Zq6upPtX- z18`_!LYe_XHDL(6Bn*M#2-uO4S>+j_+LT!H#A758<+*H0B1UJ1bbBcZRz+DxC94h7 zMR0>xDUH-FpB!=?$s4jc?@U>Htem{qc|SPFZU$Uz?t_!UL_lI+J?1h5r);$9v<)DSsV%!{`zAP)RbQ++&_?@TWoxn;4&Kwk>|(&>FoHp&mhtb{(m}jb^qm+k(Km%6F&-XKS%*#LJpZxRCzEks*IP$UUv1WbtIq)>-~$4AM5Y4Wfll`;aG_1Mm>C9xCu#+K;N za`<(BCf>^rP1)73CKB_U5Tz9G?4o>&@VHld7cn9Cqq@6S|D2%VTs&rjG$}P+C={%F ze)|@AxCn?UmM0qkfhHSZ&ow1+zhZmxyyYTcY(LdlW$=QrIE-*xp+;89Xjl~CEDx9C z*Pi7WOP0VA+k)+tZDn!Ts4luQ^`d|YZ)C|3$CkVk&_dA=X37CTgYH6-c;+)fm8}3U zHPn~*w9G0|A^2DuJ0{piaMy^7{5YlT;1T@-Isad>W>M6`&Dx|5;ltI$;z*O`}wZQ=|qYH@L$ zMQCxgccQQjZ??F?Z^cO!`w*?h87SHybOza!$Ok5heYUf8N5Zlvd566!1f*gGPJYy~ zb}yv6Y+Q4svvEP#71E_~NT>#JP~asfFW=f+pyKC-wMw39s2J;!|JwM?k`dulPXQt@ zy#nL=s>ZtudVQk2(nDbl5sovteCw=1lW7#zG&0 zW?qBpqvdZfLY_ty5N*$8JwHxKQje?)sNBh=mi2p)ItJKf!rn<;>HJw_hbVqRz8vHO zQH>^~PJnRM9q~lRTF6Q5%@KE(CMY6HWQrJER938BfYO+O;1kXfpI~+<4aP2`C5&lj zI$}TME@e`ZBIY1gD)$hEI_zLy0)vqjqoF4)AT#y;Lw?6*ybWelZ47>0U@pS9ZRB-PYQU`l|HIJ++-(v$S-My>QQP1u^3!;rzOq zCC0539^XG=C^erdI<<>#h2Z4{1~;_<3F-i60plf1>!HZ)!3<6zoI9Gmg-u{w-dJj9 zD76r&`g?3mRN_gpXR}$Btcbf^j<99jEqcD2)WyK`}c_!PAQ{GHnEE^ zSu{VuNxF*RqorUSQ@;DB$Vi5$!w*nb8V^Vc2K7Ed6AbE$Y%D|YaV}5z2n7`PXc!SX zfJcW|C^AoB@z|Mc`24l$!J;E|ffeC+F70kLE@HO|sZN(2LexU#OHJjYFo{LR`PP-x z-G!6F+mfJzA?%k89WtL2k?ejgk_U2)hc%Q)8&uR20cpBPLK7aOS0Gd6Yo#}3y5JY- zZSd?32|8FY)rAExDBKnFn>w)HyVj7>shT9M=xzLlLFtl(W##19?r~*K5Z{$jG}Bo| zaz$ofiy$B_+VZZI#lVp3Uc1(-A%pR60S;+mlV6Y`SgUAWq}+f!X5{B4ZSWnWqeLlD z4A%|`DTv12SPX~1dwsTytKlU`44i&9BpC<>Ml@Xs=x)Z}iC2>~D3=79DNYf>ZC7zI zD044J(luQSR$lxuTi@$HcRRHE$RuQ-r~Im`$4MGR6Mrq*B3=ur=KxW73+p|anNI-* z#FBB>DC}8@tTpfi1r!4s%6Y<}vL@LS)(pg0*LT4~<#i4~LI8x#2coATUXt9Y< z$klKBs8Af8vS!FyASr!qsL&`U23RE%v{H(}39?_z;YAsI`>3DDqDp;}=2>QyPeNGc zO{ccqllB{usBJ1#ohhlR5Ul$pa+r|i>qtFkpyn^{k&GRaPr$!{X|FaB`7OGa`6-Yl zxEY`!B zS37b`2)n|_A%U;W$fYn6q3D|Ph_#?qjAH}j{qZ#lt=*IT8Bd`ixJi&J~QI!+$d)dIPTRe zq{s8)2oEl|qVRMYW_cWI+LH2f3G<3SWa1A-43R&e+|4yrH?el{2Wg5DzeWnM3}fO1IcmnxGsa+2R+5Lel(V4ZMbA-_Y|13CV!=8YADLSe!Pm6Adz%oMmEMq!Os#P3S ztC)bQs-YF!A-LjFAr!j*s+MM?rJ3x#Gz7CEQBJPNPUcHPz~}3^Gz2f3th?V>A$*|~ z>%PJY!7Hz|LM(f2r2&9{gSpxPf_+Qq14i#iWLc4{N3Uz48YWLbMNDeQ(USF|oEAj{H7_>E=m zmZkED`HN-AlGm1HJA-)_*>1~nrfI-jYU9!$2pT%J#QZMNzU1=9Xs1B(#Z$LfaP1tV@RiwK5;Hres~*DDRZS zxokczW^WS2(-xd;_@lW_qt4h@j57B=6mfhjpCTY&A_kbTNg{wmX_A0 zuAE+ByK7cMq1zFg-r<`$r#&mjABgZ;U@Y2qX^##?j^n~m^RSnmj>aMIARgG39$Njj z+*mAhNQV7PQh#iN&WNVr25>>o`2lOSswg_l{q`|V3V^_leYXEHY$U8TfyZFJ$A_dX zINqwa#~V{PtnnMQi0F_v`a8oA1vU7AlR{%*-;Z3snNmAH1+x*D(calL%_v9)RGIa< zsJtll$aYKzdHXZ@DLKWApFlhO!a%=%9d z*qn5;q}}aXRG5u7El4qw(AIATXPL6vki&C8%`ft2ZyPTaseYpqnq|#oWTtndq2Zzg zE0uM^h8c@fkSQzNmI5KJE-<*s2S-AifD-JDo4i(Ijrl&f9SVi6DDkn}aSNxiN=oPODv)*}~V)iN{8w(nhI7Uy{aMZ^&@ ztN@a;@!K=mH2}w54NH2r92Pj@ZYOVlK0X{e5waE&g2xo*tPljCsh&=8KF>l|z>7qMOD3#BpHOvz^e#ZHH_bYllf(V1hK z&wvLNaD*%>CbV-CRA~1+fWxMkJ%AI_js+YY2_oW>FX@R)B&ed@^MVRk%O} z2mUQK`h+uDZp~Tb4~NROb({z{h&-HyW{yXIz@~B7;TNan4E#ta*)z5%Z6=AUkH7u@7 zSnZg0x(C5;j0x2=I!!DpbuHXbR>6WCx}FLVON~KbGE%U7bvH6nj z;uu7j#-YfQ6uAOE=RKE+>Y{8V;c?C*-pA4Dl>;R0A`l zs}K$?y+$|*Q{D8+t`rDKvMA=NjkrQM;fbpcwmr>v_0Wez6QYplS5ve5%(FnW#KlQ2J_@TO^4q-8Ew~0 zz-57Z6eCHH1Z_4-$8@x?Dn4yzpeZK}ZANQpztCwlja3p zT$YB5{v_9yt#*}$i~Uul;i?*jy1TPk1TYobpBi}H;jEsiz>hku3G?@~jlySODa01T zm!om_47A2qnn9m)SLEbm7W2T}^O=PO?i^>YI13=c2_<}W#LxcF{(|bX5;;r4u3)&Q9zmd0h%m9yV5f`c)bZ|G?Dq+B1ozn@d~#OIPgiBgRJCf>oUGW3H12sOBK z%?{_Fh-mUG??fS1@B_o)Lp>vCKlpGDYJP!|pEo6cld1Rx3Kl7UQz`hO@{TSe;osUt z!oPVL2~#4H@NZs)gfF6W+OduBLc-DfM>PGiV;j>wj%`$yNlpAa#y0F|Rogcr_wxLl z#^LbEDC)m_6;XfjGrt_@*<8Jw^TR?cx((xr|RxBJzo^ zT!l~Yi8K@S(qgy8B_#iegPHRG0M3Sg*h`n<30& z;GtP*raMz2`Cp}L?!9Rvl zx*JB8(az`rIWCRpNH7>#bhI+3_Jk2hqQDyi)F2Clq{edE1>muBtCYdY^kbeW$3Sz) zBHjxfqPhqh#43h*b;RQQc=m53pyubqqHNnii1_+!X6{g^>?@fA^LW1L`ILGbhof9d zxLxihpwDGEWBsE5uK~0ldOl z=~u%m=Et#qLwQAY9IMkSWQDBTi&rdU5Ldk7V&oM>8^kNPJWpPMm;7>Gv9}?j4B4yl z3Rx${D>!?r;uW-ysbajMHcNQ+{LB(X=bxil(qKWqdUfq3nk{>Ap~_Jy>&5*z&yN$u z-2R64@^#}xm*@6>%WxvJ7wj0t^cE%bUto@;1UrdMX)j9Xxm4|G|BxZgU?PX7nw71D~O^zfxXb+BrQDhvcHh}0; z1`vMYrUBI8C4ZQ5W^=Z#_bo!A7QEy)Mu~-}DzNp_D{cFZ;^i_r zSa|Y_7=tGdNabdn?zqNuA$-YK+7!Ixxni{*rzC>yzE%rIrqK|JZ><~a(;`OJ9c~A4 zVQGX6M4dPLiD6QWFd9NK2k1ea64YVxKb>;`vnJCk?W1Lyr4sBly>d)8A3s{944v^!3v%>GZAVDS)OGhi&KnEqrlDRm#X3X;`9oEoBs;e3#myzl$uWqvY9oodDC=(Exi zwPVm@gLYuK_Q*3J5!B!8$v#H%cg@qU)we|_Nax*pQn7ZvsAD_SAQ}GpFdLjn?_;~% zxq}>tgoVCN6D%`%r2ihOJkjP23v?GfPT}Jy=9Gsi2TgGTQoe2p0*Z@qSUB6QP-oBF zMXEqhlvk$j=adDh?|lAtdN*k`!T|qNslJ}eC+-N{Y%2j&=PBD-S2C`vltg=gzfqD8ix{du7Md zaLWve0Z}&{6s3U-lxtiK#0J<2eE7ov!dZoxPjaNGDJn^g>H|uw3BHYh73B~BgREEu zfr-Ol%fD6xrE}d#D?J<-y&fg!YG~n z*QLZCShhjVw!NR2zvLhho!A`?e#8b;^qKp}M`JLE<55`I_lt7?U(wa<{lu)eJk{(w z8{u!(joZvQNT@C?LLog_gZcfOZ8yqJ?dm7{8G8{&y5V2*DuR%&;R;WHl9}ukl(aZP z;PC%=QD!O3+0r?e896U85GJB_$^?OYgnZ`CfYKbA6+=4O*RKRmv01gw$DOdUY@C=BK&edqT^=JSR+y$~-LyNhu0=Awi1grR)<`%y6w|X0| z%#wekF}5#E{}((t_c0bPVM4N5qH85SdFz}0)~}s8_PM`v^Z9b=*2MlidGo{duk(CH zrh0zq=J)6$k#MQ->oC~+iopdhxBfF1|L(2tvp@fWy8i3`yqUV^*?l+sZ{7%~$?Sa`4Wh2xyk!Zmn&o(W| zrO;?3JbG`nLd}L8Z?)x4Y(l-k0#seZW+)lk=<8WrVryW5>@~NF&wvh`Vz983eet$6 z1+`fpoycWLA-h+wQ>~!5ol0n5{K6Xd;|d;X{fCp+{DbGZg3Z-vhhIbvF*U7&R^i-1 zIZfV<7!RL80P6aspM=}rU_W?L@Z;Q1@c|`$zR;9{K#2|3+8b z-M%;_bLByW*pU>&A0MH$ARf*mn>!@Fcf@W#AsjfD!g_U1UPqGQERS^ENrAmybAEnsoT8i z579(oah?07Ho#^T$9v2wa%{6?N?l3sIeyi4j;oL9?mjU7I#jf5mu62Lo!J_DT3zf( zy&zxv!Md(0sVAmf_jK?IJ!ykPJv_~++0*q`=t-F;b*0@s6<6r#GUzpXy5R~vNi1Kn zr=wTsX>heUz4{70k=AtOp7?m69hg`Sr8=m~zxuCTCze%1{upr^7?ccAD~ehn*Jzm#lDPeX8+ zd8DR>eUXi8%Mv`jW0V&D{`vjV{?PF{GpWa3Uuq4*v0a^sX!bS9$Jk`6>yO%ITWF8p ze>LTFO^I^L&O!Ty4T|3>WUUP}B=vn8O(u_U-`#rT#~#o=AlMXY3EW1Ms8VT>TB-0T zV_6si#@QEmrnl{R10u#Jyr`YQ4%31!CE~se#qubbv+c|>pkR^MahxR39ED*@7&1%v z9}eZN_}whId^83=oiUUsX?A<#J7BMiW0*rqqi|cq@_39lu~&g->E;^fylbKclZCd3 zwb`C}hU9h~Ba{3rJIy&U=8*);Uz=ttXR>&(#t2EEFBasu^mSpivh^ZkikytkSEaGv zmO@Yaq&fAO_Jy}>-b(rACVLE4rT%bQ0h*{CAjB?iv3*4%0A~EwJ*OUQ&S1-#2E((v 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

-ODOq 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�vf*!n9Ee|6LhNrqcWo~(w-42cw)qD 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

J^W&&Bf&2Tu?f+wk2cbm+RtwQa`v~}hk<_Sz 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 b11Tx3QamZGTenG0Z<&&Qe|k#G2b%mJdf#nd literal 0 HcmV?d00001 diff --git a/tests/standalone/brotli/run.sh b/tests/standalone/brotli/run.sh new file mode 100755 index 000000000..1ca308eb1 --- /dev/null +++ b/tests/standalone/brotli/run.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +# Download alice29.txt +wget https://raw.githubusercontent.com/google/brotli/master/tests/testdata/alice29.txt + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run brotli.wasm" + cat alice29.txt | ${IWASM_CMD} brotli.wasm -c > alice29.txt.comp +else + echo "============> compile brotli.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o brotli.aot brotli.wasm \ + || ${WAMRC_CMD} -o brotli.aot brotli.wasm + echo "============> run brotli.aot" + cat alice29.txt | ${IWASM_CMD} brotli.aot -c > alice29.txt.comp +fi + diff --git a/tests/standalone/c-ray/c_ray.wasm b/tests/standalone/c-ray/c_ray.wasm new file mode 100644 index 0000000000000000000000000000000000000000..78b153d1fea213e4facb586746242f5225b73e5f GIT binary patch literal 89879 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⪻g8!Oo( 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 Bd run c_ray.wasm" + cat scene | ${IWASM_CMD} c_ray.wasm -s 1024x768 > foo.ppm +else + echo "============> compile c_ray.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o c_ray.aot c_ray.wasm \ + || ${WAMRC_CMD} -o c_ray.aot c_ray.wasm + echo "============> run c_ray.aot" + cat scene | ${IWASM_CMD} c_ray.aot -s 1024x768 > foo.ppm +fi diff --git a/tests/standalone/c-ray/scene b/tests/standalone/c-ray/scene new file mode 100644 index 000000000..082ef1196 --- /dev/null +++ b/tests/standalone/c-ray/scene @@ -0,0 +1,18 @@ +# spheres +# position radius color shininess reflectivity +s -1.5 -0.3 -1 0.7 1.0 0.2 0.05 50.0 0.3 +s 1.5 -0.4 0 0.6 0.1 0.85 1.0 50.0 0.4 + +# walls +s 0 -1000 2 999 0.1 0.2 0.6 80.0 0.8 + +# bouncing ball +s 0 0 2 1 1.0 0.5 0.1 60.0 0.7 + +# lights... +l -50 100 -50 +l 40 40 150 + +# camera (there can be only one!) +# position FOV target +c 0 6 -17 45 0 -1 0 diff --git a/tests/standalone/c-wasm-simd128-example/c_wasm_simd128_example.wasm b/tests/standalone/c-wasm-simd128-example/c_wasm_simd128_example.wasm new file mode 100755 index 0000000000000000000000000000000000000000..98cc702333117a1e44da5fc40429367bca42b217 GIT binary patch literal 11486 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 i1i$#JieF+%3iHWo>_u#>@mi)DE1F run c_wasm_simd128_example.wasm" + ${IWASM_CMD} c_wasm_simd128_example.wasm +else + echo "============> compile c_wasm_simd128_example.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o c_wasm_simd128_example.aot c_wasm_simd128_example.wasm \ + || ${WAMRC_CMD} -o c_wasm_simd128_example.aot c_wasm_simd128_example.wasm + echo "============> run c_wasm_simd128_example.aot" + ${IWASM_CMD} c_wasm_simd128_example.aot +fi diff --git a/tests/standalone/cat-sync/cat_sync.wasm b/tests/standalone/cat-sync/cat_sync.wasm new file mode 100755 index 0000000000000000000000000000000000000000..c53068b855a338f55da6481e107b15da503d0fdf GIT binary patch literal 16987 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 EA4`$s`~Uy| literal 0 HcmV?d00001 diff --git a/tests/standalone/cat-sync/run.sh b/tests/standalone/cat-sync/run.sh new file mode 100755 index 000000000..1baadc767 --- /dev/null +++ b/tests/standalone/cat-sync/run.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +dd if=/dev/urandom of=./random bs=4k count=1k + +if [[ $1 != "--aot" ]]; then + echo "============> run cat_sync.wasm" + ${IWASM_CMD} cat_sync.wasm 0 < ./random > image.ppm +else + echo "============> compile cat_sync.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o cat_sync.aot cat_sync.wasm \ + || ${WAMRC_CMD} -o cat_sync.aot cat_sync.wasm + echo "============> run cat_sync.aot" + ${IWASM_CMD} cat_sync.aot 0 < ./random > image.ppm +fi + diff --git a/tests/standalone/coremark/coremark_wasi.wasm b/tests/standalone/coremark/coremark_wasi.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d2d3c96e8bc55ebafc15cdc2b58c43d13a867690 GIT binary patch literal 42440 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 literal 0 HcmV?d00001 diff --git a/tests/standalone/coremark/coremark_wasi_nofp.wasm b/tests/standalone/coremark/coremark_wasi_nofp.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c77716fcf9e4c4623ee73acdee213713f0a55eee GIT binary patch literal 42059 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 Je=55r{|^$DQ-lBj literal 0 HcmV?d00001 diff --git a/tests/standalone/coremark/run.sh b/tests/standalone/coremark/run.sh new file mode 100755 index 000000000..f2641eb4f --- /dev/null +++ b/tests/standalone/coremark/run.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run coremark_wasi_nofp.wasm" + ${IWASM_CMD} coremark_wasi_nofp.wasm + echo "============> run coremark_wasi.wasm" + ${IWASM_CMD} coremark_wasi.wasm +else + echo "============> compile coremark_wasi_nofp.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o coremark_wasi_nofp.aot coremark_wasi_nofp.wasm \ + || ${WAMRC_CMD} -o coremark_wasi_nofp.aot coremark_wasi_nofp.wasm + echo "============> run coremark_wasi_nofp.aot" + ${IWASM_CMD} coremark_wasi_nofp.aot + + echo "============> compile coremark_wasi.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o coremark_wasi.aot coremark_wasi.wasm \ + || ${WAMRC_CMD} -o coremark_wasi.aot coremark_wasi.wasm + echo "============> run coremark_wasi.aot" + ${IWASM_CMD} coremark_wasi.aot +fi + diff --git a/tests/standalone/dhrystone/dhrystone.wasm b/tests/standalone/dhrystone/dhrystone.wasm new file mode 100755 index 0000000000000000000000000000000000000000..7c31879a0437ecb79618ee710dae966f9e882c60 GIT binary patch literal 5000 zcmai2YiwLc6`q-U_Yvb|P{4lv<%vs`b zJ!bNBN{uWdD^`9;VxM82Cjp!lCYXRyCK;Gn@e5J{QzjjmK_-q;j%1ze=J%0*mJ#EK zV!RbHKr!xwj1I-P>obI0G#n4-RmC(IXy#$1`IAr+r~2;=n#x!-PzT8uwZ#oXGTD|D zH*eA|+EU-f)w84Wt(WkT`i>?7?v0LgM7E`)Mqi^5ZJ5cmKa#}@$^s&i*U~Z3M}w!^ zndE5$Vv^JMi^tM&vQO_q44xJ1WQW6htd~9bSdZVw@vmr%OI;VVN2`t2{MT@o#6Ij; z31a^}+$RFw_BQyDR$do+zkkx?Biy`plEzNGN-G}l)`7fOR@^b9kc4u_a8l?9T;GOT z<*EubN;0UEdRa+WMhDkQW(2cLNOlT#Rz*1OSnZIM_}CrrQVw!(J9`4o5#k(itW>}O z;(%lA4LBL%WE^Xs$4OEiMRXn|9c#Zg23i7g1-jQ?)q#O_OfEQ}B>_LZDCEp|8B#2t^= zgG9dGPwYb?;}HpIq?5FzlR76bQz)hGv9w7NgBFYdxov>CD(|z@E40o* z)Sx)u#t5o~BZa3??^Y$vZ&f}p1}d|DqqBodFrn^i>XDZ^zt$vX63&;vrEzD~LPvND zy4=nZ2{0f&n8qWILQHmaA38!BMa#<;D_J5F&*5`&mxDO0%S-ut?BcO>8)78qWUL70 zT-r!T+y`dfDh0?pS9nZVr=d7BP)F{Y=U1;k^({jFK%btBctFWICm+R1cb?JE8Thg9?PP1AUW}PO)@^ z;*6!B2r)R=|JqOK^X?Z4$I=mqO8yM`Au8)mI*NYa3CuLVto(~SxuvXpf+545c~i^x z@L)0dkSb8%Fd4acEYP4Jd5+AARUv;)2FP3umM?$Y5>nS3z6Db8v7!t4pC4$*l@Ri7 z3&_SeHZAj{4scd13;B+>%;gaCR!dA(0_FRd8=EkdAS;%z*n5#%3Ne4A+_#fAmmZQ^ zW1Ao|Lh-X=G4$qQ2>E79NOg5kHaJ^Ql_)DVxcrCb&<*aVn0yUOZy0ur9|l$3ld7_; zbNL6)W<9idsmaDm5}h!iwb|^i02S}yH6CQkT8R2#%l&z4ic7I&f4&IQkOw)l8Uo+{ z|G-#zaldl!_SjmADaqwWbRf`6D-H0?>7$QKvp1+eP)$baMLO7_X991dhJPYIZNk$L zQSFV2$TF9|qaFhJ%i$XSMl2tob$C3eE#dL`n9*T)mcl7ohsU#y%dO|x7hzt9;aLoU zTZczkd*Ru)B|Ht%te6j?v%!M=zTf1{&AF=WTSdp$@SXcYGhRcP#5=6HJ_2@hSA$Gn z57+eRjtPl3S9{YY>AoBdl6oz~_+)1c)fjE6F1lOFioReyt0C5hJMT%|>6?P8FZ!%F z9jxng;O@IrErLSX=x$6{>XcOjEI*t2Zu3FVQs2ohw?d(&Q?-@bqM+1A@h`mXuTj=l zz-v@4HlCbcHV}BZV!IM~$2tTDZ&`cWNs+t zU-b3q-KlhxPiXZX1LW)8tpS1ae%4f1wYr+M$4CY0SSWONARlg{uIBAAn6K{XHr)PL zp;b<&zNb1HzhG+;=Ug$I$5Db&k4|Pc1#RTv!W}ueQm&EObhPu-07ccd0 zr_j+S3Lx=zjAQP_6K}+Z?0j{>wI_kz!l72FK$TwKaRil#8on$;$!)&?WszG_7G-10?nF4pATx9^GH8*#mQkw4t{ds~O$LAST^EgYs3i*l3 zHJkN6J@(b{DHUJMs9)&_E0ElO1FIEyQO!h6C}% z*>b)J*Yd>$y9${nV74@0v`commaolL%3YK8JpM}n$Gb@x z9jy***#1T>M;SuQuFvZXp>6cfRtv7D1#F9kQVfGpg?Y@maphIt$iwm<>{lrPtuE9rboR25szk_vuOerEdYh#YuH=;COKg{4^o< I6tuDb0cay7_W%F@ literal 0 HcmV?d00001 diff --git a/tests/standalone/dhrystone/run.sh b/tests/standalone/dhrystone/run.sh new file mode 100755 index 000000000..3570e5f7d --- /dev/null +++ b/tests/standalone/dhrystone/run.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi + +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run dhrystone.wasm" + ${IWASM_CMD} --heap-size=16384 dhrystone.wasm +else + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o dhrystone.aot dhrystone.wasm \ + || ${WAMRC_CMD} -o dhrystone.aot dhrystone.wasm + echo "============> run dhrystone.aot" + ${IWASM_CMD} --heap-size=16384 dhrystone.aot +fi diff --git a/tests/standalone/dump-call-stack/run.sh b/tests/standalone/dump-call-stack/run.sh new file mode 100755 index 000000000..64c508887 --- /dev/null +++ b/tests/standalone/dump-call-stack/run.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +readonly WAMR_DIR="$PWD/../../.." +readonly IWASM_CMD="$PWD/build/iwasm" +readonly WAMRC_CMD="$PWD/../../../wamr-compiler/build/wamrc" + +PLATFORM=$(uname -s | tr A-Z a-z) + +if [[ $1 == "--classic-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=0" +elif [[ $1 == "--fast-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1" +elif [[ $1 == "--fast-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1" +elif [[ $1 == "--jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_JIT=1" +elif [[ $1 == "--multi-tier-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1" +fi + +TARGET="X86_64" +if [[ $3 = "X86_32" ]]; then + TARGET="X86_32" +fi + +echo "============> test dump-call-stack" + +rm -fr build && mkdir build && cd build +cmake ${WAMR_DIR}/product-mini/platforms/${PLATFORM} ${CMAKE_FLAGS} \ + -DWAMR_BUILD_DUMP_CALL_STACK=1 -DWAMR_BUILD_TARGET=${TARGET} +make -j ${nproc} > /dev/null 2>&1 +cd .. + +echo "============> compile test-malloc to wasm" +/opt/wasi-sdk/bin/clang -O3 -o test-malloc.wasm wasm-app/main.c \ + -Wl,--export-all -Wl,--export=__heap_base,--export=__data_end + +if [[ $1 != "--aot" ]]; then + echo "============> run test-malloc.wasm" + ${IWASM_CMD} test-malloc.wasm +else + echo "============> compile test-malloc.wasm to aot" + ${WAMRC_CMD} --enable-dump-call-stack --emit-custom-sections=name -o test-malloc.aot test-malloc.wasm + echo "============> run test-malloc.aot" + ${IWASM_CMD} test-malloc.aot +fi diff --git a/tests/standalone/dump-call-stack/wasm-app/main.c b/tests/standalone/dump-call-stack/wasm-app/main.c new file mode 100644 index 000000000..8c87a4f82 --- /dev/null +++ b/tests/standalone/dump-call-stack/wasm-app/main.c @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include +#include +#include +#include +#include + +int +main(int argc, char **argv) +{ + printf("Hello World!\n"); + + char *buf = "1234", *buf1 = "12345"; + + printf("result is %f \n", 22.00); + + printf("Hello World!\n"); + + buf = malloc(1024); + + printf("malloc func ptr: %p\n", malloc); + + printf("##buf: %p\n", buf); + + if (!buf) { + printf("malloc buf failed\n"); + return -1; + } + + printf("buf ptr: %p\n", buf); + + sprintf(buf, "%s", "1234\n"); + printf("buf: %s", buf); + + buf1 = strdup(buf); + printf("buf1: %s\n", buf1); + + free(buf1); + free(buf); + + printf("buf[65536]: %c\n", buf[65536 * 10]); + + return 0; +} diff --git a/tests/standalone/dump-mem-profiling/run.sh b/tests/standalone/dump-mem-profiling/run.sh new file mode 100755 index 000000000..afe4f7099 --- /dev/null +++ b/tests/standalone/dump-mem-profiling/run.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +readonly WAMR_DIR="$PWD/../../.." +readonly IWASM_CMD="$PWD/build/iwasm" +readonly WAMRC_CMD="$PWD/../../../wamr-compiler/build/wamrc" + +PLATFORM=$(uname -s | tr A-Z a-z) + +if [[ $1 == "--classic-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=0" +elif [[ $1 == "--fast-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1" +elif [[ $1 == "--fast-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1" +elif [[ $1 == "--jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_JIT=1" +elif [[ $1 == "--multi-tier-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1" +fi + +TARGET="X86_64" +if [[ $3 = "X86_32" ]]; then + TARGET="X86_32" +fi + +echo "============> test dump-mem-profiling" + +rm -fr build && mkdir build && cd build +cmake ${WAMR_DIR}/product-mini/platforms/${PLATFORM} ${CMAKE_FLAGS} \ + -DWAMR_BUILD_DUMP_CALL_STACK=1 -DWAMR_BUILD_MEMORY_PROFILING=1 \ + -DWAMR_BUILD_TARGET=${TARGET} +make -j ${nproc} > /dev/null 2>&1 +cd .. + +echo "============> compile test-malloc to wasm" +/opt/wasi-sdk/bin/clang -O3 -o test-malloc.wasm wasm-app/main.c \ + -Wl,--export-all -Wl,--export=__heap_base,--export=__data_end + +if [[ $1 != "--aot" ]]; then + echo "============> run test-malloc.wasm" + ${IWASM_CMD} test-malloc.wasm +else + echo "============> compile test-malloc.wasm to aot" + ${WAMRC_CMD} --enable-dump-call-stack -o test-malloc.aot test-malloc.wasm + echo "============> run test-malloc.aot" + ${IWASM_CMD} test-malloc.aot +fi diff --git a/tests/standalone/dump-mem-profiling/wasm-app/main.c b/tests/standalone/dump-mem-profiling/wasm-app/main.c new file mode 100644 index 000000000..8c87a4f82 --- /dev/null +++ b/tests/standalone/dump-mem-profiling/wasm-app/main.c @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include +#include +#include +#include +#include + +int +main(int argc, char **argv) +{ + printf("Hello World!\n"); + + char *buf = "1234", *buf1 = "12345"; + + printf("result is %f \n", 22.00); + + printf("Hello World!\n"); + + buf = malloc(1024); + + printf("malloc func ptr: %p\n", malloc); + + printf("##buf: %p\n", buf); + + if (!buf) { + printf("malloc buf failed\n"); + return -1; + } + + printf("buf ptr: %p\n", buf); + + sprintf(buf, "%s", "1234\n"); + printf("buf: %s", buf); + + buf1 = strdup(buf); + printf("buf1: %s\n", buf1); + + free(buf1); + free(buf); + + printf("buf[65536]: %c\n", buf[65536 * 10]); + + return 0; +} diff --git a/tests/standalone/dump-perf-profiling/run.sh b/tests/standalone/dump-perf-profiling/run.sh new file mode 100755 index 000000000..26edda314 --- /dev/null +++ b/tests/standalone/dump-perf-profiling/run.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +readonly WAMR_DIR="$PWD/../../.." +readonly IWASM_CMD="$PWD/build/iwasm" +readonly WAMRC_CMD="$PWD/../../../wamr-compiler/build/wamrc" + +PLATFORM=$(uname -s | tr A-Z a-z) + +if [[ $1 == "--classic-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=0" +elif [[ $1 == "--fast-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1" +elif [[ $1 == "--fast-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1" +elif [[ $1 == "--jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_JIT=1" +elif [[ $1 == "--multi-tier-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1" +fi + +TARGET="X86_64" +if [[ $3 = "X86_32" ]]; then + TARGET="X86_32" +fi + +echo "============> test dump-perf-profiling" + +rm -fr build && mkdir build && cd build +cmake ${WAMR_DIR}/product-mini/platforms/${PLATFORM} ${CMAKE_FLAGS} \ + -DWAMR_BUILD_PERF_PROFILING=1 -DWAMR_BUILD_TARGET=${TARGET} +make -j ${nproc} > /dev/null 2>&1 +cd .. + +echo "============> compile test-malloc to wasm" +/opt/wasi-sdk/bin/clang -O3 -o test-malloc.wasm wasm-app/main.c \ + -Wl,--export-all -Wl,--export=__heap_base,--export=__data_end + +if [[ $1 != "--aot" ]]; then + echo "============> run test-malloc.wasm" + ${IWASM_CMD} test-malloc.wasm +else + echo "============> compile test-malloc.wasm to aot" + ${WAMRC_CMD} --enable-perf-profiling -o test-malloc.aot test-malloc.wasm + echo "============> run test-malloc.aot" + ${IWASM_CMD} test-malloc.aot +fi diff --git a/tests/standalone/dump-perf-profiling/wasm-app/main.c b/tests/standalone/dump-perf-profiling/wasm-app/main.c new file mode 100644 index 000000000..8c87a4f82 --- /dev/null +++ b/tests/standalone/dump-perf-profiling/wasm-app/main.c @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include +#include +#include +#include +#include + +int +main(int argc, char **argv) +{ + printf("Hello World!\n"); + + char *buf = "1234", *buf1 = "12345"; + + printf("result is %f \n", 22.00); + + printf("Hello World!\n"); + + buf = malloc(1024); + + printf("malloc func ptr: %p\n", malloc); + + printf("##buf: %p\n", buf); + + if (!buf) { + printf("malloc buf failed\n"); + return -1; + } + + printf("buf ptr: %p\n", buf); + + sprintf(buf, "%s", "1234\n"); + printf("buf: %s", buf); + + buf1 = strdup(buf); + printf("buf1: %s\n", buf1); + + free(buf1); + free(buf); + + printf("buf[65536]: %c\n", buf[65536 * 10]); + + return 0; +} diff --git a/tests/standalone/fannkuch-redux/fannkuch_redux.wasm b/tests/standalone/fannkuch-redux/fannkuch_redux.wasm new file mode 100755 index 0000000000000000000000000000000000000000..884a43e480fee5bd61d5356dac2014de412da299 GIT binary patch literal 25792 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 R&fNX3I~VS{bo#D4{y(IpYH run fannkuch_redux.wasm" + ${IWASM_CMD} fannkuch_redux.wasm 10 +else + echo "============> compile fannkuch_redux.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o fannkuch_redux.aot fannkuch_redux.wasm \ + || ${WAMRC_CMD} -o fannkuch_redux.aot fannkuch_redux.wasm + echo "============> run fannkuch_redux.aot" + ${IWASM_CMD} fannkuch_redux.aot 11 +fi + diff --git a/tests/standalone/fasta/fasta.wasm b/tests/standalone/fasta/fasta.wasm new file mode 100755 index 0000000000000000000000000000000000000000..47d11ba4aa57aa6c5dda6fa215710a3790dd3187 GIT binary patch literal 14075 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 run fasta.wasm" + ${IWASM_CMD} fasta.wasm 1000000 > image.ppm +else + echo "============> compile fasta.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o fasta.aot fasta.wasm \ + || ${WAMRC_CMD} -o fasta.aot fasta.wasm + echo "============> run fasta.aot" + ${IWASM_CMD} fasta.aot 10000000 > image.ppm +fi + diff --git a/tests/standalone/gcc-loops/gcc_loops.wasm b/tests/standalone/gcc-loops/gcc_loops.wasm new file mode 100755 index 0000000000000000000000000000000000000000..7ef1809ef103ebc44ab7048de7fb99977bb6a8f8 GIT binary patch literal 704018 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�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

`9LuvGM+nVZU3W~SL{%ok{ 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 BAcz0} literal 0 HcmV?d00001 diff --git a/tests/standalone/gcc-loops/run.sh b/tests/standalone/gcc-loops/run.sh new file mode 100755 index 000000000..f288a9682 --- /dev/null +++ b/tests/standalone/gcc-loops/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run gcc_loops.wasm" + ${IWASM_CMD} gcc_loops.wasm 1 +else + echo "============> compile gcc_loops.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o gcc_loops.aot gcc_loops.wasm \ + || ${WAMRC_CMD} -o gcc_loops.aot gcc_loops.wasm + echo "============> run gcc_loops.aot" + ${IWASM_CMD} gcc_loops.aot 1 +fi + diff --git a/tests/standalone/hashset/HashSet.wasm b/tests/standalone/hashset/HashSet.wasm new file mode 100755 index 0000000000000000000000000000000000000000..e54a998fce015ebf96dd8ba9b858476c952fabc4 GIT binary patch literal 293646 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 t?A3fjJIrgp_1 literal 0 HcmV?d00001 diff --git a/tests/standalone/hashset/run.sh b/tests/standalone/hashset/run.sh new file mode 100755 index 000000000..2528006a1 --- /dev/null +++ b/tests/standalone/hashset/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run HashSet.wasm" + ${IWASM_CMD} HashSet.wasm +else + echo "============> compile HashSet.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o HashSet.aot HashSet.wasm \ + || ${WAMRC_CMD} -o HashSet.aot HashSet.wasm + echo "============> run HashSet.aot" + ${IWASM_CMD} HashSet.aot +fi + diff --git a/tests/standalone/iwasm-wamrc/run.sh b/tests/standalone/iwasm-wamrc/run.sh new file mode 100755 index 000000000..8f34b04fb --- /dev/null +++ b/tests/standalone/iwasm-wamrc/run.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +${IWASM_CMD} --help +echo "" + +${WAMRC_CMD} --help +echo "" diff --git a/tests/standalone/mandelbrot/mandel.wasm b/tests/standalone/mandelbrot/mandel.wasm new file mode 100755 index 0000000000000000000000000000000000000000..559c5f9ee38e052b080cf12726649bdff580a817 GIT binary patch literal 67932 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 Iq(A%r58e|}*#H0l literal 0 HcmV?d00001 diff --git a/tests/standalone/mandelbrot/mandel_dd.wasm b/tests/standalone/mandelbrot/mandel_dd.wasm new file mode 100755 index 0000000000000000000000000000000000000000..75753d6d86273679f2c07271057fde697deceeac GIT binary patch literal 61763 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 run mandel_dd.wasm" + ${IWASM_CMD} mandel_dd.wasm > image.ppm +else + echo "============> compile mandel_dd.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o mandel_dd.aot mandel_dd.wasm \ + || ${WAMRC_CMD} -o mandel_dd.aot mandel_dd.wasm + echo "============> run mandel_dd.aot" + ${IWASM_CMD} mandel_dd.aot > image.ppm +fi + diff --git a/tests/standalone/nbody/nbody.wasm b/tests/standalone/nbody/nbody.wasm new file mode 100755 index 0000000000000000000000000000000000000000..681eec85708f034214f113894d83c7acdb5daefb GIT binary patch literal 27579 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

W5Y4yo%U;g2bzw**wRQ~PH4L|(tvH$$bAG~|{ zl{d$pxcfVQGjr=lU;4!@|M%0s{l0%O_MRUOe(sT9+cmD&UcTc)Z|=V|{wJURnZNw@ z*T(Mq(vNKT4eSAYk2}HS?8Mw7KXlt|yGD17>YE;IHqSH; z+I> Yb!z_|x9{DvZ}089C-$5g-E;H*2e@GvSpWb4 literal 0 HcmV?d00001 diff --git a/tests/standalone/nbody/run.sh b/tests/standalone/nbody/run.sh new file mode 100755 index 000000000..2a1a06855 --- /dev/null +++ b/tests/standalone/nbody/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run nbody.wasm" + ${IWASM_CMD} nbody.wasm 5000000 +else + echo "============> compile nbody.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o nbody.aot nbody.wasm \ + || ${WAMRC_CMD} -o nbody.aot nbody.wasm + echo "============> run nbody.aot" + ${IWASM_CMD} nbody.aot 50000000 +fi + diff --git a/tests/standalone/raymarcher/raymarcher.wasm b/tests/standalone/raymarcher/raymarcher.wasm new file mode 100755 index 0000000000000000000000000000000000000000..a94a5a5e887d0ce614432ba2ee950bae0d18e1e3 GIT binary patch literal 19528 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 Vii)x_ run raymarcher.wasm" + ${IWASM_CMD} raymarcher.wasm > a.log 2>&1 +else + echo "============> compile raymarcher.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o raymarcher.aot raymarcher.wasm \ + || ${WAMRC_CMD} -o raymarcher.aot raymarcher.wasm + echo "============> run raymarcher.aot" + ${IWASM_CMD} raymarcher.aot > a.log 2>&1 +fi diff --git a/tests/standalone/simple/run.sh b/tests/standalone/simple/run.sh new file mode 100755 index 000000000..fb25f17f8 --- /dev/null +++ b/tests/standalone/simple/run.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run simple.wasm" + ${IWASM_CMD} simple.wasm +else + echo "============> compile simple.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o simple.aot simple.wasm \ + || ${WAMRC_CMD} -o simple.aot simple.wasm + echo "============> run simple.aot" + ${IWASM_CMD} simple.aot +fi diff --git a/tests/standalone/simple/simple.wasm b/tests/standalone/simple/simple.wasm new file mode 100755 index 0000000000000000000000000000000000000000..5b5891edf72dd5b7777974ca169ea56a9d952b93 GIT binary patch literal 50911 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 s)x`2RTNOb;=6jhnxgTD8<&|EC>=R literal 0 HcmV?d00001 diff --git a/tests/standalone/smallpt/run.sh b/tests/standalone/smallpt/run.sh new file mode 100755 index 000000000..60a092d06 --- /dev/null +++ b/tests/standalone/smallpt/run.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run smallpt.wasm" + ${IWASM_CMD} --stack-size=2048000 smallpt.wasm > image.ppm + echo "============> run smallpt_ex.wasm" + ${IWASM_CMD} --stack-size=2048000 smallpt_ex.wasm > image.ppm +else + echo "============> compile smallpt.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o smallpt.aot smallpt.wasm \ + || ${WAMRC_CMD} -o smallpt.aot smallpt.wasm + echo "============> run smallpt.aot" + ${IWASM_CMD} smallpt.aot > image.ppm + echo "============> compile smallpt_ex.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o smallpt_ex.aot smallpt_ex.wasm \ + || ${WAMRC_CMD} -o smallpt_ex.aot smallpt_ex.wasm + echo "============> run smallpt_ex.aot" + ${IWASM_CMD} smallpt_ex.aot > image.ppm +fi + diff --git a/tests/standalone/smallpt/smallpt.wasm b/tests/standalone/smallpt/smallpt.wasm new file mode 100755 index 0000000000000000000000000000000000000000..855c64c8a87ebbf07ba60b99a67e90c0023637d1 GIT binary patch literal 44180 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 z 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�XgrSAgPy|}8V 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 R8*5t|3o9>cA2Vx%e*ja#qR;>U literal 0 HcmV?d00001 diff --git a/tests/standalone/standalone.sh b/tests/standalone/standalone.sh new file mode 100755 index 000000000..75788894d --- /dev/null +++ b/tests/standalone/standalone.sh @@ -0,0 +1,131 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +# get every run.sh under standalone sub-direcotry +# +# for f in folders_include_run_sh +# cd sub-direcoty +# ./run.sh + +# Usage: +# ./standalone.sh --aot|--classic-interp|--fast-interp|--fast-jit|--jit|--multi-tier-jit \ +# [--sgx|--no-sgx] [--thread|--no-thread] [--simd|--no-simd] +# +# Note: +# The order of the options can not be exchanged +# + +if [[ $1 == "--classic-interp" ]]; then + # long time to run gcc-loops, smallpt and tsf with classic interpreter + IGNORE_LIST+=("gcc-loops" "smallpt" "tsf") +fi +if [[ $1 == "--classic-interp" || $1 == "--fast-interp" ]]; then + # long time to run mandelbrot with interpreter + IGNORE_LIST+=("mandelbrot") +fi +if [[ $1 == "--jit" ]]; then + # long time to compile test-printf with llvm-jit + IGNORE_LIST+=("test-printf") +fi +if [[ $2 == "--sgx" ]]; then + # require to allocate/mmap large memory in sgx + # need to modify Enclave.config.xml + IGNORE_LIST+=("stream") +fi +if [[ $3 != "--thread" ]]; then + # test-pthread requires thread support + IGNORE_LIST+=("test-pthread") +fi +if [[ $4 != "--simd" || $1 == "--classic-interp" || $1 == "--fast-interp" + || $1 == "--fast-jit" ]]; then + # blake3 and c-wasm-simd128-example require SIMD support + IGNORE_LIST+=("blake3" "c-wasm-simd128-example") +fi + +if [[ -z $5 ]]; then + TARGET="X86_64" +else + TARGET=$5 +fi + +function contain() +{ + # [$1, $-1) + local list=${@:0:${#}} + # [$-1] + local item=${@:${#}} + [[ ${list} =~ (^| )${item}($| ) ]] && return 0 || return 1 +} + +total_num=0 +failed_num=0 +failed_list=() +passed_num=0 +passed_list=() + +echo "*-------------- start testing standalone test cases --------------*" +for f in $(find . -name "run.sh" -type f | sort -n | awk -F "/" '{print $2}') +do + if contain "${IGNORE_LIST[@]}" ${f};then + echo "ignore ${f} case" + continue + else + cd $f + if [[ $2 == "--sgx" ]]; then + ./run.sh $1 --sgx ${TARGET} + else + ./run.sh $1 --no-sgx ${TARGET} + fi + + retval=$? + if [ ${retval} -ne 0 ] && [ ${retval} -ne 1 ]; then + echo "" + echo "run $f test failed, 'run.sh' returns ${retval}" + echo "" + failed_num=$((failed_num + 1)) + failed_list+=("$f") + else + echo "" + echo "run $f test successfully, 'run.sh' returns ${retval}" + echo "" + passed_num=$((passed_num + 1)) + passed_list+=("$f") + fi + cd .. + fi +done +total_num=$((failed_num+passed_num)) +echo "*-------------- standalone test cases finish --------------*" +echo "" +echo "" +echo "*================ Standalone Test Report Start ==============*" +echo "" +echo "Total: ${total_num}" +echo "Passed: ${passed_num}" +echo "Failed: ${failed_num}" + + +if [ ${passed_num} -gt 0 ]; then + echo "" + echo "******************************************************************" + echo "Passed cases list:" + echo "" + for passed_case in "${passed_list[@]}"; do + echo " $passed_case" + done +fi + +if [ ${failed_num} -gt 0 ]; then + echo "" + echo "******************************************************************" + echo "Failed cases list:" + for failed_case in "${failed_list[@]}"; do + echo " $failed_case" + done +fi + +echo "" +echo "*================ Standalone Test Report End ==============*" diff --git a/tests/standalone/stream/run.sh b/tests/standalone/stream/run.sh new file mode 100755 index 000000000..4f9d9ca80 --- /dev/null +++ b/tests/standalone/stream/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run stream.wasm" + ${IWASM_CMD} stream.wasm +else + echo "============> compile stream.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o stream.aot stream.wasm \ + || ${WAMRC_CMD} -o stream.aot stream.wasm + echo "============> run stream.aot" + ${IWASM_CMD} stream.aot +fi + diff --git a/tests/standalone/stream/stream.wasm b/tests/standalone/stream/stream.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fc6d268cf732d9e09aa9d111ff27f53fcfc25215 GIT binary patch literal 33393 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 run test_string.wasm" + ${IWASM_CMD} test_string.wasm + ${IWASM_CMD} test_string_view.wasm +else + echo "============> compile test_string.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test_string.aot test_string.wasm \ + || ${WAMRC_CMD} -o test_string.aot test_string.wasm + echo "============> compile test_string_view.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test_string_view.aot test_string_view.wasm \ + || ${WAMRC_CMD} -o test_string_view.aot test_string_view.wasm + echo "============> run test_string.aot" + ${IWASM_CMD} test_string.aot + echo "============> run test_string_view.aot" + ${IWASM_CMD} test_string_view.aot +fi + diff --git a/tests/standalone/string-view/test_string.wasm b/tests/standalone/string-view/test_string.wasm new file mode 100755 index 0000000000000000000000000000000000000000..e3d79e8181119d606568a40078d99c74c3b914a2 GIT binary patch literal 76502 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 R;N*y{Sz74SYvU5)`#%P#L7)Ht literal 0 HcmV?d00001 diff --git a/tests/standalone/string-view/test_string_view.wasm b/tests/standalone/string-view/test_string_view.wasm new file mode 100755 index 0000000000000000000000000000000000000000..112e306d4432370e308c136b9f8c47158a9eaf9e GIT binary patch literal 68994 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 run test_aes.wasm" + if [[ $1 != "--multi-tier-jit" ]]; then + ${IWASM_CMD} --heap-size=16384 test_aes.wasm + else + echo "============> run test_aes.wasm with interp" + ${IWASM_CMD} --heap-size=16384 --interp test_aes.wasm + echo "============> run test_aes.wasm with fast-jit" + ${IWASM_CMD} --heap-size=16384 --fast-jit test_aes.wasm + echo "============> run test_aes.wasm with llvm-jit" + ${IWASM_CMD} --heap-size=16384 --llvm-jit test_aes.wasm + echo "============> run test_aes.wasm with multi-tier-jit" + ${IWASM_CMD} --heap-size=16384 --multi-tier-jit test_aes.wasm + fi +else + echo "============> compile test_aes.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test_aes.aot test_aes.wasm \ + || ${WAMRC_CMD} -o test_aes.aot test_aes.wasm + echo "============> run test_aes.aot" + ${IWASM_CMD} --heap-size=16384 test_aes.aot +fi + diff --git a/tests/standalone/test-aes/test_aes.wasm b/tests/standalone/test-aes/test_aes.wasm new file mode 100755 index 0000000000000000000000000000000000000000..47c431eff5b5acad9f28d3fc8e16e73967091aa2 GIT binary patch literal 9760 zcmbVS349gB8J|7gx$nw}fXBQiQW1jD+QdGutQ0I&3j)?wts#U5BtR0fAqA-<9v~hd z)S@Vgc%vXj?00|P?0c-n znXEC!w7#LyTAS83T5qFIqfJ~GhFTjVkO_?Gr(_rU_zl zZgTD9CZ-b+!lK#Sx1VgaF?)Mbe4cED z2ADzY)z~~;XXfOZx&{`ER#%U$X{o8sHH^yr+b#F}_QYcpp; zh{OE1W**;;Kg{mbCuUe5IbM7Nkdzqr;>>3Kj72vA$!L|vdR+qZ1)x_N9WJn+?#URH z#))#lUO}6c1_!-Nug?T%pE=^TV5Px;E(IDQv|XTKi7o;fA$0$Zv}07F^MP7~?iFZE zqH}=834LFn35o92>g`m0CP@=J#Y9R@fZieKf=Xk*Ci&bhfWk^+F9GHC_~_8-lh>yp zLOU@kP};SVrEU@0dUg(GY?iv3s9yFaL9P;?9V9qza@Su&D|+XZ$z2_CsXC#Q_vsGe zP$*-kM+qhD@F*etc8?N5Z}li4X{SdCgRPg8C#7IY%E+aSxNDmKE%AII@y;VlEL8Z7 zBwjC+4n|y=I|L1m7#C766Lb;LLhhx4E+$$?zDUp|L<`yH3%ZnOA^jXd_wcRUE`Xz4 zE5i@A3ZQ4+T{{KcOS;p6akg7kNPkb{Ck%gcbvJmvar5d=D zo=c&*l$E<8a#u1g1>)aWj=53}=E?E@2|?aQjx9n7N?t~B?dOc8k`x)k3#rugt|mR5 zr{)TG+jC@h>!59*YJ{nsN*yM?y0fvqD;wf|H*p=A4fsPlvtK$g8$z0|V}nwq7v@}~ zybu>TF2Y4pv$)7&aW2wUlFKB;-Q2`QO0s8B9J|@Weu%iqrxMCAsaZmON%v~G*O0v0 z(bTmx-^*Uu^-id+`-(feuE?9Ci+$*cLNSorf4WGJNq53yMSzwIdVC2mWHHn%vnqc~}DhQr6o7-DX(X15d1TobIwOe|-$3Vo+PyAw>SvwDTT-Jjjw zZPuvJJN?)7bej!S=u7?CrQK$O75aRCc7C_nP=(&^&$f4)4Oi$*zPPNb zK#>Z4bbfMYx5;RQK0H6Uz1yT!p;zT6JG)KBD)jRFWO>&|#w&E5pW|KU5|j@;)8zA^ zv`n%>XWpEbV>~D25Z|-E6=tdH$aSq4LY-?VSQ^CLh8Auk8Xk~kVy28~Sq7gVOwTfk zIgE@fGvvt3GE+~;x<#EOde3EpoOQU>V@`r#32Q0 zb^&NxliRvbAwjx;OcyF5$PiFiKnCtf8ytexXLNh1c3zxW)`^O(5Y6kgdMpUn_hYOQ z&w?_4Xfifvs2Crh zVRAbF&baPw8UTnTc2EU_E*Mh5kOXPFFl|Tj!ZYlMx=3n|*-;gYy4zVQX!+a4XuBBb z7`BV6i{kE`2^CDZU{VE>1lpSGT_mz^VCm_^w~CQh1B=LS1LbLBePz zF%#)J1Ce=3VKTrA6ez^UTCT{xwD8YZnCUTKtgzecBUq9bq`LoPj}O+jWru1VcY2?&Ur z%OXRO#V`TaQ{5P4g`5Vc$}LKa8$U|8Wl&`PJK!=XIBv+1wXu;JVW>PvZ{+mQKSctz zMSRI%v1G6$(&GN043?-27F`BQLfESebw5$GyC@A05Jgr>(cFVXQ8bD~{18#ZZG`3?CW@Yi+FZt#5k+<^ zAnFmKC^nKrJxUa*M--doL=o$#I?`AX(=rf)fo`9Ll6X()fo^3CkRrbHp{)J^YE)7RmS`? zl!8db(Z~Io$n21h)7DT7s=8bXgD91es-(Y#UmU4W`nX>onQi$vZ5_kbq91}Fu#!?G zsbczD_=S?mo(k)sF?3oPAw7IWc3p&f?Z!OOZgj@A61CmP`xX>0?#;Uw0O5Uk4+9|F zD(_?fgco>zrf3<$2!A6^x-=ca?+EoZjJ3l5$iuOvaB}H_b_7jUx86gzBW>X87aIt- zB-Ga~P~o2Lw!-T@4^=daWx`YGW?!#Bg~t-wr2`S3%S3YvUh!tqYfEK>l1fx8pCgrZ za3IQaaAax<+;k^84n>78j_8iXq%|!#vMFb z^me#vEt#m3NjN<0wgyP~z|h7OIA9sW{6xUL30qKama&{nkpns9R@Cay?!|O1@ixof zT;gO(FymlJzClB!A|&F#Xt=4=yD91oN}WupSQ2%(<$*;4k!`k)^o>K4Pg_5pN;6#0Sfp|hh1bRy`?m~S5310ye@89FG6Btrxp5Jk2if}D{g zC?Uc<74l*t=rkC|jA$F^6ev;-&CuyDX>ByLAS#%R*H0NEZR%BA$2$Y$g8--esii~6 z3mQkoH@S%v&4c*Bos?p53)*TIBqb1ttl@*C3<8lhe2|nvAbj2j<;ww+ik=V3gSJUE z&j;l}8(BsLAJDg4{zY1^cN=Y#UJZBo7SK^fsDdI$w1eD9j0XO@}mmUVh z!=t^IAl44Do%>cZH8ErKK~K`obZJ6q)3iyZgbAsWgKmSg6}|~D;MvesNRV{iWGT_n zU_=I{@a~WnMefZD0Q3nD_3aFFm52I<2KuCj`j!T|+CzO)16|{xzO8|-^-$l~K-Wn$ z#6vEt>%C>Lw2yA^P?*|BH+m>+?W3DK6vp<^r#uwa_R*(36z2BP%^nJS`%2s*Q8F4g z`Waz*cV*H@yv0&YPKiHNFHLAI324P%XW1uk$fTxx6|Tr4_LI26hW2V)kvr@)xT4*$ z*W!wdVXwm#$%5XZQJ%Lq;2OhqBd*8}_9k4B80@ETMRK&C#uaZ(?9I3$_uE@=EyR_w zL=j|37u%_HiBSb#D-mT24po$Qtzy@!kS*nFIbN79!BUuRi-xLuh~Dt=LR-9cEl8K} z0@yK+7f2lY^OTCGB%TDGRB^l`rI1VjPpEi8;&I?{6~~u;v_1wrrs6S)Tfi+9$Crk* zJ_Q|RUKpu_{f11gTMd1<`~ zoDy<=JtCd(BH%>|j`#;4=IHHj2}jpckA;Ne^a#V1&{>Eof_qfNd|HEDaVbH|hi*hi zC(^|~tsNl^@7}}K_RtCCr%q$JhT7)oO)YF}PF^SGre|4gUDJeIb4zYoOO`cF!mkUs z9FM$s(4fI1N2b{jd*}rhj~JY0gU%hq-7T`54IXr^LeZSNtvlyagGP?`u6@{!q_|FYoA{f{B+{GrUApVdv)_2-h2IOg?}HybZbPd6>y$L`v*_rs6&ef-I%pY8wri!Tox{OZueXEwh*uyh2y!+)dJ$pq*eDLW#eFncd zY;ljr`r9+!n^c+VKeMFt#FZ~SwEVM@IguBJotb@Y#_IT$6{D9e*|x9GxDRgczJKk{ ze>UTziH*N0*T(n%>b2#q+phWjRbTw%yuFY8>AuJBdZ4*;-N9S?R-E(MA5MGl-4Cbi zIHkn=-SNLZ>bAh0p~CjJ|M{&|QzO?7=+(R7(xoHLc=gGC@0@(y$QRka`GF@ctAB3u zcYkofk6+mS!J}Uey71ex27j)%4L|dqWf$FFb;~dAKK+xY*1n!j9oqNOA7e%Ts=obu zJ)V7d=2>HZ+S3_*^{~HWPMSYw$e#7Zf4jnZW9O;a=+I!F%YXIqiZKfo?wbDht(BAK zzVgFICjIE+f8?%Q8QwVUgn>stwEDO2|Fz|~^Pj%y#-_8^jQhUvX`<#kmu#5*%rQ&e z+P|ov?$7gnx%k-YcRzpeiErL~?+x)S@0~lrzN0MJF=|ukTunE_DPGmyyF&QKh)De_ z0)8-BO-m`z({oJS-zdZG!Umbteo(mRQ=YH|) zABG3sJMP3k_gU3?*?mJN-}K@M&HFzcJA1;S(my?L`5%6oTli3-6RHN+&I=`Cs$4fsx?yt+fJty?LQ=TYH{p4Hi|EeB+QQIRu*Zd$}_U@JU-1_^wK3KZ* zj0;zu^hw9oe{MSS+L3qE^yqKS-1xIs`@U6ITzhdkb`@K!n+-LSbJ{+wkcnR)Y3`4Y zbo#9jes^SeKRGg!)zyv7b>r(AY9>|F&xZmgB7Ry>{FEpZL)2B*HPp3K*S1Ux$Ij19 zA3Uw8ropLeY=|V)x$3&sr~nZ7_}!7nAXadY$R07v9y@kK<)(l{WN1UH zT$n7SEs-p|9jeDn9XBr5oXX?wJuY5QBG!)@Q9VsO(1k;V8iQ0$OHJ*>>ZV5g<|@}5 ziE1n~u(^?b7sdKUnlPGLn`?Ho7>2bu$H|Q?8#7%C)K02t7#}>PVqp2eayB5@Qqw#> q*HS$$SJN`JIp^s8lar^m)Qp*wD;qzlaZJr5r+?U~8{bfd{P-Wgk1&w{ literal 0 HcmV?d00001 diff --git a/tests/standalone/test-go/run.sh b/tests/standalone/test-go/run.sh new file mode 100755 index 000000000..4280695be --- /dev/null +++ b/tests/standalone/test-go/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run test_go.wasm" + ${IWASM_CMD} test_go.wasm +else + echo "============> compile test_go.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test_go.aot test_go.wasm \ + || ${WAMRC_CMD} -o test_go.aot test_go.wasm + echo "============> run test_go.aot" + ${IWASM_CMD} test_go.aot +fi + diff --git a/tests/standalone/test-go/test_go.wasm b/tests/standalone/test-go/test_go.wasm new file mode 100755 index 0000000000000000000000000000000000000000..8e9335a616305997565dade31e32c2d8d9f968ed GIT binary patch literal 6777 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 P6zEMO_Qv9-^Vk0ukF_W) literal 0 HcmV?d00001 diff --git a/tests/standalone/test-invoke-native/CMakeLists.txt b/tests/standalone/test-invoke-native/CMakeLists.txt new file mode 100644 index 000000000..54cec530a --- /dev/null +++ b/tests/standalone/test-invoke-native/CMakeLists.txt @@ -0,0 +1,127 @@ +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +cmake_minimum_required (VERSION 3.14) + +project (iwasm) +# set (CMAKE_VERBOSE_MAKEFILE 1) + +string (TOLOWER ${CMAKE_HOST_SYSTEM_NAME} WAMR_BUILD_PLATFORM) +if (APPLE) + add_definitions(-DBH_PLATFORM_DARWIN) +endif () + +# Reset default linker flags +set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") +set (CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") + +set (CMAKE_C_STANDARD 99) +set (CMAKE_CXX_STANDARD 17) + +# Set WAMR_BUILD_TARGET, currently values supported: +# "X86_64", "AMD_64", "X86_32", "AARCH64[sub]", "ARM[sub]", "THUMB[sub]", "MIPS", "XTENSA" +if (NOT DEFINED WAMR_BUILD_TARGET) + if (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") + set (WAMR_BUILD_TARGET "AARCH64") + elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64") + set (WAMR_BUILD_TARGET "RISCV64") + elseif (CMAKE_SIZEOF_VOID_P EQUAL 8) + # Build as X86_64 by default in 64-bit platform + set (WAMR_BUILD_TARGET "X86_64") + else () + # Build as X86_32 by default in 32-bit platform + set (WAMR_BUILD_TARGET "X86_32") + endif () +endif () + +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) +endif () + +if (NOT DEFINED WAMR_BUILD_INTERP) + # Enable Interpreter by default + set (WAMR_BUILD_INTERP 1) +endif () + +if (NOT DEFINED WAMR_BUILD_AOT) + # Enable AOT by default. + set (WAMR_BUILD_AOT 1) +endif () + +if (NOT DEFINED WAMR_BUILD_JIT) + # Disable JIT by default. + set (WAMR_BUILD_JIT 0) +endif () + +if (NOT DEFINED WAMR_BUILD_LIBC_BUILTIN) + # Enable libc builtin support by default + set (WAMR_BUILD_LIBC_BUILTIN 1) +endif () + +if (NOT DEFINED WAMR_BUILD_LIBC_WASI) + # Enable libc wasi support by default + set (WAMR_BUILD_LIBC_WASI 1) +endif () + +if (NOT DEFINED WAMR_BUILD_FAST_INTERP) + # Enable fast interpreter + set (WAMR_BUILD_FAST_INTERP 1) +endif () + +if (NOT DEFINED WAMR_BUILD_MULTI_MODULE) + # Enable multiple modules + set (WAMR_BUILD_MULTI_MODULE 0) +endif () + +if (NOT DEFINED WAMR_BUILD_LIB_PTHREAD) + # Disable pthread library by default + set (WAMR_BUILD_LIB_PTHREAD 0) +endif () + +if (NOT DEFINED WAMR_BUILD_MINI_LOADER) + # Disable wasm mini loader by default + set (WAMR_BUILD_MINI_LOADER 0) +endif () + +if (NOT DEFINED WAMR_BUILD_SIMD) + # Disable SIMD by default + set (WAMR_BUILD_SIMD 0) +endif () + +set (WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../..) + +include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake) +add_library(vmlib ${WAMR_RUNTIME_LIB_SOURCE}) + +set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") +if (NOT WAMR_BUILD_PLATFORM STREQUAL "darwin") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections -pie -fPIE") +endif () + +set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wshadow") +# set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion -Wsign-conversion") + +set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused") + +if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64") + if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang")) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register") + endif () +endif () + +# The following flags are to enhance security, but it may impact performance, +# we disable them by default. +#if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64") +# set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftrapv -D_FORTIFY_SOURCE=2") +#endif () +#set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector-strong --param ssp-buffer-size=4") +#set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-z,noexecstack,-z,relro,-z,now") + +include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake) + +add_executable (test_invoke_native main.c test_invoke_native.c ${UNCOMMON_SHARED_SOURCE}) + +install (TARGETS test_invoke_native DESTINATION bin) + +target_link_libraries (test_invoke_native vmlib ${LLVM_AVAILABLE_LIBS} -lm -ldl -lpthread) + diff --git a/tests/standalone/test-invoke-native/main.c b/tests/standalone/test-invoke-native/main.c new file mode 100644 index 000000000..d0f5c7b5a --- /dev/null +++ b/tests/standalone/test-invoke-native/main.c @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include + +#include "bh_platform.h" +#include "wasm_export.h" + +static char global_heap_buf[10 * 1024 * 1024] = { 0 }; + +void +test_invoke_native(); + +int +main(int argc, char *argv[]) +{ + RuntimeInitArgs init_args; + + memset(&init_args, 0, sizeof(RuntimeInitArgs)); + + init_args.mem_alloc_type = Alloc_With_Pool; + init_args.mem_alloc_option.pool.heap_buf = global_heap_buf; + init_args.mem_alloc_option.pool.heap_size = sizeof(global_heap_buf); + + /* initialize runtime environment */ + if (!wasm_runtime_full_init(&init_args)) { + printf("Init runtime environment failed.\n"); + return -1; + } + + test_invoke_native(); + + /* destroy runtime environment */ + wasm_runtime_destroy(); + return 0; +} diff --git a/tests/standalone/test-invoke-native/run.sh b/tests/standalone/test-invoke-native/run.sh new file mode 100755 index 000000000..f786aee0f --- /dev/null +++ b/tests/standalone/test-invoke-native/run.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $1 == "--classic-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=0" +elif [[ $1 == "--fast-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1" +elif [[ $1 == "--fast-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1" +elif [[ $1 == "--jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_JIT=1" +elif [[ $1 == "--multi-tier-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1" +fi + +TARGET="X86_64" +if [[ $3 = "X86_32" ]]; then + TARGET="X86_32" +fi + +echo "============> test dump-invoke-native" + +rm -fr build +mkdir build && cd build +cmake .. ${CMAKE_FLAGS} -DWAMR_BUILD_TARGET=${TARGET} +make -j ${nproc} > /dev/null 2>&1 +cd .. + +echo "============> run test-invoke-native" +./build/test_invoke_native diff --git a/tests/standalone/test-invoke-native/test_invoke_native.c b/tests/standalone/test-invoke-native/test_invoke_native.c new file mode 100644 index 000000000..46794a87c --- /dev/null +++ b/tests/standalone/test-invoke-native/test_invoke_native.c @@ -0,0 +1,206 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include "wasm_runtime.h" + +static void +test_native_args1(WASMModuleInstance *module_inst, int arg0, uint64_t arg1, + float arg2, double arg3, int arg4, int64_t arg5, int64_t arg6, + int arg7, double arg8, float arg9, int arg10, double arg11, + float arg12, int64_t arg13, uint64_t arg14, float arg15, + double arg16, int64_t arg17, uint64_t arg18, float arg19) +{ + printf("##test_native_args1 result:\n"); + printf("arg0: 0x%X, arg1: 0x%X%08X, arg2: %f, arg3: %f\n", arg0, + (int32)(arg1 >> 32), (int32)arg1, arg2, arg3); + printf("arg4: 0x%X, arg5: 0x%X%08X, arg6: 0x%X%08X, arg7: 0x%X\n", arg4, + (int32)(arg5 >> 32), (int32)arg5, (int32)(arg6 >> 32), (int32)arg6, + arg7); + printf("arg8: %f, arg9: %f, arg10: 0x%X, arg11: %f\n", arg8, arg9, arg10, + arg11); + printf("arg12: %f, arg13: 0x%X%08X, arg14: 0x%X%08X, arg15: %f\n", arg12, + (int32)(arg13 >> 32), (int32)arg13, (int32)(arg14 >> 32), + (int32)arg14, arg15); + printf("arg16: %f, arg17: 0x%X%08X, arg18: 0x%X%08X, arg19: %f\n", arg16, + (int32)(arg17 >> 32), (int32)arg17, (int32)(arg18 >> 32), + (int32)arg18, arg19); +} + +static void +test_native_args2(WASMModuleInstance *module_inst, uint64_t arg1, float arg2, + double arg3, int arg4, int64_t arg5, int64_t arg6, int arg7, + double arg8, float arg9, int arg10, double arg11, float arg12, + int64_t arg13, uint64_t arg14, float arg15, double arg16, + int64_t arg17, uint64_t arg18, float arg19) +{ + printf("##test_native_args2 result:\n"); + printf("arg1: 0x%X%08X, arg2: %f, arg3: %f\n", (int32)(arg1 >> 32), + (int32)arg1, arg2, arg3); + printf("arg4: 0x%X, arg5: 0x%X%08X, arg6: 0x%X%08X, arg7: 0x%X\n", arg4, + (int32)(arg5 >> 32), (int32)arg5, (int32)(arg6 >> 32), (int32)arg6, + arg7); + printf("arg8: %f, arg9: %f, arg10: 0x%X, arg11: %f\n", arg8, arg9, arg10, + arg11); + printf("arg12: %f, arg13: 0x%X%08X, arg14: 0x%X%08X, arg15: %f\n", arg12, + (int32)(arg13 >> 32), (int32)arg13, (int32)(arg14 >> 32), + (int32)arg14, arg15); + printf("arg16: %f, arg17: 0x%X%08X, arg18: 0x%X%08X, arg19: %f\n", arg16, + (int32)(arg17 >> 32), (int32)arg17, (int32)(arg18 >> 32), + (int32)arg18, arg19); +} + +static int32 +test_return_i32(WASMModuleInstance *module_inst) +{ + return 0x12345678; +} + +static int64 +test_return_i64(WASMModuleInstance *module_inst) +{ + return 0x12345678ABCDEFFFll; +} + +static float32 +test_return_f32(WASMModuleInstance *module_inst) +{ + return 1234.5678f; +} + +static float64 +test_return_f64(WASMModuleInstance *module_inst) +{ + return 87654321.12345678; +} + +#define STORE_I64(addr, value) \ + do { \ + union { \ + int64 val; \ + uint32 parts[2]; \ + } u; \ + u.val = (int64)(value); \ + (addr)[0] = u.parts[0]; \ + (addr)[1] = u.parts[1]; \ + } while (0) + +#define STORE_F64(addr, value) \ + do { \ + union { \ + float64 val; \ + uint32 parts[2]; \ + } u; \ + u.val = (value); \ + (addr)[0] = u.parts[0]; \ + (addr)[1] = u.parts[1]; \ + } while (0) + +#define I32 VALUE_TYPE_I32 +#define I64 VALUE_TYPE_I64 +#define F32 VALUE_TYPE_F32 +#define F64 VALUE_TYPE_F64 + +typedef struct WASMTypeTest { + uint16 param_count; + /* only one result is supported currently */ + uint16 result_count; + uint16 param_cell_num; + uint16 ret_cell_num; + /* types of params and results */ + uint8 types[128]; +} WASMTypeTest; + +void +test_invoke_native() +{ + uint32 argv[128], *p = argv; + WASMTypeTest func_type1 = { 20, 0, 0, 0, { I32, I64, F32, F64, I32, + I64, I64, I32, F64, F32, + I32, F64, F32, I64, I64, + F32, F64, I64, I64, F32 } }; + WASMTypeTest func_type2 = { 19, + 0, + 0, + 0, + { I64, F32, F64, I32, I64, I64, I32, F64, F32, + I32, F64, F32, I64, I64, F32, F64, I64, I64, + F32 } }; + WASMTypeTest func_type_i32 = { 0, 1, 0, 0, { I32 } }; + WASMTypeTest func_type_i64 = { 0, 1, 0, 0, { I64 } }; + WASMTypeTest func_type_f32 = { 0, 1, 0, 0, { F32 } }; + WASMTypeTest func_type_f64 = { 0, 1, 0, 0, { F64 } }; + WASMModuleInstance module_inst = { 0 }; + WASMExecEnv exec_env = { 0 }; + + module_inst.module_type = Wasm_Module_Bytecode; + exec_env.module_inst = (WASMModuleInstanceCommon *)&module_inst; + + *p++ = 0x12345678; + STORE_I64(p, 0xFFFFFFFF87654321ll); + p += 2; + *(float32 *)p++ = 1234.5678f; + STORE_F64(p, 567890.1234); + p += 2; + + *p++ = 0x11111111; + STORE_I64(p, 0xAAAAAAAABBBBBBBBll); + p += 2; + STORE_I64(p, 0x7788888899ll); + p += 2; + *p++ = 0x3456; + + STORE_F64(p, 8888.7777); + p += 2; + *(float32 *)p++ = 7777.8888f; + *p++ = 0x66666; + STORE_F64(p, 999999.88888); + p += 2; + + *(float32 *)p++ = 555555.22f; + STORE_I64(p, 0xBBBBBAAAAAAAAll); + p += 2; + STORE_I64(p, 0x3333AAAABBBBll); + p += 2; + *(float32 *)p++ = 88.77f; + + STORE_F64(p, 9999.01234); + p += 2; + STORE_I64(p, 0x1111122222222ll); + p += 2; + STORE_I64(p, 0x444455555555ll); + p += 2; + *(float32 *)p++ = 77.88f; + + wasm_runtime_invoke_native(&exec_env, test_native_args1, + (WASMType *)&func_type1, NULL, NULL, argv, + p - argv, argv); + printf("\n"); + + wasm_runtime_invoke_native(&exec_env, test_native_args2, + (WASMType *)&func_type2, NULL, NULL, argv + 1, + p - argv - 1, argv); + printf("\n"); + + wasm_runtime_invoke_native(&exec_env, test_return_i32, + (WASMType *)&func_type_i32, NULL, NULL, NULL, 0, + argv); + printf("test_return_i32: 0x%X\n\n", argv[0]); + + wasm_runtime_invoke_native(&exec_env, test_return_i64, + (WASMType *)&func_type_i64, NULL, NULL, NULL, 0, + argv); + printf("test_return_i64: 0x%X%08X\n\n", (int32)((*(int64 *)argv) >> 32), + (int32)(*(int64 *)argv)); + + wasm_runtime_invoke_native(&exec_env, test_return_f32, + (WASMType *)&func_type_f32, NULL, NULL, NULL, 0, + argv); + printf("test_return_f32: %f\n\n", *(float32 *)argv); + + wasm_runtime_invoke_native(&exec_env, test_return_f64, + (WASMType *)&func_type_f64, NULL, NULL, NULL, 0, + argv); + printf("test_return_f64: %f\n\n", *(float64 *)argv); +} diff --git a/tests/standalone/test-malloc/main.c b/tests/standalone/test-malloc/main.c new file mode 100644 index 000000000..9405700d8 --- /dev/null +++ b/tests/standalone/test-malloc/main.c @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include +#include +#include + +int +main(int argc, char **argv) +{ + char *buf, *buf1; + + printf("Hello World!\n"); + + buf = malloc(1024); + + printf("malloc func ptr: %p\n", malloc); + + printf("##buf: %p\n", buf); + + if (!buf) { + printf("malloc buf failed\n"); + return -1; + } + + printf("buf ptr: %p\n", buf); + + memset(buf, 0, 1024); + + sprintf(buf, "%s", "1234\n"); + printf("buf: %s", buf); + + buf1 = strdup(buf); + printf("buf1: %s\n", buf1); + + free(buf1); + free(buf); + + printf("buf[65536]: %c\n", buf[65536]); + + return 0; +} diff --git a/tests/standalone/test-malloc/run.sh b/tests/standalone/test-malloc/run.sh new file mode 100755 index 000000000..1649c345f --- /dev/null +++ b/tests/standalone/test-malloc/run.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +echo "============> compile test-malloc to wasm" +/opt/wasi-sdk/bin/clang -O3 -z stack-size=4096 -Wl,--initial-memory=65536 \ + -o test-malloc.wasm main.c \ + -Wl,--export=main -Wl,--export=__main_argc_argv \ + -Wl,--export=__heap_base,--export=__data_end -Wl,--no-entry \ + -nostdlib -Wl,--allow-undefined + +if [[ $1 != "--aot" ]]; then + echo "============> run test-malloc.wasm" + ${IWASM_CMD} --heap-size=16384 test-malloc.wasm +else + echo "============> compile test-malloc.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test-malloc.aot test-malloc.wasm \ + || ${WAMRC_CMD} -o test-malloc.aot test-malloc.wasm + echo "============> run test-malloc.aot" + ${IWASM_CMD} --heap-size=16384 test-malloc.aot +fi + diff --git a/tests/standalone/test-module-malloc/CMakeLists.txt b/tests/standalone/test-module-malloc/CMakeLists.txt new file mode 100644 index 000000000..8081f9fa4 --- /dev/null +++ b/tests/standalone/test-module-malloc/CMakeLists.txt @@ -0,0 +1,88 @@ +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +cmake_minimum_required(VERSION 3.14) + +include(CheckPIESupported) + +project(native_lib) + +################ runtime settings ############## +string (TOLOWER ${CMAKE_HOST_SYSTEM_NAME} WAMR_BUILD_PLATFORM) +if (APPLE) + add_definitions(-DBH_PLATFORM_DARWIN) +endif () + +# Reset default linker flags +set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") +set (CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") + +# WAMR features switch + +# Set WAMR_BUILD_TARGET, currently values supported are: +# "X86_64", "AMD_64", "X86_32", "AARCH64[sub]", "ARM[sub]", "THUMB[sub]", +# "MIPS", "XTENSA", "RISCV64[sub]", "RISCV32[sub]" +if (NOT DEFINED WAMR_BUILD_TARGET) + if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64|aarch64)") + set (WAMR_BUILD_TARGET "AARCH64") + elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64") + set (WAMR_BUILD_TARGET "RISCV64") + elseif (CMAKE_SIZEOF_VOID_P EQUAL 8) + # Build as X86_64 by default in 64-bit platform + set (WAMR_BUILD_TARGET "X86_64") + elseif (CMAKE_SIZEOF_VOID_P EQUAL 4) + # Build as X86_32 by default in 32-bit platform + set (WAMR_BUILD_TARGET "X86_32") + else () + message(SEND_ERROR "Unsupported build target platform!") + endif () +endif () + +if (NOT CMAKE_BUILD_TYPE) + set (CMAKE_BUILD_TYPE Release) +endif () + +if (NOT WAMR_BUILD_INTERP) + set (WAMR_BUILD_INTERP 1) +endif () +if (NOT WAMR_BUILD_AOT) + set (WAMR_BUILD_AOT 1) +endif () +set (WAMR_BUILD_LIBC_BUILTIN 1) +set (WAMR_BUILD_LIBC_WASI 1) + +# compiling and linking flags +if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang")) + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections") +endif () +set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security") + +################ wasm application ############### +add_subdirectory(wasm-app) + +# build out libiwasm +set (WAMR_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../../..) +include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake) + +# Note: we build libiwasm as a shared library here so that it can be +# shared between iwasm and native libraries. +add_library(libiwasm SHARED ${WAMR_RUNTIME_LIB_SOURCE}) +set_target_properties (libiwasm PROPERTIES OUTPUT_NAME iwasm) + +################ wamr runtime ################### +include (${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake) + +set (RUNTIME_SOURCE_ALL + ${WAMR_ROOT_DIR}/product-mini/platforms/posix/main.c + ${UNCOMMON_SHARED_SOURCE} +) + +add_executable (iwasm ${RUNTIME_SOURCE_ALL}) + +check_pie_supported() +set_target_properties (iwasm PROPERTIES POSITION_INDEPENDENT_CODE ON) + +target_link_libraries(iwasm libiwasm -lpthread -lm -ldl) + +################ native libraries ############### +add_library (test_module_malloc SHARED test_module_malloc.c) diff --git a/tests/standalone/test-module-malloc/run.sh b/tests/standalone/test-module-malloc/run.sh new file mode 100755 index 000000000..644544f08 --- /dev/null +++ b/tests/standalone/test-module-malloc/run.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $1 == "--classic-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=0" +elif [[ $1 == "--fast-interp" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1" +elif [[ $1 == "--fast-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1" +elif [[ $1 == "--jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_JIT=1" +elif [[ $1 == "--multi-tier-jit" ]]; then + CMAKE_FLAGS="-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1" +fi + +TARGET="X86_64" +if [[ $3 = "X86_32" ]]; then + TARGET="X86_32" + WAMRC_FLAGS="--target=i386" +fi + +readonly WAMRC_CMD="$PWD/../../../wamr-compiler/build/wamrc" + +echo "============> test test-module-malloc" + +if [[ $1 != "--aot" ]]; then + rm -fr build && mkdir build && cd build + cmake .. -DWAMR_BUILD_TARGET=${TARGET} + make -j > /dev/null 2>&1 + ./iwasm --native-lib=./libtest_module_malloc.so wasm-app/test.wasm + if [ ${TARGET} == "X86_64" ]; then + echo "============> test test-module-malloc with hw bound check disabled" + cd .. && rm -fr build && mkdir build && cd build + cmake .. -DWAMR_BUILD_TARGET=${TARGET} -DWAMR_DISABLE_HW_BOUND_CHECK=1 + make clean + make -j > /dev/null 2>&1 + ./iwasm --native-lib=./libtest_module_malloc.so wasm-app/test.wasm + fi +else + rm -fr build && mkdir build && cd build + cmake .. -DWAMR_BUILD_TARGET=${TARGET} + make -j > /dev/null 2>&1 + ${WAMRC_CMD} ${WAMRC_FLAGS} -o wasm-app/test.aot wasm-app/test.wasm + ./iwasm --native-lib=./libtest_module_malloc.so wasm-app/test.aot + if [ ${TARGET} == "X86_64" ]; then + echo "============> test test-module-malloc with hw bound check disabled" + cd .. && rm -fr build && mkdir build && cd build + cmake .. -DWAMR_BUILD_TARGET=${TARGET} -DWAMR_DISABLE_HW_BOUND_CHECK=1 + make clean + make -j > /dev/null 2>&1 + ${WAMRC_CMD} ${WAMRC_FLAGS} --bounds-checks=1 -o wasm-app/test.aot wasm-app/test.wasm + ./iwasm --native-lib=./libtest_module_malloc.so wasm-app/test.aot + fi +fi + diff --git a/tests/standalone/test-module-malloc/test_module_malloc.c b/tests/standalone/test-module-malloc/test_module_malloc.c new file mode 100644 index 000000000..6863f101a --- /dev/null +++ b/tests/standalone/test-module-malloc/test_module_malloc.c @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include + +#include "wasm_export.h" + +static uint32_t +test_module_malloc_wrapper(wasm_exec_env_t exec_env, uint32_t buf_size) +{ + wasm_module_inst_t module_inst = get_module_inst(exec_env); + return wasm_runtime_module_malloc(module_inst, buf_size, NULL); +} + +static void +test_module_free_wrapper(wasm_exec_env_t exec_env, uint32_t ptr) +{ + wasm_module_inst_t module_inst = get_module_inst(exec_env); + + wasm_runtime_module_free(module_inst, ptr); +} + +/* clang-format off */ +#define REG_NATIVE_FUNC(func_name, signature) \ + { #func_name, func_name##_wrapper, signature, NULL } + +static NativeSymbol native_symbols[] = { + REG_NATIVE_FUNC(test_module_malloc, "(i)i"), + REG_NATIVE_FUNC(test_module_free, "(i)") +}; +/* clang-format on */ + +uint32_t +get_native_lib(char **p_module_name, NativeSymbol **p_native_symbols) +{ + *p_module_name = "env"; + *p_native_symbols = native_symbols; + return sizeof(native_symbols) / sizeof(NativeSymbol); +} diff --git a/tests/standalone/test-module-malloc/wasm-app/CMakeLists.txt b/tests/standalone/test-module-malloc/wasm-app/CMakeLists.txt new file mode 100644 index 000000000..c87187709 --- /dev/null +++ b/tests/standalone/test-module-malloc/wasm-app/CMakeLists.txt @@ -0,0 +1,32 @@ +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +cmake_minimum_required(VERSION 3.0) +project(wasm-app) + +set (WAMR_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../..) + +if (APPLE) + set (HAVE_FLAG_SEARCH_PATHS_FIRST 0) + set (CMAKE_C_LINK_FLAGS "") + set (CMAKE_CXX_LINK_FLAGS "") +endif () + +set (CMAKE_SYSTEM_PROCESSOR wasm32) + +if (NOT DEFINED WASI_SDK_DIR) + set (WASI_SDK_DIR "/opt/wasi-sdk") +endif () + +set (CMAKE_C_COMPILER_TARGET "wasm32") +set (CMAKE_C_COMPILER "${WASI_SDK_DIR}/bin/clang") + +set (CMAKE_EXE_LINKER_FLAGS + "-Wl,--max-memory=131072 -z stack-size=8192 \ + -Wl,--export=malloc \ + -Wl,--export=free \ + -Wl,--allow-undefined" +) + +add_executable(test.wasm main.c) +target_link_libraries(test.wasm) diff --git a/tests/standalone/test-module-malloc/wasm-app/main.c b/tests/standalone/test-module-malloc/wasm-app/main.c new file mode 100644 index 000000000..fa8ad4d79 --- /dev/null +++ b/tests/standalone/test-module-malloc/wasm-app/main.c @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include + +void * +test_module_malloc(unsigned buf_size); + +void +test_module_free(void *buf); + +int +main(int argc, char **argv) +{ + char *buf = NULL; + + printf("Hello World!\n"); + + buf = test_module_malloc(1024); + if (buf) { + printf("module_malloc(1024) success, return %p\n", buf); + snprintf(buf, 1024, "%s", "Hello world!\n"); + } + else { + printf("module_malloc(1024) failed!\n"); + return -1; + } + + test_module_free(buf); + + buf = test_module_malloc(32 * 1024 * 1024); + if (!buf) { + printf("module_malloc(32MB) failed => expected, not an issue\n"); + } + else { + printf("module_malloc(32MB) success, unexpected!\n"); + return -1; + } + + return 0; +} diff --git a/tests/standalone/test-parson/run.sh b/tests/standalone/test-parson/run.sh new file mode 100755 index 000000000..409992b6e --- /dev/null +++ b/tests/standalone/test-parson/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run test_parson.wasm" + ${IWASM_CMD} --heap-size=16384 test_parson.wasm +else + echo "============> compile test_parson.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test_parson.aot test_parson.wasm \ + || ${WAMRC_CMD} -o test_parson.aot test_parson.wasm + echo "============> run test_parson.aot" + ${IWASM_CMD} --heap-size=16384 test_parson.aot +fi + diff --git a/tests/standalone/test-parson/test_parson.wasm b/tests/standalone/test-parson/test_parson.wasm new file mode 100755 index 0000000000000000000000000000000000000000..0b38a6560f62e3f828de7831735c8a1821a6818d GIT binary patch literal 50450 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 run test_printf_builtin.wasm" + ${IWASM_CMD} test_printf_builtin.wasm > a.log 2>&1 + echo "============> run test_printf_wasi.wasm" + ${IWASM_CMD} test_printf_wasi.wasm > b.log 2>&1 +else + echo "============> compile test_printf_builtin.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test_printf_builtin.aot test_printf_builtin.wasm \ + || ${WAMRC_CMD} -o test_printf_builtin.aot test_printf_builtin.wasm + echo "============> run test_printf_builtin.aot" + ${IWASM_CMD} test_printf_builtin.aot > a.log 2>&1 + echo "============> compile test_printf_wasi.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test_printf_wasi.aot test_printf_wasi.wasm \ + || ${WAMRC_CMD} -o test_printf_wasi.aot test_printf_wasi.wasm + echo "============> run test_printf_wasi.aot" + ${IWASM_CMD} test_printf_wasi.aot > b.log 2>&1 +fi + diff --git a/tests/standalone/test-printf/test_printf_builtin.wasm b/tests/standalone/test-printf/test_printf_builtin.wasm new file mode 100644 index 0000000000000000000000000000000000000000..99af314734d6394deca3f5c9e3d7ee62613a3158 GIT binary patch literal 515680 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

5YX(PbY&3+TL$>}62_+85nq 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�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 literal 0 HcmV?d00001 diff --git a/tests/standalone/test-printf/test_printf_wasi.wasm b/tests/standalone/test-printf/test_printf_wasi.wasm new file mode 100644 index 0000000000000000000000000000000000000000..40914f10a1f7e13f1c431f77873504cf78d5bcb4 GIT binary patch literal 523376 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

eXT7~8J2#%YapS9v=E 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 +#include + +/* Calculate Fibonacci numbers shared function */ +int +fibonacci(int iterations) +{ + int val = 1; + int last = 0; + + if (iterations == 0) { + return 0; + } + for (int i = 1; i < iterations; i++) { + int seq; + + seq = val + last; + last = val; + val = seq; + } + return val; +} + +int bg = 42; + +/* Start function for the background thread */ +void * +bg_func(void *arg) +{ + int *iter = (void *)arg; + + *iter = fibonacci(*iter); + printf("bg number: %d\n", *iter); + return arg; +} + +/* Foreground thread and main entry point */ +int +main(int argc, char *argv[]) +{ + int fg_val = 54; + int bg_val = 42; + pthread_t bg_thread; + + /* Create the background thread */ + if (pthread_create(&bg_thread, NULL, bg_func, &bg_val)) { + printf("Thread create failed"); + return 1; + } + + /* Calculate on the foreground thread */ + fg_val = fibonacci(fg_val); + + /* Wait for background thread to finish */ + if (pthread_join(bg_thread, NULL)) { + printf("Thread join failed"); + return 2; + } + + /* Show the result from background and foreground threads */ + printf("Fib(42) is %d, Fib(6 * 9) is %d\n", bg_val, fg_val); + + return 0; +} diff --git a/tests/standalone/test-pthread/create_join.wasm b/tests/standalone/test-pthread/create_join.wasm new file mode 100755 index 0000000000000000000000000000000000000000..8c2cf7db5d927e9a4ebdb2883e64a9e667e1db9b GIT binary patch literal 1194 zcmZux&63+h5bo|7`DbObCPz3h4p6n(&Hg0LI_sQP2dF#%RB@XfNn=}%B)cp*)aIgv z$|0P22`+>O-~}k2AO{XS$R6mC>|zs8m1m~E?&OLys6jPxic7Qzr}tlv)OWeP4KbS-?M5RnKac=xm*_@?rpIo zPfFbcg51+OHl@)vkA>)KJxiCNNp)xnE2OXW+?rKmc^q1%g)Wj;R?z<4WDJAX<4na; z&rKeuRmA&7kWKUn{O2etx>V5TN7?rS9HO%Vdfo@#s>P5PW8YASOC=O6hN#$3 z3@T#(ed>enEA)Rt^s3Kq_=8~Z;y!*+AL-JiJ0NgzE=vy`iQv06g-bD%j1W6LrXb}l zoO|dgF(f4&g{&z+i7|n~dJA5^VIqZtn&lIP!C=uaD)8ST(j6(Zbx?3Pre3Xxg3f|p z;s>XerSukq`q&3nO9#ZSH2Bf^zGBh8I3@-frhvEx@>wUx^_(CI{&@H2Z#X6y{9cQq zUFf#lpWjcw)${d#^$OoNgz^vo@VjuP@=X@n^)vNlya(UZ9j}^>S5uRuHr|1*<9E>4 zNqF$&@dK343>3XLOX9yxFaM|Ky$@UWPOG+e zo!V&{b<aD>jHaxjBHWZ_&B^qFG@{5`*w12c5zo5}d%aX5 +#include + +/* Start function for the background thread */ +void * +bg_func(void *arg) +{ + uint32_t i; + + printf("Thread start.\n"); + + for (i = 0; i < 100000000; i++) + arg += i; + return arg; +} + +/* Foreground thread and main entry point */ +int +main(int argc, char *argv[]) +{ + pthread_t bg_thread; + + if (pthread_create(&bg_thread, NULL, bg_func, NULL)) { + printf("Thread create failed"); + return 1; + } + printf("Thread created.\n"); + + /* Return the process directly, runtime should terminate + the sub threads and exit the whole wasm module */ + printf("Process exit.\n"); + printf("Test success.\n"); + + return 0; +} diff --git a/tests/standalone/test-pthread/main_thread_return.wasm b/tests/standalone/test-pthread/main_thread_return.wasm new file mode 100755 index 0000000000000000000000000000000000000000..eafb5b1ae60cfa2aee11b06e1905a495266f76dd GIT binary patch literal 29172 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 +#include +#include + +pthread_mutex_t mutex; +static pthread_cond_t cond; + +typedef struct test { + int test1; + int test2; +} Test; + +Test t1; + +void * +thread(void *arg) +{ + pthread_mutex_lock(&mutex); + printf("thread signal\n"); + pthread_cond_signal(&cond); + pthread_mutex_unlock(&mutex); + + return NULL; +} + +int +main() +{ + pthread_t p; + + pthread_mutex_init(&mutex, NULL); + pthread_cond_init(&cond, NULL); + + printf("parent begin\n"); + + pthread_mutex_lock(&mutex); + pthread_create(&p, NULL, thread, NULL); + + pthread_cond_wait(&cond, &mutex); + pthread_mutex_unlock(&mutex); + + printf("parend end\n"); + + pthread_join(p, NULL); + + pthread_cond_destroy(&cond); + pthread_mutex_destroy(&mutex); + + return 0; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/pthread_cond.wasm b/tests/standalone/test-pthread/pthread_cond.wasm new file mode 100755 index 0000000000000000000000000000000000000000..35c72c469f42527c6bf75cd5723a318975c1385b GIT binary patch literal 1430 zcmZuxJ$KVE6n&B%C#l`UEwC^^4sd$l^rTHOO%s^>BbZg$R+F^;$g$;?vN)6ig@yhC z21b}zSXfy2R~?Y8Bz4kykaVB!yL!sg4bUV&0DvB9`zS-%KF;z{&BP~W01<_KKp8&6 zy28Ta^)VmDjCv$UIeSC=$UOqcH`H;;6S=%Iv&@x7xi!k_$K*;&P0qE`7j!VQg>cUq3f}P$I+=Q^WKat%e>yJYKo#l z1*sJ@Mi^IAq+qP=)iY%Oy-;;Afu4aJe%JElq!^3M8IYlinqK{b8d|`DC_croM#zb1 z263tH6PHJE0{Z$imS37kA{Z-#c$8DZLQhdv2^sj2Lw(}Vgej^{$dJ*oL={2hej+;X zmMOSd787AuHH1V|gfQsL(sTPxo`HoVnR}t7q zM-2nvm0ws>!8G&-`6X?z&8r%~RUPch9Bo|HkU&Vsp!WphVln}9B0jipUl!n<1m^`f zlR(nmO91*mgi!Wapox$_dIV48vS8U@o=aY#Am9fHzm?U?=eEE$4n=9j!Giy>oGyu< zWN4v`pC!E(JjI4c6`}khvi8sAq%Q>!N12DyYC*4o`85yg`YVh~VZDV9ZOA6Hrmh*& zn1#IMFwq4lfY%a@2l#>2kOmBW$7`@;o!nEXup_?BiOT%pmrbZHiR4eNa?^U+lIyCA zl-zK&1+UfTr^>G||smtO78Dih3;+UX#;!z&JS&e^6=65@oYWc@&J?WK(xi|EMiJ Pz1b9 +#include +#include + +pthread_key_t key; +pthread_mutex_t lock; + +struct test_struct { + int i; + int k; +}; + +typedef struct point { + int x; + int y; +} Point; + +void * +child1(void *arg) +{ + struct test_struct struct_data; + struct_data.i = 10; + struct_data.k = 5; + pthread_mutex_lock(&lock); + pthread_setspecific(key, &struct_data); + printf("thread1--address of struct_data is --> %p\n", &(struct_data)); + printf("thread1--from pthread_getspecific(key) get the pointer and it " + "points to --> %p\n", + (struct test_struct *)pthread_getspecific(key)); + printf("thread1--from pthread_getspecific(key) get the pointer and print " + "it's content:\nstruct_data.i:%d\nstruct_data.k: %d\n", + ((struct test_struct *)pthread_getspecific(key))->i, + ((struct test_struct *)pthread_getspecific(key))->k); + printf("------------------------------------------------------\n"); + pthread_mutex_unlock(&lock); +} + +void * +child2(void *arg) +{ + int temp = 20; + + pthread_mutex_lock(&lock); + printf("thread2--temp's address is %p\n", &temp); + pthread_setspecific(key, &temp); + printf("thread2--from pthread_getspecific(key) get the pointer and it " + "points to --> %p\n", + (int *)pthread_getspecific(key)); + printf("thread2--from pthread_getspecific(key) get the pointer and print " + "it's content --> temp:%d\n", + *((int *)pthread_getspecific(key))); + printf("------------------------------------------------------\n"); + pthread_mutex_unlock(&lock); +} + +int +main(void) +{ + Point p; + p.x = 10; + p.y = 20; + pthread_t tid1, tid2; + + pthread_mutex_init(&lock, NULL); + + pthread_key_create(&key, NULL); + pthread_create(&tid1, NULL, child1, NULL); + pthread_create(&tid2, NULL, child2, NULL); + + pthread_mutex_lock(&lock); + printf("main--temp's address is %p\n", &p); + pthread_setspecific(key, &p); + printf("main--from pthread_getspecific(key) get the pointer and it points " + "to --> %p\n", + (int *)pthread_getspecific(key)); + printf("main--from pthread_getspecific(key) get the pointer and print " + "it's content --> x:%d, y:%d\n", + ((Point *)pthread_getspecific(key))->x, + ((Point *)pthread_getspecific(key))->y); + pthread_mutex_unlock(&lock); + + pthread_join(tid1, NULL); + pthread_join(tid2, NULL); + pthread_key_delete(key); + return 0; +} diff --git a/tests/standalone/test-pthread/pthread_key.wasm b/tests/standalone/test-pthread/pthread_key.wasm new file mode 100755 index 0000000000000000000000000000000000000000..168bf4a0e2510ab4173514421bd4eda95281512f GIT binary patch literal 2605 zcmb_ey>sJ46o0#tzal4A!d2ItIJm(#i4!MI947@c;(wsl$T zQXEHKzocWTbo!p}?!$&E zGOUyoOrBDf+ykiL`Y`g&ya1hzY)q7{CZEkpnSe<&x>2hVy7p_aq=H`69tpT6nC06t zz-r`!1 z6`j#G1@q;XNffCY^YRsv`eouXjrg-HfaV}WrTs<-Sq0a8(55>JNE1*y0|Dw^>B`JO z<$+<0JF_h0>>1MUFpVNtInouVFePCAB^CcCoImJn_ikYL7*e2+Y~Kw%Ryq=t3Hs+U zH_7fH`Gw35n1=(biDV;@iyI?06l+0nlP%1-i|GMW>Lls8`C4FvRp}8bS&`t8OlxPB zohTR?z7CvYEAbZ*BxT~xPJ+%I&J3E%%-UH1oI7~ zg@Tty8T4-jU(#jz3gjF?9ghbMP};l)Oy@xJk7yau^y zFA7IScEinGv~@h*PYq-kyw8j=UVWTJ2HpjR$0ZpXJiHHk$(4^*--`_=L@xn9U7L$~ z*E@aUE-;3t269pe2aN`2qcJYdKqJZ-LKNRC!aLb}9bu9;5x2kw;-Y*L3@N)O40kp5 z1^_QG`W@pu!O*zV1MmY?1AD~C_jC*LzC0TkNInG2%?dOf6O>#ySGa02928d01;r%~ zqH~sV-fS8uFAV~fg&AONVTEk}+UpIvx}ra?FSpr^w5`_CMyfCO(M{P#CzWv&x)X;* zF{$FOgU6e>jqW)qIKCa6eR#6l+-(~5KIh~3bZ_s> +#include +#include + +typedef struct ct_sum { + int sum; + pthread_mutex_t lock; +} ct_sum; + +void * +add1(void *cnt) +{ + pthread_mutex_lock(&(((ct_sum *)cnt)->lock)); + printf("get lock thread1 id:%lu\n", pthread_self()); + + int i; + for (i = 0; i < 50; i++) { + (*(ct_sum *)cnt).sum += i; + } + + pthread_mutex_unlock(&(((ct_sum *)cnt)->lock)); + pthread_exit(NULL); + return 0; +} + +void * +add2(void *cnt) +{ + int i; + cnt = (ct_sum *)cnt; + pthread_mutex_lock(&(((ct_sum *)cnt)->lock)); + printf("get lock thread2 id:%lu\n", pthread_self()); + + for (i = 50; i < 101; i++) { + (*(ct_sum *)cnt).sum += i; + } + + pthread_mutex_unlock(&(((ct_sum *)cnt)->lock)); + pthread_exit(NULL); + return 0; +} + +int +main(void) +{ + int i; + pthread_t ptid1, ptid2; + int sum = 0; + ct_sum cnt; + pthread_mutex_init(&(cnt.lock), NULL); + cnt.sum = 0; + + pthread_create(&ptid1, NULL, add1, &cnt); + pthread_create(&ptid2, NULL, add2, &cnt); + + pthread_join(ptid1, NULL); + pthread_join(ptid2, NULL); + + pthread_mutex_lock(&(cnt.lock)); + printf("sum %d\n", cnt.sum); + pthread_mutex_unlock(&(cnt.lock)); + + pthread_mutex_destroy(&(cnt.lock)); + return 0; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/pthread_mutex.wasm b/tests/standalone/test-pthread/pthread_mutex.wasm new file mode 100755 index 0000000000000000000000000000000000000000..d4d7180d5630b49e6799aa48024531850e1588fd GIT binary patch literal 1965 zcma)-%W~sH6o$K7H(Qb|#ku&B+vy@x6)GfgV&X|sMb&6Q)w}>}MV6Grifnl-d6=;A zaGw?Xc>~t4W5oiVfM?(dSTYMvOSXpuFHn^wb@#dS`TF=5@zMb$gwS2}icabDir|k; z#T%WHD|w2Sm?i9YT9(4$%i1Wr9fw}v4klUn%8e8Mju5e6&KJ@!z9v*msiSd!m|YVl z25a;6!f`TO;u^l{XGB_(ra#1mJWO>S#>ZV`A(0>Cj*|Ycuv?$o73qR7&Bn<+ZndN- zii8C-S)n5;Ns3G*#?%9CN}XTd$Ob-$F(t+Amy&pWo!|4te4zbIE9xK|B;$KVR$TXU zgy{NS9J_v&j8jss&E~|m-NKOQy6XmB=DFc8kfe(1-o#1Ii`|}=hLUW!?rrFeijjh* zS)96Q|BFy!*1v<{G%-w!lqT-2Hw@xXQe`g)PKYTUr=)`B$+&;hA7bo*hd8Qo{;HY!YZspd<|-_hUp5E zb@beTb=Zh_9W&K2lSvE%6E_OyChoiiO=v}Y6E^Ly^L;_X{zklD*<0wf74dD@o|WCO zj2{`@`TuAzfV=>uU^*2PP$RB^_7D_ufsz3AHV0J(WHSeqlL37W>Q91*a#ALkNXg(; zs6h2Ox3FFtEU;hj6rgjF+8yX>Rlv4uOd5Uv%8Ho-ppwm8k)#zsIY z_K;$KSIm}isJ|bweYPiU-c#OYCKlSTnKzPyFs#r}MNEcFxZ)+J3j=f9!X run create_join.wasm" + ${IWASM_CMD} --heap-size=16384 create_join.wasm + echo "============> run main_thread_return.wasm" + ${IWASM_CMD} --heap-size=16384 main_thread_return.wasm + echo "============> run thread_cancel.wasm" + ${IWASM_CMD} --heap-size=16384 thread_cancel.wasm + echo "============> run thread_exit.wasm" + ${IWASM_CMD} --heap-size=16384 thread_exit.wasm + echo "============> run wasi.wasm" + ${IWASM_CMD} --heap-size=16384 wasi.wasm + echo "============> run pthread_mutex.wasm" + ${IWASM_CMD} --heap-size=16384 pthread_mutex.wasm + echo "============> run pthread_cond.wasm" + ${IWASM_CMD} --heap-size=16384 pthread_cond.wasm + echo "============> run pthread_key.wasm" + ${IWASM_CMD} --heap-size=16384 pthread_key.wasm +else + echo "============> compile create_join.wasm to aot" + if [[ $2 == "--sgx" ]]; then + ${WAMRC_CMD} -sgx --enable-multi-thread -o create_join.aot create_join.wasm + else + ${WAMRC_CMD} --enable-multi-thread -o create_join.aot create_join.wasm + fi + echo "============> run create_join.aot" + ${IWASM_CMD} --heap-size=16384 create_join.aot + + echo "============> compile main_thread_return.wasm to aot" + if [[ $2 == "--sgx" ]]; then + ${WAMRC_CMD} -sgx --enable-multi-thread -o main_thread_return.aot main_thread_return.wasm + else + ${WAMRC_CMD} --enable-multi-thread -o main_thread_return.aot main_thread_return.wasm + fi + echo "============> run main_thread_return.aot" + ${IWASM_CMD} --heap-size=16384 main_thread_return.aot + + echo "============> compile thread_cancel.wasm to aot" + if [[ $2 == "--sgx" ]]; then + ${WAMRC_CMD} -sgx --enable-multi-thread -o thread_cancel.aot thread_cancel.wasm + else + ${WAMRC_CMD} --enable-multi-thread -o thread_cancel.aot thread_cancel.wasm + fi + echo "============> run thread_cancel.aot" + ${IWASM_CMD} --heap-size=16384 thread_cancel.aot + + echo "============> compile thread_exit.wasm to aot" + if [[ $2 == "--sgx" ]]; then + ${WAMRC_CMD} -sgx --enable-multi-thread -o thread_exit.aot thread_exit.wasm + else + ${WAMRC_CMD} --enable-multi-thread -o thread_exit.aot thread_exit.wasm + fi + echo "============> run thread_exit.aot" + ${IWASM_CMD} --heap-size=16384 thread_exit.aot + + echo "============> compile wasi.wasm to aot" + if [[ $2 == "--sgx" ]]; then + ${WAMRC_CMD} -sgx --enable-multi-thread -o wasi.aot wasi.wasm + else + ${WAMRC_CMD} --enable-multi-thread -o wasi.aot wasi.wasm + fi + echo "============> run wasi.aot" + ${IWASM_CMD} --heap-size=16384 wasi.aot + + echo "============> compile pthread_mutex.wasm to aot" + if [[ $2 == "--sgx" ]]; then + ${WAMRC_CMD} -sgx --enable-multi-thread -o pthread_mutex.aot pthread_mutex.wasm + else + ${WAMRC_CMD} --enable-multi-thread -o pthread_mutex.aot pthread_mutex.wasm + fi + echo "============> run pthread_mutex.aot" + ${IWASM_CMD} --heap-size=16384 pthread_mutex.aot + + echo "============> compile pthread_cond.wasm to aot" + if [[ $2 == "--sgx" ]]; then + ${WAMRC_CMD} -sgx --enable-multi-thread -o pthread_cond.aot pthread_cond.wasm + else + ${WAMRC_CMD} --enable-multi-thread -o pthread_cond.aot pthread_cond.wasm + fi + echo "============> run pthread_cond.aot" + ${IWASM_CMD} --heap-size=16384 pthread_cond.aot + + echo "============> compile pthread_key.wasm to aot" + if [[ $2 == "--sgx" ]]; then + ${WAMRC_CMD} -sgx --enable-multi-thread -o pthread_key.aot pthread_key.wasm + else + ${WAMRC_CMD} --enable-multi-thread -o pthread_key.aot pthread_key.wasm + fi + echo "============> run pthread_key.aot" + ${IWASM_CMD} --heap-size=16384 pthread_key.aot +fi + +cd threads-opcode-wasm-apps +rm -rf build && mkdir build && cd build +cmake .. && make +cd ../.. + +wasm_files=$(ls threads-opcode-wasm-apps/build/*.wasm) + +for wasm_file in $wasm_files; do + wasm_file_name="${wasm_file%.wasm}" + # avoid keep printing warning: warning: SGX pthread_cond_timedwait isn't supported, calling pthread_cond_wait instead! + if [[ $2 == "--sgx" ]] && [[ ${wasm_file_name} == *"atomic_wait_notify"* ]]; then + echo "============> didn't run ${wasm_file_name} on sgx aot mode, it will output too much warning info" + continue + fi + + if [[ $1 != "--aot" ]]; then + echo "============> run ${wasm_file_name}.wasm" + ${IWASM_CMD} --heap-size=16384 ${wasm_file_name}.wasm + else + echo "============> compile ${wasm_file_name}.wasm to aot" + if [[ $2 == "--sgx" ]]; then + ${WAMRC_CMD} -sgx --enable-multi-thread --opt-level=0 -o ${wasm_file_name}.aot ${wasm_file_name}.wasm + else + ${WAMRC_CMD} --enable-multi-thread --opt-level=0 -o ${wasm_file_name}.aot ${wasm_file_name}.wasm + fi + echo "============> run ${wasm_file_name}.aot" + ${IWASM_CMD} --heap-size=16384 ${wasm_file_name}.aot + fi +done diff --git a/tests/standalone/test-pthread/thread_cancel.c b/tests/standalone/test-pthread/thread_cancel.c new file mode 100644 index 000000000..648fdc7fa --- /dev/null +++ b/tests/standalone/test-pthread/thread_cancel.c @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2023 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include + +/* Start function for the background thread */ +void * +bg_func(void *arg) +{ + printf("Thread start.\n"); + /* This thread will never exit unless canceled by other thread */ + while (1) + ; +} + +/* Foreground thread and main entry point */ +int +main(int argc, char *argv[]) +{ + pthread_t bg_thread; + + if (pthread_create(&bg_thread, NULL, bg_func, NULL)) { + printf("Thread create failed"); + return 1; + } + printf("Thread created.\n"); + + /* Cancel the sub thread */ + pthread_cancel(bg_thread); + + printf("Sub-thread Canceled.\n"); + printf("Test success.\n"); + + return 0; +} diff --git a/tests/standalone/test-pthread/thread_cancel.wasm b/tests/standalone/test-pthread/thread_cancel.wasm new file mode 100755 index 0000000000000000000000000000000000000000..1ef9f5a5bd1f6836303969a5940ec999ac67764e GIT binary patch literal 932 zcmZuwy>in)5Z=3!EIa2AhoOQ-0g5mlI}Rd_O%+XsCm=9Gbvd2Rwh~F!=uTn63}XXL z3R+4k9)X^kCrHhMq~Ihag9%)*Ki}Z6Shjqw6e? z|Lek{#sOVGZ7!Q-xU6h-StZU_L>q}r=J`2>O~&4u*_q&R%!Hoj3aq==Sd>PZ)rDZM zF&1*onM^}M))|||^MJ=J;7SsUGB%SutFy9H$BL=wog{c;mCV4xR7~GQh`*%12wIji~=^ zh2F*6xZU|w-+y1Z@PDo()V$C+sULL-rEd^=eN>6;)*`zT9>p?*Yfx#P>;6qvmxO(I zSp>a$H{8QYd1=5SskEyKA*51$fcI9)6N%1RP^}cYwN3bXk;ossVzU0#-2RW`joZpO zH%c{Yp^8?P&%;8 +#include + +/* Start function for the background thread */ +void * +bg_func(void *arg) +{ + printf("Thread start.\n"); + while (1) { + pthread_exit(NULL); + } +} + +/* Foreground thread and main entry point */ +int +main(int argc, char *argv[]) +{ + pthread_t bg_thread; + + if (pthread_create(&bg_thread, NULL, bg_func, NULL)) { + printf("Thread create failed"); + return 1; + } + printf("Thread created.\n"); + + /* Wait for background thread to finish */ + if (pthread_join(bg_thread, NULL)) { + printf("Thread join failed"); + return 2; + } + + printf("Sub-thread exit.\n"); + printf("Test success.\n"); + + return 0; +} diff --git a/tests/standalone/test-pthread/thread_exit.wasm b/tests/standalone/test-pthread/thread_exit.wasm new file mode 100755 index 0000000000000000000000000000000000000000..db76074352c9ea8fc9eea60ba4e36e6dbb5c2605 GIT binary patch literal 1014 zcmZuwy>`8Zb>0rh4EBD6=ZdO5)(397`^g#i20turspv z33vovft_=@^8g)??S_*UJX~LW`o60x-_O8gi~s;VFi%i{3LW6YDD2 z8jD;>fHG|_)GQM$pyGX~0F}_a6~y(15`at4T4Z6OCO~e9=4qH{$TAHB0WnOpKp2|_ zA{blUMuEKF7ly50U>8t_t7e%lt5|JTi^ex(Td|1K>~H;JNo8o)UA5bd25lSLC!@cbsJe)_9%j$e}+sR zv1IyY+#mD@&fZL^g?zccKMmC^_xn7J_oL{v4n3`#3$C1jJ01rIY&;x2_gyX~htK%% zz;zE@;f_Y*0Ux^j1$T!BPhqsBzui **Atomicity** of **all** threads opcodes are **fully tested** with these cases. +> +> **☑ Only indicates** there is a WASM test case to **test the atomicity directly.** The atomicity of other opcodes **without ☑** is **tested indirectly.** Indirect testing means that it is either implicit with other cases in this directory or tested pragmatically correct (atomicity and semantic correctness together) in pthread or WASI-threads test cases. + +Click the link to see the details of how each opcode is tested. + +- RMW (Read-Modify-Write): + - [CMPXCHG opcode](#cmpxchg) ☑ + - Arithmetic: + - [ADD opcode](#arithmetic-add-sub-and-xchg) ☑ + - [SUB opcode](#arithmetic-add-sub-and-xchg) ☑ + - [XCHG opcode](#arithmetic-add-sub-and-xchg) ☑ + - Logical: + - [AND opcode](#logical-or-xor-and) + - [OR opcode](#logical-or-xor-and) + - [XOR opcode](#logical-or-xor-and) ☑ + +- [LOAD](#atomic-ldstfence) + +- [STORE](#atomic-ldstfence) ☑ + +- [FENCE](#atomic-ldstfence) ☑ + +- [WAIT & NOTIFY](#atomic-waitnotify) ☑ + +## Details + +### atomic rmw + +#### arithmetic (`add`, `sub`) and xchg + +- `add, sub`: in [atomic_add_sub.c](./atomic_add_sub.c), **__atomic_fetch_add/sub()** to generate wasm opcode atomic.add/sub + +- `xchg`: in x86-64 implementation, wasm code atomic `store` and `xchg` generate same asm instruction xchg, should be enough to only test with store(tested in [atomic_store.c](./atomic_store.c)). But add a `atomic_xchg.c` to use **__atomic_exchange()** to generate wasm opcode xchg and test it anyways(tested in [atomic_xchg.c](./atomic_xchg.c)). + +#### logical `or`, `xor`, `and` + +- logical `or`, `xor`, `and`: those three opcodes are similar, it all generate a loop, inside which uses corresponding asm instruction do logical operation and locked cmpxchg to atomically modify the memory. So in a sense, test it will implicitly test the atomicity of cmpxchg. + + in [atomic_logical.c](./atomic_logical.c), tested `xor` wasm opcode to test the atomicity of the generated loop: + + - make use of operation "n `xor` n -> 0", when n range from 1 to 9999, 4 thread concurrently xor the same variable, the final result should be 0. + + The generated loop of `xor` is atomic -> generated loop of `or`, `and` is also atomic + +#### cmpxchg + +- wasm opcode `cmpxchg` already tested together with other opcodes in multiple wasi-thread cases. Logical opcodes generate asm instruction lock cmpxchg, the atomicity of generated asm code is proven in logical opcode. In [atomic_wait&¬ify.c](./atomic_wait_notify.c), it also tests the opcode `cmpxchg` + +### atomic ld/st/fence + +use peterson lock algorithm, in [atomic_fence.c](./atomic_fence.c) to test the atomicity of `fence` + +> PS: since the interpreter is relatively slow compared to JIT/AOT mode, it's less likely(almost impossible) to trigger processor-level behavior: instructions to be ordered within a single thread + +The prerequisite for peterson lock properly is that load and store have to be `Sequential Consistency`, which can be achieved use: + +1. LOAD (without fence) and STORE + MFENCE -> use it to test `fence` opcode +2. LOAD (without fence) and LOCK XCHG -> use it to test atomic `store` opcode +3. MFENCE + LOAD and STORE (without fence) +4. LOCK XADD ( 0 ) and STORE (without fence) + +### atomic wait¬ify + +Actually in every pthread tests, it will generate `wait` and `notify`, it is also tested in in multiple wasi-thread cases. + +But add a [atomic_wait&¬ify.c](./atomic_wait_notify.c) to test it anyways. diff --git a/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_add_sub.c b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_add_sub.c new file mode 100644 index 000000000..5ebfa39d9 --- /dev/null +++ b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_add_sub.c @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2023 Amazon.com Inc. or its affiliates. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include + +#define MAX_NUM_THREADS 4 +#define NUM_ITER 100000 + +int g_add_count = 0; +int g_sub_count = 0; + +static void * +thread(void *arg) +{ + for (int i = 0; i < NUM_ITER; i++) { + __atomic_fetch_add(&g_add_count, 1, __ATOMIC_SEQ_CST); + __atomic_fetch_sub(&g_sub_count, 1, __ATOMIC_SEQ_CST); + } + + return NULL; +} + +int +main(int argc, char **argv) +{ + pthread_t tids[MAX_NUM_THREADS]; + + for (int i = 0; i < MAX_NUM_THREADS; i++) { + if (pthread_create(&tids[i], NULL, thread, NULL) != 0) { + printf("Thread creation failed\n"); + } + } + + for (int i = 0; i < MAX_NUM_THREADS; i++) { + if (pthread_join(tids[i], NULL) != 0) { + printf("Thread join failed\n"); + } + } + + printf("Value of counter after add update: %d (expected=%d)\n", g_add_count, + MAX_NUM_THREADS * NUM_ITER); + if (g_add_count != MAX_NUM_THREADS * NUM_ITER) { + __builtin_trap(); + } + + printf("Value of counter after sub update: %d (expected=%d)\n", g_sub_count, + -(MAX_NUM_THREADS * NUM_ITER)); + if (g_sub_count != -(MAX_NUM_THREADS * NUM_ITER)) { + __builtin_trap(); + } + + return -1; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_fence.c b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_fence.c new file mode 100644 index 000000000..f25f1383e --- /dev/null +++ b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_fence.c @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2023 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ +#include "peterson.h" + +void +peterson_lock_acquire(peterson_lock_t *lock, int thread_id) +{ + // this threads wants to enter the cs + lock->flag[thread_id] = true; + + // assume the other thread has priority + int other_thread = 1 - thread_id; + + lock->turn = other_thread; + + // generate fence in wasm + __atomic_thread_fence(__ATOMIC_SEQ_CST); + + while (lock->turn == other_thread && lock->flag[other_thread]) { + // Busy wait + } +} + +int +main() +{ + pthread_t thread1, thread2; + + printf("============ test peterson lock using atomic fence ============\n"); + run_test(&thread1, &thread2, test_peterson_lock_atomicity); + + return 0; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_logical.c b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_logical.c new file mode 100644 index 000000000..0900749d0 --- /dev/null +++ b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_logical.c @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2023 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ +#include +#include + +// x XOR x -> 0 +// even num of thread -> g_val should end up with its original value +#define MAX_NUM_THREADS 4 +#define NUM_ITER 199999 + +int g_val = 5050; + +static void * +thread(void *arg) +{ + for (int i = 0; i < NUM_ITER; i++) { + __atomic_fetch_xor(&g_val, i, __ATOMIC_SEQ_CST); + } + + return NULL; +} + +int +main(int argc, char **argv) +{ + + pthread_t tids[MAX_NUM_THREADS]; + + for (int i = 0; i < MAX_NUM_THREADS; i++) { + if (pthread_create(&tids[i], NULL, thread, NULL) != 0) { + printf("Thread creation failed\n"); + } + } + + for (int i = 0; i < MAX_NUM_THREADS; i++) { + if (pthread_join(tids[i], NULL) != 0) { + printf("Thread join failed\n"); + } + } + + printf("Global value after update: %d (expected=%d)\n", g_val, 5050); + if (g_val != 5050) { + __builtin_trap(); + } + + return -1; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_store.c b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_store.c new file mode 100644 index 000000000..9dda9f0a4 --- /dev/null +++ b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_store.c @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2023 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ +#include "peterson.h" + +void +peterson_lock_acquire(peterson_lock_t *lock, int thread_id) +{ + // this threads wants to enter the cs + __atomic_store(&lock->flag[thread_id], &(bool){ true }, __ATOMIC_SEQ_CST); + + // assume the other thread has priority + int other_thread = 1 - thread_id; + + __atomic_store(&lock->turn, &other_thread, __ATOMIC_SEQ_CST); + + while (lock->turn == other_thread && lock->flag[other_thread]) { + // Busy wait + } +} + +int +main() +{ + pthread_t thread1, thread2; + + printf("============ test peterson lock using atomic store ============\n"); + run_test(&thread1, &thread2, test_peterson_lock_atomicity); + + return 0; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_wait_notify.c b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_wait_notify.c new file mode 100644 index 000000000..ecbf67868 --- /dev/null +++ b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_wait_notify.c @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2023 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ +#include +#include +#include + +#define MAX_NUM_THREADS 4 +#define NUM_ITER 100000 + +int g_val; +int my_mutex; + +int +try_lock() +{ + return __atomic_compare_exchange(&my_mutex, &(int){ 0 }, &(int){ 1 }, false, + __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); +} + +void +lock_acquire() +{ + while (!try_lock()) { + // expected value (1 => locked) + __builtin_wasm_memory_atomic_wait32(&my_mutex, 1, -1); + } +} +void +lock_release() +{ + // unlock the mutex + __atomic_store(&my_mutex, &(int){ 0 }, __ATOMIC_SEQ_CST); + // notify 1 waiter + __builtin_wasm_memory_atomic_notify(&my_mutex, 1); +} + +static void * +thread(void *arg) +{ + for (int i = 0; i < NUM_ITER; i++) { + lock_acquire(); + g_val++; + lock_release(); + } + + return NULL; +} + +int +main() +{ + pthread_t tids[MAX_NUM_THREADS]; + + for (int i = 0; i < MAX_NUM_THREADS; i++) { + if (pthread_create(&tids[i], NULL, thread, NULL) != 0) { + printf("Thread creation failed\n"); + } + } + + for (int i = 0; i < MAX_NUM_THREADS; i++) { + if (pthread_join(tids[i], NULL) != 0) { + printf("Thread join failed\n"); + } + } + + printf("Value of counter after add update: %d (expected=%d)\n", g_val, + MAX_NUM_THREADS * NUM_ITER); + if (g_val != MAX_NUM_THREADS * NUM_ITER) { + __builtin_trap(); + } + + return 0; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_xchg.c b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_xchg.c new file mode 100644 index 000000000..7bfda72a8 --- /dev/null +++ b/tests/standalone/test-pthread/threads-opcode-wasm-apps/atomic_xchg.c @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2023 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ +#include "peterson.h" + +void +peterson_lock_acquire(peterson_lock_t *lock, int thread_id) +{ + bool xchg_ret1; + int xchg_ret2; + // this threads wants to enter the cs + __atomic_exchange(&lock->flag[thread_id], &(bool){ true }, &xchg_ret1, + __ATOMIC_SEQ_CST); + + // assume the other thread has priority + int other_thread = 1 - thread_id; + + __atomic_exchange(&lock->turn, &other_thread, &xchg_ret2, __ATOMIC_SEQ_CST); + + while (lock->turn == other_thread && lock->flag[other_thread]) { + // Busy wait + } +} + +int +main() +{ + pthread_t thread1, thread2; + + printf("============ test peterson lock using atomic xchg ============\n"); + run_test(&thread1, &thread2, test_peterson_lock_atomicity); + + return 0; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/threads-opcode-wasm-apps/peterson.h b/tests/standalone/test-pthread/threads-opcode-wasm-apps/peterson.h new file mode 100644 index 000000000..7ddc6207f --- /dev/null +++ b/tests/standalone/test-pthread/threads-opcode-wasm-apps/peterson.h @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2023 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ +#include +#include +#include + +// Peterson's algorithm for mutual exclusion +#define ITERATIONS 15000000 + +typedef struct { + bool flag[2]; + int turn; +} peterson_lock_t; + +static int counter = 0; +static peterson_lock_t lock; + +void +peterson_lock_acquire(peterson_lock_t *lock, int thread_id); + +void +peterson_lock_release(peterson_lock_t *lock, int thread_id) +{ + lock->flag[thread_id] = false; +} + +void * +test_peterson_lock_atomicity(void *arg) +{ + int thread_id = (int)(long)arg; + + for (int i = 0; i < ITERATIONS; ++i) { + peterson_lock_acquire(&lock, thread_id); + counter++; + peterson_lock_release(&lock, thread_id); + } + + return NULL; +} + +int +run_test(pthread_t *thread1_ptr, pthread_t *thread2_ptr, + void *(*start_routine)(void *)) +{ + lock.flag[0] = false; + lock.flag[1] = false; + lock.turn = 0; + counter = 0; + + pthread_create(thread1_ptr, NULL, start_routine, (void *)0); + pthread_create(thread2_ptr, NULL, start_routine, (void *)1); + + pthread_join(*thread1_ptr, NULL); + pthread_join(*thread2_ptr, NULL); + + printf("Expected counter value: %d\n", ITERATIONS * 2); + printf("Actual counter value: %d\n", counter); + if (counter != ITERATIONS * 2) + __builtin_trap(); + + return 0; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/threads-opcode-wasm-apps/peterson_native.c b/tests/standalone/test-pthread/threads-opcode-wasm-apps/peterson_native.c new file mode 100644 index 000000000..9887982c5 --- /dev/null +++ b/tests/standalone/test-pthread/threads-opcode-wasm-apps/peterson_native.c @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2023 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ +#include "peterson.h" + +void +peterson_lock_acquire(peterson_lock_t *lock, int thread_id) +{ + // this threads wants to enter the cs + lock->flag[thread_id] = true; + + // assume the other thread has priority + int other_thread = 1 - thread_id; + + lock->turn = other_thread; + + while (lock->turn == other_thread && lock->flag[other_thread]) { + // Busy wait + } +} + +int +main() +{ + pthread_t thread1, thread2; + + printf("============ test naive peterson lock(should trap) ============\n"); + printf("============ May not be able to observe in interpreter mode " + "============\n"); + run_test(&thread1, &thread2, test_peterson_lock_atomicity); + + return 0; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/wasi.c b/tests/standalone/test-pthread/wasi.c new file mode 100644 index 000000000..1129f219f --- /dev/null +++ b/tests/standalone/test-pthread/wasi.c @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2023 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include + +struct member { + int a; + char *b; +} temp = { 8, "zieckey" }; + +void * +create(void *arg) +{ + printf("new thread ... \n"); + sleep(5); + + pthread_exit(&temp); +} + +int +main(int argc, char *argv[]) +{ + int error; + pthread_t tid; + struct member *c; + + error = pthread_create(&tid, NULL, create, NULL); + + if (error) { + printf("new thread is not created ... \n"); + return -1; + } + printf("main ... \n"); + + error = pthread_join(tid, (void *)&c); + + if (error) { + printf("new thread is not exit ... \n"); + return -2; + } + + printf("c->a = %d \n", c->a); + printf("c->b = %s \n", c->b); + sleep(1); + + return 0; +} \ No newline at end of file diff --git a/tests/standalone/test-pthread/wasi.wasm b/tests/standalone/test-pthread/wasi.wasm new file mode 100755 index 0000000000000000000000000000000000000000..45f6cd8c4b3d030a5cd52e94f10c23014167f20f GIT binary patch literal 31659 zcmeHwdzc(ob?2?BuIfkiOjl3OQ$3@(Rg!HPdq!i+mSkB*sIv=#w*4B(Q+|I2T z=N>dw#$buDCLTpCEnx!I-w z+iO#(oms5ZO2Sf-ozarr&~p+{wNhz8IG46QS)EtZ-*`hZnY7G=Z6&Ql(o7~zOQh1c z8ipk@sIi2N(XdP?k!hO3&352l!Zub6$FUOz0Gu9c%?O|WP{Lgk;on}tD>KQ_gtJsy zs#H&#A~QKTJ5`^WEG^GkhC4ZVtTeSUIXzV?S*9}yCaZPPopuco8m`^5c#*Nktc3}lV);t;aWroNprku}{fSw>=Q z+dBS4=q&_dyGnZRQ3aN7m=S~J-g{Z&TQQ8ZIxJTjKpL3R zILr#)kk;)ThKqg`G3YkTmc2*VutS833K5$1FcA^5+k65%sq$<@ngKFGP^&6PD2O7F zYzJa?BN5k1!+TVtR{cO6kEyJoJKteu1EWJ^4N}?Csc$HJx<4PZ-`-(LbcB?`ub6$4 z!eqMMTbW>kEV}yzW_-iDs0s}fM4vlLb6)^PvSFw9sJUGpsnAbh%| z%!HQgFbAa>_Lse%iCcZL1tL7BT0!st?1$`kn_hUH0BGcuz4t3h8`TL8%G-5yR2LdC zJJ1;DQYa%SNy~L1PVe6lg>c_&B~18oW6e4jsr$OI5F|90;h=AWSg6=t9b#Pgj!cB# z6y?Ak7key$%$Jc##+m0uIZpm7rOGlTQ{xBTG`{|Jz>c$Ou(&NU%LFTMXKRPacL?$o}p}3<8#6-4!=HW+W<`LA8UuirUWYB?Ro3jAO zoC(r0b>CBGKnzNPj7$*=8fV7WeiU{m9Y5`&^ECPm_rcy0;j^NQt1O2GZl4up?`JiE zJB=OHqHhB_TsPvevE3t0ZG+!2^f*XEil-=XWgn^Vn;dFjN7nmAqN5Qt>;NVKH7U9Y zf${YP22gl!CRCt&0L%pAzuUY>!w=Wo74#U}D_Xt^+|bwp^vR(xF$hd06ei^kpyV`Z zTrJ>+b|QsN6J(Ga|GtxrnN;a^mGO0t53GNBsp>6j|J2dJM?GA+jLqRPs*|2}n`vmFRqRKQw zP!WebDv%T!?*==BRtiCM<=x8PeT*&rBoNv_1YvUIARCzk=NwsBcB<_CdnGpId?1f# zY?a@Y=GB(B$4a3IQvG`@PsXf8_Ye*OvV#v%oNw?In65j8_deqHewA1EW_ZrXRX{@{ ze+XBEvB-u`(|3X@!~11LIeKmCrQv?Wz_f}E4f7xe;jNaKW=@F7VK zBJLKo)arm{Vm#n}y1h>+M&D)`R?O)a;1sRM7%|W8Hb2jH7mYG3TRS}~{J7CbKHW&N z@(IB5ei3)JeHQFf02mW1eAX!A3fHLdc^_oop|~4dtods0q=oqj^B_%ae<+U79^o}6 zk3$6_3F*pfSp!tN&1-STtsjvun-C!2=evSRouD=Ue zzDai_k8}K_&By@VfDd4jd9+^_&~nu?2#_}VYS2M)6dm2{nYnJL#+tN?M5<5-7?)86 zQz$l}@A7!jhp|IA4gV{nzRm@g)xTowV z!*fWWY{5_IM3}DnX(TV$Wj}-aX91rr`!14u%YGKZ>Ab7Z!- zGS}fK?bmEc<62<^h47wo&>f~Ie8(m<_INBXD#G;y3_A+vrL;V4eoTlIToSCB(<5TRPh z*HEk)tfet6lVS$)SHRF!63q-!ZiH#hPn1@;9hIJOfZGIEh=tb&1y$}q3s03tg6oO|*G0hh|q0M!6_9nfNPp?^7) zL;pqiY54wJc+*`SR2-6ocKa4(t{h&#T0>1Zs9%FaQ4)uNBUaG=pg2XUT#t%*vPl;y zj0fU8B%p&bN42rx^Ls+8&fs&8wO0)m%`~OQMT@O7i^+%H2X<$AAELdwP^%YS_^IPT zpX}8d26xyK^~}JEhLgiAfF`*xcRaKX6_M;J23sPg_CUX4T3`GwbDev=d`I5%ynOR7 z%cK?Oy?n}My^VsjkudZ5OkSYgBR9qH>pu^A{XuD8ZSD1kvbN?C+6>p150iIw^tX2} z^PMSSm{wxgcEG2-!`v%7A*<}x*33|xc@mLtb}-Ii;gBuH8LW)6aBNKs193(*>Zj7B z__?d-7cdN%6?(9O@wc=Q4)r4G!O%VQQ(52R>U#_4xg2v)7mp!=Cx;%Vpr1z|t0R$I zl}q!X@x=LHNUZ~?0x5VqOCh`m_bp*!RST%>4~C{+q-O!rW}mvtwoa1A!?6gp)j-`w za@3D03o@%`0)!C-nSmD7ns`-WfAiXk@iS>QC| z=P;)54~Uww5sk0Jf&tVb_}^{rrSn&5-DggEeqKc_dAQ!73o8;T1l+Og@_tu$4#5Qw zrG$HwxdqOldHVW1vWPk$7VKxKXrs5I6EhLzoTXYpTb@b4DWO5P%yF@3htCLv!OSke z#jcxhw(I8MAYb%8$-WQ~l8OTDsf&(4=FzI_cJwts2hRei7l%`$0){wdQBC#SA&&>W zY||C4pW_Vp0{0}~BoR_!5-^VY0~~`cMz9Kv9B5!6-Hgm2$UN077Rm;Z$b30K;H5V5 z)UKV5p|sqZ$S|A`l!pi`$0>ox`xpRlD%eaUhz?9T@JmJFZ6cE1%M*#`f((eHu!%?t z5DDfEh=dVIt4MlVxB#gn7Y-wr&5#MGAeR>X9h{1;fhQk^e4ue(HPxUEe@gq3;dlAN zum~BhbE)V1=mL#foQMn`Zq$U2F&Vy5tqPSBkwxD}12h?aXAs;b)Zg=K(=w336hl_Y zn2j?&HBGRjTNc{&tgsNY2sPKPXI&I3v>zDYUu6Dv`V5Xc3%lclv4t)7lYwQCxn=S2;t&(Km#%T zQW42KL{$w2!~dr2%@5OMh?(LGdW(J$^@Y%7T%DDL1wBL5;b$Y9V+Z{J4j@*$v4bD* z11g2G`_~{O%wyoYVAQ}rPG@P_@6K(5SKgdpKacnwGqcNST~fCLEC3Rt;6@EF-&B$Y3RGnCZuulRZJ7h)*Z zPx)A4(gvEbPOl0`hGqV@-rtbs2mE13DiWYxV}}MrhC)b@vmHH3>xhDjTsXQ}7Yyry)vcR|+a}^rF@#?OEUTn$c5%%0!M2K7{2HTpB zqcKHYY8&t?CY=lX@nyJW!g+skO1uGWE9%4WpqS*jZ|W8>X4w8T*8W^Mx^L*BiyQksqGLGKikIVYW|)Z~|`V zFpMnv+c1>R!$dQPPT+rnqK;-T+_9NIAI>z=Ld>bKZ}=mKLDZT*2PdbO&D=bI+ZvX+ zk86KZ`r|(iKhQEe&|4@!=7k0}OO@j+Di4MbLxp+a5U3cs6M;DWQFw;2ejXv4^q%s! zjthSXQvv+(jaZ~_eGJPLE>3a}p9zMLR*#g{v8q#vb7x-(pj?FFHFVEIdes6K3B2&$ zSiXWBV8oV|%)c7mN`Z6l1J0Epm6jkEYg&Tbf`F9ZAyo{CB_^Haws4>vrkA-D(T~j! z5W4`Ep9cMDaDpv1@S-D6+!(S;#`v1?P!TJ8PxyV8U-ff*d$5`xZIx0963lt6h$E%+llZfN6=_899y%hAC#JH&%!u=ot+ES{y0@O~2m% zK%=gO&|H=Mobr`UkXw+1g#g)rC?y&aCQL7Ko>K&>eVQ<%mfqaPK}7+ru}|hv_{x1i zG+l9rg$2k>+=1-hh(kf&@n8T#M(4!{ad@&!74gD#JdF$b!}Jm&2(vDW$Z&5n z1pf%@#xwT;KLFK~jd3FA$Jj*`&mV{q-#mcY{zJuP7L*(+`T=DqIj%l?&~eVY5DhWB z2QOd){;R+dSMkm;gE369(3_wOrD%;7BR0s@1mIq=Xm?D#O+)^R^{KF_ESyHs3B7nCJ~5Sk_y zGtssN7qu!}(o0EhSFS;^47sfcqwYEa+J5Q?mIv5pEBo8RH9S~AdP~{gqM8K*=pju{ zDhDZ9_ClTLMFu@%84_kzkc6r+3xiZU&nS;{dxhk1bD~9Wm0B|9g=s;9&~N}#CwS!U zKh04bA#vMe4(?%__M#dB8_JslsUS;k(_vQluPWHuCI_lPe^GfLSg*JP&#TM+cI9s3 z-h(T^RJ=#M9nU~aNjI3XX%U)eU+wlF}_ z!e)`A81*6|%q_s`xFH*`g%_HLAGlQtYSo$;(eRaW3t$;Zs`e@z29Y`(cIB0HsPy$o zNhUDw5VA{dr~i|>rpC^Z!_ZHfbs{JAJ9z= zAqLEnpONa}aXqAh*yQA?>buWf9Nb2&r~78{pwDtBnAo2@jBM zI$nk&hGzvy%G;n^@t=qLU`c~i3Top{YCc|O;sGKpCt?H~s>dQUtV>zk$j3GWB=}(6 z)rjbkKUoeGeVn-9he0HR2^Td8@{LB2zm4X?%Vn* z#`L2?i5I)Doby#+HCV)hqr7@tnWkflJ%VRn|sL5p=H-6Z_hvx`{Y(Bs=M)2qqkN&AM1`loF znYaTSod}%_nv_NTH{vIkfCm5$@d3b$0lZ59vI@Y80s1ci@Du<} z=;$uwB>>$Dz>WcSTmsOq0Gt?L>=J-M1(1vZ@ceZH7g7PFVgNdg1_Zg>j(QV8AB4bj z2fhKPfG5d}`{43;bO7fEb|7$LnAr)bhawz|&u8H&BhLS{qEtXAM&z=9MFbug$$l)O zw?y$uQ5`&C$ccqUH~tNv63b0kT%@j1n1Wg^c=W!C1Uf8;S}btGqnTc~f{l-6wnbse zOFWuEpw8Ao-zLu?`Vb(tSYXSenHCEK-Az9;h{-+n$nZqB6iDHL``DcB(OMP2rEh9z2s67}n#-CHAA7@^o*-QPCMrT)E;Mjv@JIPc! zgZCFYa~`&?HyjWW(zwCI84m%^dubK6nO>~w@>_+;a(L=EXy;>JAbmx-?}?ZV?7w8&mjq~>%le+g{^Dr84^u}Fon1O~aORM<>kf+W%kKnG z_yi6d3-56@*b*OW4h+0dfU~Wzq2FQ!-pRoH2yBM;8_eHPbYT#9Jh<0GV2|@XvuMyf zM{8*vr7m(jC!7{WbhGIQ6S;kZu21G3`OEc6^SVkei3J&g!`~%SU8*RJ;h>f zrBDcJM+doX3bUUHC0A8yxXA05!<4kK0Od9_y0fCT0~ z%Uqz6&oHTqp{1lm)ghe$H6i@AMjB?kr>TzEH*>#c;GG5K2XGc$vyS86u-}+<7HigV znjGpG*bCC&+6x{B(nV3s642wN9f$;Fpc7kV%uArd-LfDmiVYXW`<4n^@vcFFn*b?v znM8sM#SG)u2)l)yxpLsN_5$HMhk*s}7^q!C5CW=v9DL;R7aqwbUGYm0%Dr|2l%s<4 z$Yme#Zo<75S_VSNgt5rs)TfpMA=QIV6IN>!saeukc8@oG7~raMUYUN zZ$kBNVcJ!v@t{X+4r)QK1@it**C!g@PTWkkywlZxq3@W=cz4F znMQq<`D`=qX>xFbRsdm;2yr@2&66Nc`+eZQ8j&qk3a9|cy#Vc<%upZvZ<4^?6$oz1 zcblQ9W)FZwvQR0wY9caq|G0r8Q$GeHLlG#{2SP}Ml8>M$!vN?SF+Eh1GP?c#`wK3M-s*SPMR_%;&{ngGGM_T!xaG8uT zm~CN<^O71Tn91d`(@%C%o3eu{jALBY#!h>yHg;NDwX@T82|M&snw<*R(aNfhT9d7v zLfqV@hA6{J82g09+7Xf1C*Ts8g1Yi00;HUM0(#0+a-T@*RBE5#%!9J@K9SZb1Q!{d za`(jskliQLL^UEh_K6N%+qqA4>QoNl78JR~;x)MqBfr!<*`=}{)%o{ExbhK^$Iu-$ zT*c*eL`Q;tl|Ru4F58hHB5e0Lm{8nrn17*0$=ad}#mW3mtnbl#Yh$OYon5ED^qF^(PJlorA>s@_zs z>1Pt5YK;au*kE7*zjq4AS#5@RXtvl$9c!d!V^s8R z$HV?Ag3Q3wuGV-eaK`0h(s_i|DDe`Vfr$ojhkipD8@W*md%jT$))l4jNENP>?|Yf* zEir}_?s=0Fzlq1rd=ppylbF~fraO26j0!`6MqW$Iw=ICG&_LQ;pb{99vWY+*x)DvP zDpsIyFq^^{;Z`*&^sBxpA;zEvfniu8Oi*|&gQ8|@hF;RDf$B@c2O#F#&psRDG*BYs zi|gnhp(lNA*_%yT)nb~VPehsuw-aoD^-uzu;bw6`H1Ru(Cft5O5*fMc=rkb54ZMFo)fJ-2uwhpH`-U#6ccR=J6GUuhCT5OPD(ht;byX!QJnM?UStIScnaAPByvxeB(oqkbLR_tM0-4`8unJc>Bp zIg2RXe3W-&?tAJizBK{0Skkc8JPU7?c$9Z!Pzyczti}Roi(Ntnj(ocXwjiBH1N_JR zEKL?_ixT2R30m@Pal`;+O@;e03*^}`d1DKKqbm@f;E{}4HDYo4`%zy?Ois8%b&2=Z zuePM0q85^@nD_PdwMX@rEJ$nIye|X=_Y`48c<&uj))o)Mn}8b{+-wI2W=JBf<&?(v zG5`wCF(Irp#gPV6fq}1&kOtbJvxeN@Ce8*fp=05pgwXgxihC7N0+bUIq-91VJL7Bd zfWGj8kg#*_4;1$qvMVOgqoZXWn6D$-uWjQEm0o#Vv@kagBxi9+NEdIBJ$2@+_n9U> zPvh%XUtZC`$7ef~6^#sEa=}4Na@?G7EFQO2!#IaxY+?eD!aRtv z;WuO;0h#KAdUITThX~(cf}uRbmQ1Ys7$&S>V5k66X}-LsG*TLXLM>lQG7rZ8KtdaO zw!_zb_)w;(9dB%Bs;8IW^b#tRrO5=SNO7AZ5mUjZo!~h!zIG;X9&T@^r~&mb$%o^1 zZ#W;3k0+^#(~nE@^y64>hX=Sh027(Q@AGS;~9+K!Yo$De`7 z-w-%wBZ)r-nK|bl0kg2&^WZQA1){l0E9yS{3?i5$j#p!X#1(O~>8Ak$)P9DqIkJxQ znegz~4#3n-q)9lkr-C$4XMj3=9%V;oUB@?jYK5(M3f zZl>8#$rIA0io(umFZga5Gy~(0AeeE+&pj*?&;ZH{wuCy|Oll;MDg#pUFw5cjS^jE- z4V%q1R3bRt=Dfj4!$2#(WQa6-$2_NcXwDAq-w#>FhYD|)FU>5JPK%k5S5C=W-FRN?8KEjuIhNj)*F*s?ksG7)eA!0yE-#ds@25d#l_OmsYN+`x?YmC((%>O@=QtG zR#Ehqs?|zW{79*`x>#3~S4;fHy3(@x0y}Xxc$t#*`e|`bsk$^@tIb!I)Oj zpITfk$$F(C7xC?LB{|2I__8!vKfO{?Emx*yN^-F@SC@*06Z7EWHLJ+YN&N+DWTUcL z1=RFv?X)<&TnBfnE1*f%PS@(CCCM*{YeJ!9rBa=$&M%&ptIJa-rsfyCVrp?7 zjrgT;w^l2)+Q@8)-O0uIBtb&7~Gtz!rv zr&6^=boKcqkXKo)w*$|u)*#6{E48|WMy)R6TlQv-DdNJ}S>UQk=pJCic(t-nT9zyG z5YpkDuaSB@;~|L1hA5|Wv&InU8e}=X%@I0WYs=nOI#t(PDv92Hsx-raS(<`|E5(UL zg&|vAg3^dENy$*y4O%Q(de5)Tw_yw zN8>_k4-Ms-#rU&Qo~*0_d1Yp1wJPq#cRZFN1DdIvfMrmV?x{j=DyubFIk{Y-CA68% z%oGf95k-eqm$jDAkmi?G7E6?+Hl-yD_7v;^S`N;kWV6~L4#NuT^Kt$gfrc6)3%@TB%oNDvQyGQ3estX!L8~1z%2i8@{JiEp7is%TO+8)0iylcnY`wH4P^S73jd&pLcYoQqX_Zfc39NeqojWkL~0 zA_i>lqM`_J14xzOaN(Be0wEo!C@+=hUwW}4l#L}smQfZdM z0My`=kj!lf6 z5<8Yx7Z3o#(_8Pr>uq%ewUEb>L#L8U7kwuxHCz`S?H z8DQ>UeTNXHNV7Q2%0_(**SKdJDIp3>t4mrJ5t4mrJM_I?z84wu==D*TniythiVfi|yJt56!4-|T#izHD|ha~~9FnQ1v+ zzm|?vjx5fMtW@Wh>oxeY5n>vNFx4xFmGp!OBUpl42Z9zFksQ13`dv5NxO>muo5Jy1 zZ@c}_$k@a+V-wKDk+D6;e}O+b@;| z6JMlW0Y3gSqQnMr;_4T@KMi%|Ut|m_y;;AkXLoD8l?3M<#`G>gJ z3F~^?61U*;m-rZWnEx5Kq-V!qUqRL^ydPKRT3qPnqAXJ4JB@7e1!15!v->wtl$yY$ zi`gEwOkKdGm)TxsMdC?ZzK)M^$ovP~Y%hH!ZsMExB*YnBjV%DrigUPr0r}71e(UW* zd<=Ko5I?8^QxklDWsN`2snEWCx9nALr zBT}gxlYOKyRbaB8$>jgUrH|PyM4s$KKUw%re>Y4JPYM_I{hmH75HNHP$;(a4qr>?l#Lw&rZ%0Jx7Nn_7#=Qu`jJr|?kS7}B)gpB((tpMD-I(sI=aIS}CB~q6 zCvJACDFHX;@r|f3cMx~>%@BuTMrS{OtYS!IJE#mlL*Q#J0=R>t{ zZ07-7_-Br~xw~-B-H(g+M`$yJL|!i9+NCy>Pa;)#2p9bQH0l%LA9*$24BT1qPq+@^ zvo|5c@jHaL$R4i)=rjt9L)HVhK^5bwd1TFA6A0`F0QtY0+3P{y=Neh(8!CAcfJv&< zTbM0&GkXZxXPF&P+1DfcN6hvuu(pEiUoqRSvX3JB&&+NmaOzu34zCb!3ElrIvqK7v zg(Tx1^T{))O<#FLhzd%QeJKBVf_>smD9616xAQ14?yyeamh{YFl>9DBrZS#!zx#89 zMv?J4;j$&Z3QrghimYc$xbHyz0p?#X+)u>mAA=^Cvnc&_lo&(SyKzgVI!LAUMWz#- z#AmX=0g1+z4&@#uK~6$^7#t>y4wPrbaa=#?2=SY^cVSdtO@iaZpRsA-9u!&MY$pGu zkras^L)||jZ{A^l3Adz&aJ(~eq)SsX^re8n-|wX|Q89K2dQosYKBjnEiue1XH1Eo> zq8v%}N7$?IAuR8^qcrauVTVvQ9M$t)jncf=qcrau+u^*1xFxFRePcaoAg81OH}$t! z8P|z~!!Hx88}HL_>Li#5kzs4zH)8rQ%ASbodH<6rjhp)WEUur!hwXXaSpQ#9_FPoY z`*)%=ZtCx!aQzxSY|s0~dIBlW*uvfAmce|*3O>Zm`|&8v`{m&Li5G#RbcqwU#^3i+ zW(n_LV*rSOjoXKXGw3H(>Dc?;mSXBtjT}Yxzwsdne*znNj&_7JA({SCOa1_?=}vqI zdldH*QTms0|J5k{QQV)2(!Bp(l;-`eTYlQZ0uHD&U>?{5U?-_)zg0 ze-AlvgQ@9h>^d5GCZ1;1x*7gpyhUDt(=%ZbC-LP_-EW_9j!Z$_Ct ziZ)%2&R#WexNrd5IPj=upDtp9(ZJlL<#=}GBg_UEh&uFKAqN1l6`nHSW7I07dbi)7ns?LHt9m6CL+PzjJs?* zcOC5vbq*QV6@IjD!hOJf9dPDsaUDeJ5r~OA2Y`t#Byvm?Zcq@L3cXd*R&(@UUZJ~6 zZ4j9@1>?30CfgJY=4Osfryi+IiQY_RR_k!IYi*M)ft{XsWrJP((&wRy32}@HX&B$? z?BET?FYqz=GflPGg?&4Bp4c-wwzF29*}1rQVhNjBl`@{#?8KJU3Z6eyN2>Lmi}TYv zr&s5()4E&}*pjMG@{v?+^cXSC&Y!5y?;4$9T404>n_LT7U54#uQj>Pq)pq9fcHWt= zGZS`x!tQe3(^g;|d#~*})|OG*a{kG7NA0BZI{TUj?CYKVwl!g2GhtspVO#Gtb0Ge; z=prHJzrXw}tu9vT^Eb3I#D$X8ZP-1T)KAzQsS&$p)v@MMU3S{Bibp_kYQOC{JMH{` za;%vPES3A)OMmi$V_hNbo(JrrGhw}c!tQXatB=?{LpuN7C{Hm7>vf}c-nu$9%A|~v z8RrBre#P!VH#sNuklizC=O*l){dVplJADBH-sxEPUO>IIQ`&u`sOKwoZf;Y!d+N5~ zSi7XT1w#F24%_!zNg&h>O2Xxfb(LXTncM7ZN9=xZo^`D1gzavv*jGM?%zk^DW35U^ z_DOr|1#5o4-RoHWN9^Iiwjsnh)>wl_?7+g;=H{$rX%D|u)l5NXj^!V*vsS0HE#Drt zR)E(!J@F3P!tW@U39$Vx%%%y!Wz6@{HdbLAOO@FT>cqv4)nnLR#&W-cQJt_RM`0IM zFbdTHq0aSo=PD#}!S0-}9#CxWkd8I+EH!Hcse6^IMvvISv3}$^=!11Vl#z(;CJJj; z-FB~ctiuy_r(^9^V0S)8ne3->Mm?Oghu&;=zTUAuwYDD$WBmc%FR^}m?OFQ@$ND3& z-yU{G?JFki^c)Dm(fF4!5z`ZJVV=^U}QAF)1y zpM=0@{<%1U{v;7N))Q-W()L&4y^i(nHQ;uvzZ0WzH|`uvV5jY^0_g?Yo3MT!-9VYY z3Zxw%d5A)}-`@F3q%PRusJ)wIH#^qP0WApsx~SXPqxMaQ9qVV-6yM(xWK>#@qAws? zH((N7&YZo~xzQeZ9qevDlD<83i@hCe3{BX3oWu6u0lT>3SpRYk*c|JEvESZ-CRZM@ zp2yEmK$vee6jIXaSpNX1q+`9qsDqVrs?%T6_10I;0i|PofSvAyOosN`A+FAd9o}N^ zM%SR-9z5Y#e+e7_d;~p>-fs`88oWrL?(M)e$NEioge@nmKLt}Gj`ay+ z)b6)VK4iZF#akz=FT}-1(EeGw+X*1Z3A=m0?ZP2D)`{mL1nBk_2p^61Ln601*5}U6 zQISC)=%lZ=ya~tp{c{(rPZ`oqf70%vw_LR|@SmSK_Z*pd#=z)3a}M4PF6lEy>LKOn zxt;OydwQB;XoHu{U|M>}?1hgIZ_37t+FHFjvxuNn;_($?`&|n0RyM-+181jQ@OxTHO?PhF3rkG z?1t8_yMC{zuQDa@Q+-NYNW>NMs$v>@K-2T}8Zwi7&^$Z2be*V8PT?~xexN1OoZBx; zG#eS8oQx1q0D@;6<`yd_#ogl7hw%v~1fFDLq7$_#F*U6O0#PCHgD(|r6_+Ix^|Vx7 z8k$3GnT?eOBAT6@-*t)BP-IoX<3}|?sU4d?dJKv9`K!XA^-Jkgt)XJGO2w{cqf&Kp zX{xq>{T($Fpjw<3r+%CqCbL&f2+3fYqoaRh8p}DtrK^r zex9}gn#@I@su*yo#t+f*7-o9IZ`EcRwfvb{*NYls<)?q1HXHZc^0TxZ-4PTRZT=i> zXWTJL)z8r89Q_NlUS|`WhY0g6fa(`#yYdQPX_D}hJRDgo=x&!Vt<2Xa^?}Cj=vQHT z9DQcAH^DQTefH$-;Hy7}K4%v2L&3|H+G44+GGMFQ7F(TKD%y&q!LF4GyvEApRIOI3 z*44qrp*~F>7Pd3GI~@7snY*pBrJ`CoiX(jRIZt4m9#C5T1w%2c&9iK8Uy zXMKG~odlT+Qiu@LL8EP{6LY$3yQ}Y$GnH!TisVWK^i+>tIY4Wj)F(zJaa?M$am?!~ zdv0a5UfakIL_M!0PPk${yYq zOUrwcxGy7d6Myn|X65ug-f{5rW|coy-LJ)W3wl_bsbg!e_Dbg@hJR`LK=R~Fm5GBk ze(w3yN(ioW05T5XXyUyUg-F8j-v)M?uJLw&#K!xG!CzXQU7bO6W~LaZt>XBgVcmMu zO(IJr$8odL?8x+K0}6uLAN~G>Z+mn2Ib+!3#{LRnQu5qVV7Z*mf VieHmkT2)7lM~*I5rl%Hb{|5r|s)+yq literal 0 HcmV?d00001 diff --git a/tests/standalone/test-running-modes/build_c_embed.sh b/tests/standalone/test-running-modes/build_c_embed.sh new file mode 100755 index 000000000..d69440c43 --- /dev/null +++ b/tests/standalone/test-running-modes/build_c_embed.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +set -e + +cd c-embed +rm -fr build && mkdir build +cmake $1 -B build +cmake --build build -j >/dev/null 2>&1 diff --git a/tests/standalone/test-running-modes/build_iwasm.sh b/tests/standalone/test-running-modes/build_iwasm.sh new file mode 100755 index 000000000..41835053d --- /dev/null +++ b/tests/standalone/test-running-modes/build_iwasm.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +set -e + +PLATFORM=$(uname -s | tr A-Z a-z) + +readonly WAMR_DIR="$PWD/../../.." +rm -fr build && mkdir build && cd build +cmake ${WAMR_DIR}/product-mini/platforms/${PLATFORM} $1 +make -j > /dev/null 2>&1 +cd .. diff --git a/tests/standalone/test-running-modes/c-embed/CMakeLists.txt b/tests/standalone/test-running-modes/c-embed/CMakeLists.txt new file mode 100644 index 000000000..52064ac44 --- /dev/null +++ b/tests/standalone/test-running-modes/c-embed/CMakeLists.txt @@ -0,0 +1,59 @@ +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +project(c_embed_test) + +cmake_minimum_required(VERSION 3.14) + +include(CheckPIESupported) + +string (TOLOWER ${CMAKE_HOST_SYSTEM_NAME} WAMR_BUILD_PLATFORM) +if (APPLE) + add_definitions(-DBH_PLATFORM_DARWIN) +endif () + +set (CMAKE_C_STANDARD 99) +set (CMAKE_CXX_STANDARD 17) + +set(WAMR_BUILD_TARGET "X86_64") +set(WAMR_BUILD_INTERP 1) +set(WAMR_BUILD_FAST_INTERP 0) +set(WAMR_BUILD_AOT 0) +set(WAMR_BUILD_LIBC_BUILTIN 1) +set(WAMR_BUILD_LIBC_WASI 1) +set(WAMR_BUILD_SIMD 1) +set(WAMR_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../../../..) + +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") +if (NOT WAMR_BUILD_PLATFORM STREQUAL "darwin") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections -pie -fPIE") +endif () +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wshadow") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused") + +# build out vmlib +include(${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake) +add_library(vmlib ${WAMR_RUNTIME_LIB_SOURCE}) + +# application related +include(${SHARED_DIR}/utils/uncommon/shared_uncommon.cmake) +add_executable(c_embed_test src/main.c ${UNCOMMON_SHARED_SOURCE}) + +target_link_libraries(c_embed_test vmlib m ${LLVM_AVAILABLE_LIBS}) + +add_custom_command(TARGET c_embed_test POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_LIST_DIR}/../wasm-apps/mytest.wasm ${CMAKE_CURRENT_LIST_DIR}/../wasm-apps/hello.wasm + ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Copy main.wasm and hello.wasm to the build directory" + ) diff --git a/tests/standalone/test-running-modes/c-embed/src/main.c b/tests/standalone/test-running-modes/c-embed/src/main.c new file mode 100644 index 000000000..a9db017b2 --- /dev/null +++ b/tests/standalone/test-running-modes/c-embed/src/main.c @@ -0,0 +1,208 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include "bh_read_file.h" +#include "wasm_export.h" + +RunningMode +str_to_running_mode(char const *str) +{ + RunningMode running_mode = 0; +#if WASM_ENABLE_INTERP != 0 + if (!strcmp(str, "interp")) { + running_mode = Mode_Interp; + } +#endif +#if WASM_ENABLE_FAST_JIT != 0 + else if (!strcmp(str, "fast-jit")) { + running_mode = Mode_Fast_JIT; + } +#endif +#if WASM_ENABLE_JIT != 0 + else if (!strcmp(str, "llvm-jit")) { + running_mode = Mode_LLVM_JIT; + } +#endif +#if WASM_ENABLE_JIT != 0 && WASM_ENABLE_FAST_JIT != 0 \ + && WASM_ENABLE_LAZY_JIT != 0 + else if (!strcmp(str, "multi-tier-jit")) { + running_mode = Mode_Multi_Tier_JIT; + } +#endif + return running_mode; +} + +int +one_time_run_wasm(RunningMode default_running_mode, + RunningMode module_running_mode) +{ + char *buffer, *another_buffer, error_buf[128]; + wasm_module_t module = NULL, another_module = NULL; + wasm_module_inst_t module_inst = NULL, another_module_inst = NULL; + wasm_function_inst_t main_func = NULL, echo_func = NULL; + wasm_exec_env_t exec_env = NULL, another_exec_env = NULL; + uint32_t size, stack_size = 8092, heap_size = 8092; + + if (wasm_runtime_is_running_mode_supported(default_running_mode)) { + printf("Support running mode: %d\n", default_running_mode); + } + else { + printf("This runtime Doesn't support running mode: %d\n", + default_running_mode); + goto fail; + } + if (wasm_runtime_set_default_running_mode(default_running_mode)) { + printf("Successfully set default running mode: %d\n", + default_running_mode); + } + else { + printf("Set default running mode: %d failed\n", default_running_mode); + goto fail; + } + + /* module 1 */ + if (!(buffer = bh_read_file_to_buffer("mytest.wasm", &size))) { + printf("Open wasm app file %s failed.\n", "mytest.wasm"); + goto fail; + } + if (!(module = wasm_runtime_load((uint8_t *)buffer, size, error_buf, + sizeof(error_buf)))) { + printf("Load wasm module failed. error: %s\n", error_buf); + goto fail; + } + if (!(module_inst = wasm_runtime_instantiate( + module, stack_size, heap_size, error_buf, sizeof(error_buf)))) { + printf("Instantiate wasm module failed. error: %s\n", error_buf); + goto fail; + } + if (!(exec_env = wasm_runtime_create_exec_env(module_inst, stack_size))) { + printf("Create wasm execution environment failed.\n"); + goto fail; + } + /* module 2 */ + if (!(another_buffer = bh_read_file_to_buffer("hello.wasm", &size))) { + printf("Open wasm app file %s failed.\n", "hello.wasm"); + goto fail; + } + if (!(another_module = wasm_runtime_load((uint8_t *)another_buffer, size, + error_buf, sizeof(error_buf)))) { + printf("Load wasm module failed. error: %s\n", error_buf); + goto fail; + } + if (!(another_module_inst = + wasm_runtime_instantiate(another_module, stack_size, heap_size, + error_buf, sizeof(error_buf)))) { + printf("Instantiate wasm module failed. error: %s\n", error_buf); + goto fail; + } + if (!(another_exec_env = + wasm_runtime_create_exec_env(another_module_inst, stack_size))) { + printf("Create wasm execution environment failed.\n"); + goto fail; + } + + /* run main function in module 1 */ + uint32 wasm_argv[2]; + if (!(main_func = + wasm_runtime_lookup_function(module_inst, "__main_argc_argv"))) { + printf("The main wasm function from module 1 is not found.\n"); + goto fail; + } + + wasm_argv[0] = 3; + if (wasm_runtime_call_wasm(exec_env, main_func, 2, wasm_argv)) { + printf("Run module 1 in running mode: %d\n", + wasm_runtime_get_running_mode(module_inst)); + assert(default_running_mode + == wasm_runtime_get_running_mode(module_inst)); + printf("Wasm main function return: %d\n", wasm_argv[0]); + } + else { + printf("%s\n", wasm_runtime_get_exception(module_inst)); + goto fail; + } + + /* run echo function in module 2 */ + if (!(wasm_runtime_set_running_mode(another_module_inst, + module_running_mode))) { + + printf("Set running mode for module instance failed\n"); + goto fail; + } + if (!(echo_func = + wasm_runtime_lookup_function(another_module_inst, "echo"))) { + printf("The echo wasm function from module 2 is not found.\n"); + goto fail; + } + + wasm_argv[0] = 5; + if (wasm_runtime_call_wasm(another_exec_env, echo_func, 1, wasm_argv)) { + printf("Run module 2 in running mode: %d\n", + wasm_runtime_get_running_mode(another_module_inst)); + assert(module_running_mode + == wasm_runtime_get_running_mode(another_module_inst)); + printf("Wasm echo function return: %d\n\n", wasm_argv[0]); + } + else { + printf("%s\n", wasm_runtime_get_exception(another_module_inst)); + goto fail; + } + +fail: + if (exec_env) + wasm_runtime_destroy_exec_env(exec_env); + if (another_exec_env) + wasm_runtime_destroy_exec_env(another_exec_env); + if (module_inst) + wasm_runtime_deinstantiate(module_inst); + if (another_module_inst) + wasm_runtime_deinstantiate(another_module_inst); + if (module) + wasm_runtime_unload(module); + if (another_module) + wasm_runtime_unload(another_module); + + return 0; +} + +int +main(int argc, char const *argv[]) +{ + + RunningMode default_running_mode = 0, module_running_mode = 0; + + for (argc--, argv++; argc > 0 && argv[0][0] == '-'; argc--, argv++) { + if (!strncmp(argv[0], "--default-running-mode=", 23)) { + default_running_mode = str_to_running_mode(argv[0] + 23); + } + else if (!strncmp(argv[0], "--module-running-mode=", 22)) { + module_running_mode = str_to_running_mode(argv[0] + 22); + } + } + + /* all the runtime memory allocations are restricted in the global_heap_buf + * array */ + static char global_heap_buf[512 * 1024]; + RuntimeInitArgs init_args; + memset(&init_args, 0, sizeof(RuntimeInitArgs)); + /* configure the memory allocator for the runtime */ + init_args.mem_alloc_type = Alloc_With_Pool; + init_args.mem_alloc_option.pool.heap_buf = global_heap_buf; + init_args.mem_alloc_option.pool.heap_size = sizeof(global_heap_buf); + + /* initialize runtime environment with user configurations*/ + if (!wasm_runtime_full_init(&init_args)) { + printf("Init runtime environment failed.\n"); + return -1; + } + + for (int i = 0; i < 1; ++i) { + one_time_run_wasm(default_running_mode, module_running_mode); + } + + wasm_runtime_destroy(); + + return 0; +} diff --git a/tests/standalone/test-running-modes/compile_wasm_app.sh b/tests/standalone/test-running-modes/compile_wasm_app.sh new file mode 100755 index 000000000..9cf9ee6ca --- /dev/null +++ b/tests/standalone/test-running-modes/compile_wasm_app.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +set -e +readonly COMPILE_CMD="/opt/wasi-sdk/bin/clang" + +if ! test -x ${COMPILE_CMD}; then + echo "wasi-sdk could not be found" + exit +fi + +${COMPILE_CMD} -O3 \ + -z stack-size=8192 -nostdlib -Wl,--allow-undefined -Wl,--no-entry -Wl,--initial-memory=65536 \ + -o wasm-apps/mytest.wasm wasm-apps/mytest.c \ + -Wl,--export=__main_argc_argv + +${COMPILE_CMD} -O3 \ + -Wl,--no-entry -nostdlib \ + -o wasm-apps/hello.wasm wasm-apps/hello.c \ + -Wl,--export=echo diff --git a/tests/standalone/test-running-modes/run.sh b/tests/standalone/test-running-modes/run.sh new file mode 100755 index 000000000..c652cc8d5 --- /dev/null +++ b/tests/standalone/test-running-modes/run.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +set -e +if [[ $2 == "--sgx" ]];then + echo "running modes feature on SGX isn't supported yet, ignored." + exit 0 +else + readonly IWASM_CMD="$PWD/build/iwasm" +fi + +echo "============> test test-running-modes" + +./compile_wasm_app.sh + +# multi-tier jit +# test iwasm +./build_iwasm.sh "-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=1" +${IWASM_CMD} --heap-size=16384 wasm-apps/mytest.wasm +${IWASM_CMD} --heap-size=16384 --interp wasm-apps/mytest.wasm +${IWASM_CMD} --heap-size=16384 --fast-jit wasm-apps/mytest.wasm +${IWASM_CMD} --heap-size=16384 --llvm-jit wasm-apps/mytest.wasm +${IWASM_CMD} --heap-size=16384 --llvm-jit --llvm-jit-size-level=1 wasm-apps/mytest.wasm +${IWASM_CMD} --heap-size=16384 --llvm-jit --llvm-jit-size-level=2 --llvm-jit-opt-level=1 wasm-apps/mytest.wasm +${IWASM_CMD} --heap-size=16384 --multi-tier-jit wasm-apps/mytest.wasm + +# test c embed api +./build_c_embed.sh "-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=1" +cd c-embed/build +./c_embed_test --default-running-mode=llvm-jit --module-running-mode=multi-tier-jit diff --git a/tests/standalone/test-running-modes/test_c_embed_api_thoroughly.py b/tests/standalone/test-running-modes/test_c_embed_api_thoroughly.py new file mode 100755 index 000000000..63e871e4a --- /dev/null +++ b/tests/standalone/test-running-modes/test_c_embed_api_thoroughly.py @@ -0,0 +1,76 @@ +#!python3 +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + + +import os +from collections import OrderedDict + + +def CLI_ARGS_GENREATOR(running_modes_supported: list[str]) -> list[str]: + res = [] + list_2d = [["--default-running-mode={} --module-running-mode={}".format(i, j) + for i in running_modes_supported] for j in running_modes_supported] + for list_1d in list_2d: + res.extend(list_1d) + return res + + +def main(): + RUNNING_MODES: list[str] = [ + "interp", + "fast-jit", + "llvm-jit", + "multi-tier-jit", + ] + + COMPILE_FLAGS: list[str] = [ + "-DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_JIT=0 -DWAMR_BUILD_JIT=0", + "-DWAMR_BUILD_FAST_JIT=1", + "-DWAMR_BUILD_FAST_JIT=0 -DWAMR_BUILD_JIT=1", + "-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=1", + "-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=0", + ] + + # Python 3.7+: Dictionary iteration order is guaranteed to be in order of insertion. + # just to be safe, using orderreddict + # key: value -> compile mode, {"compile_flag": CMake compile flag, "iwasm_cli_args": array of CLI args tested} + test_options = OrderedDict({ + "INTERP": {"compile_flag": COMPILE_FLAGS[0], "cli_args": CLI_ARGS_GENREATOR(RUNNING_MODES[:1])}, + "FAST_JIT": {"compile_flag": COMPILE_FLAGS[1], "cli_args": CLI_ARGS_GENREATOR(RUNNING_MODES[:2])}, + "LLVM_JIT": {"compile_flag": COMPILE_FLAGS[2], + "cli_args": CLI_ARGS_GENREATOR([RUNNING_MODES[0], RUNNING_MODES[2]])}, + "MULTI_TIER_JIT": {"compile_flag": COMPILE_FLAGS[3], "cli_args": CLI_ARGS_GENREATOR(RUNNING_MODES)}, + "EAGER_JIT_WITH_BOTH_JIT": {"compile_flag": COMPILE_FLAGS[4], + "cli_args": CLI_ARGS_GENREATOR(RUNNING_MODES[:3])} + }) + + build_cmd = "./build_c_embed.sh \"{build_flag}\"" + run_cmd = "cd c-embed/build && ./c_embed_test {cli_args}" + + for compile_mode in test_options.keys(): + build_flag: str = test_options[compile_mode]["compile_flag"] + cli_args_li: list = test_options[compile_mode]["cli_args"] + # compile + print("\r\n\r\nCompile C program embed WAMR in {} mode".format(compile_mode)) + ret = os.system(build_cmd.format(build_flag=build_flag)) + if ret: + print("Compile failed") + # iter over cli args combination + for cli_args in cli_args_li: + print(run_cmd.format(cli_args=cli_args)) + ret = os.system(run_cmd.format(cli_args=cli_args)) + if ret: + break + else: # if inner for loop finish normally + continue + + # if break from inner for loop + print("Run failed") + break + + +if __name__ == '__main__': + main() diff --git a/tests/standalone/test-running-modes/test_iwasm_thoroughly.py b/tests/standalone/test-running-modes/test_iwasm_thoroughly.py new file mode 100755 index 000000000..a5af29101 --- /dev/null +++ b/tests/standalone/test-running-modes/test_iwasm_thoroughly.py @@ -0,0 +1,71 @@ +#!python3 +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +import os +from collections import OrderedDict + + +def main(): + IWASM_CMD = "../../../wamr/product-mini/platforms/linux/build/iwasm" + + IWASM_CLI_ARGS: list[str] = [ + "--heap-size=16384 --interp", + "--heap-size=16384 --fast-jit", + "--heap-size=16384 --llvm-jit", + "--heap-size=16384 --multi-tier-jit", + "--heap-size=16384 --llvm-jit --llvm-jit-size-level=1", + "--heap-size=16384 --llvm-jit --llvm-jit-size-level=2 --llvm-jit-opt-level=1" + ] + + COMPILE_FLAGS: list[str] = [ + "-DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_JIT=0 -DWAMR_BUILD_JIT=0", + "-DWAMR_BUILD_FAST_JIT=1", + "-DWAMR_BUILD_FAST_JIT=0 -DWAMR_BUILD_JIT=1", + "-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=1", + "-DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=0", + ] + + # Python 3.7+: Dictionary iteration order is guaranteed to be in order of insertion. + # just to be safe, using orderreddict + # key: value -> compile mode, {"compile_flag": CMake compile flag, "iwasm_cli_args": array of CLI args tested} + test_options = OrderedDict({ + "INTERP": {"compile_flag": COMPILE_FLAGS[0], "iwasm_cli_args": IWASM_CLI_ARGS[:1]}, + "FAST_JIT": {"compile_flag": COMPILE_FLAGS[1], "iwasm_cli_args": IWASM_CLI_ARGS[:2]}, + "LLVM_JIT": {"compile_flag": COMPILE_FLAGS[2], "iwasm_cli_args": [IWASM_CLI_ARGS[0], IWASM_CLI_ARGS[2]]}, + "MULTI_TIER_JIT": {"compile_flag": COMPILE_FLAGS[3], "iwasm_cli_args": IWASM_CLI_ARGS}, + "EAGER_JIT_WITH_BOTH_JIT": {"compile_flag": COMPILE_FLAGS[4], + "iwasm_cli_args": IWASM_CLI_ARGS[:3] + IWASM_CLI_ARGS[4:]} + }) + + build_cmd = "./build_iwasm.sh \"{build_flag}\"" + wasm_file = "wasm-apps/mytest.wasm" + run_cmd = "{IWASM_CMD} {cli_args} " + wasm_file + + for compile_mode in test_options.keys(): + build_flag: str = test_options[compile_mode]["compile_flag"] + cli_args_li: list = test_options[compile_mode]["iwasm_cli_args"] + # compile + print("\r\n\r\nCompile iwasm in {} mode".format(compile_mode)) + ret = os.system(build_cmd.format(build_flag=build_flag)) + if ret: + print("Compile failed") + # iter over cli args combination + for cli_args in cli_args_li: + print(run_cmd.format(IWASM_CMD=IWASM_CMD, cli_args=cli_args)) + ret = os.system(run_cmd.format( + IWASM_CMD=IWASM_CMD, cli_args=cli_args)) + if ret: + break + else: # if inner for loop finish normally + continue + + # if break from inner for loop + print("Run failed") + break + + +if __name__ == '__main__': + main() diff --git a/tests/standalone/test-running-modes/wasm-apps/hello.c b/tests/standalone/test-running-modes/wasm-apps/hello.c new file mode 100644 index 000000000..47cadcf07 --- /dev/null +++ b/tests/standalone/test-running-modes/wasm-apps/hello.c @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +double +foo(double d) +{ + return d / 3.0; +} + +double +maybe_min(double d, double e) +{ + return d < e ? d : e; +} + +double +factor(double a, double b, double c) +{ + return (a * c) + (b * c); +} + +int +echo(int a) +{ + double b = foo(14.5); + double c = maybe_min(12.2, 15.4); + double d = factor(a, b, c); + return 2 * a; +} \ No newline at end of file diff --git a/tests/standalone/test-running-modes/wasm-apps/hello.wasm b/tests/standalone/test-running-modes/wasm-apps/hello.wasm new file mode 100755 index 0000000000000000000000000000000000000000..aedd4f4f2e9da4dc5fabd16a119548b810f273db GIT binary patch literal 187 zcmXBJy$*sf6hPs7%TGZ}h(3XFa6t$z?mh{Yaz!Ggq%Da|IQrOVk486>Bx7;ArX*{r$?F*d*^8kKFV~_hN;s!Zn3i1iAmJuMmSw4$oTz)s+g{hA Mw^?MncF5`NetJzW{Qv*} literal 0 HcmV?d00001 diff --git a/tests/standalone/test-running-modes/wasm-apps/mytest.c b/tests/standalone/test-running-modes/wasm-apps/mytest.c new file mode 100644 index 000000000..cd5239588 --- /dev/null +++ b/tests/standalone/test-running-modes/wasm-apps/mytest.c @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ +#include +#include + +int +recursive(int a) +{ + if (a > 0) { + return recursive(a - 1) + 1; + } + else + return 0; +} + +int +testFunction(int *input, int length) +{ + int sum = 0; + for (int i = 0; i < length; ++i) { + sum += input[i]; + } + return sum; +} + +int +main(int argc, char **argv) +{ + + int arr[5] = { 1, 2, 3, 4, 5 }; + testFunction(arr, recursive(5)); + + char *buf; + + printf("Hello world!\n"); + + buf = malloc(1024); + if (!buf) { + printf("malloc buf failed\n"); + return -1; + } + + printf("buf ptr: %p\n", buf); + + snprintf(buf, 1024, "%s", "1234\n"); + printf("buf: %s", buf); + + free(buf); + return 0; +} diff --git a/tests/standalone/test-running-modes/wasm-apps/mytest.wasm b/tests/standalone/test-running-modes/wasm-apps/mytest.wasm new file mode 100755 index 0000000000000000000000000000000000000000..68c9c9cf0d038e38c6427ce036b5de10ccf924b1 GIT binary patch literal 537 zcmYk2&rTaL5XNV0XA`niS#deq8YMX3_0O+N+R*%N1TXg6+Qa= zzJMX)RIrtRukg=LzXP}ie1^Z?O`Y59f>^h^+eJ>JU;ctSE%>Va7iVE8&?S4}#jH** z__2YO3wM^Ma+#?){7{Y*|5@s6J_O&dtaj0=50kU=Z+(C(R>)l8VFxyVam$tjEmq1r zQN}#4?jFJ*j*XScO`f+NqqX6QvFAI+-YA)O<9%$4-*TVi8QH qL3rUD-HQ($-oTax%zkD`%M+EwXYZGjq~2%SAC#clJN|8;}kF literal 0 HcmV?d00001 diff --git a/tests/standalone/test-stddef/run.sh b/tests/standalone/test-stddef/run.sh new file mode 100755 index 000000000..fceed2dda --- /dev/null +++ b/tests/standalone/test-stddef/run.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run test_stddef_cpp_5_1.wasm" + ${IWASM_CMD} test_stddef_cpp_5_1.wasm +else + echo "============> compile test_stddef_cpp_5_1.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test_stddef_cpp_5_1.aot test_stddef_cpp_5_1.wasm \ + || ${WAMRC_CMD} -o test_stddef_cpp_5_1.aot test_stddef_cpp_5_1.wasm + echo "============> run test_stddef_cpp_5_1.aot" + ${IWASM_CMD} test_stddef_cpp_5_1.aot +fi diff --git a/tests/standalone/test-stddef/test_stddef_cpp_5_1.wasm b/tests/standalone/test-stddef/test_stddef_cpp_5_1.wasm new file mode 100644 index 0000000000000000000000000000000000000000..5c995598b4ccf410d309f75f30d13a2ef203bfc0 GIT binary patch literal 2896 zcmb7GON?B_6}@$G#>aj*%OpRn42M8!EShkz-Bbjb{ zKHY8ni8DPQB-lg>37-U5BoY!|39{iMA!H#CLV^t>2(buKqL@S|v5kaK6eH){dIJ{5 zS)_k;>%Lp({%>XkubT+L)+Z z)<&1KX3~n8O{7*;6h$SaHh67QWQ+HNl`A6n|? zi^KNaN0%3eODoImVdt*HxuQ~gFzob)WRi9}@AsEi+J{#bJ0d~$+Wg31vA?uB%$G%K zu?HBqv2E-3_&>>k+|P4zSAKR^XOL66<%;L>4s|9 z`opk`Zmd)ld1Vc6xqfT)%dyl@vdu22cr;BZ`6N}2oa&|Qc!oTs+Og9uuKA5PHO?g0 zO@J9eu7n4rZd!Kb8FEp>juFp$wYN?Q+e9a2vP||irACmKN9W%C#VhOnu@|5Imrkip zdfrh&m%bDJ%*EHwYX9dqKK;xrY`lNr!;`agUX3Zpc)Gbx)+Uh!dX$ust8gwRTMp;R z8gU5PBJ#hh2vH^fR3)kTXDappEa3U1-ek%M)&;$dOM2n0pr|JA&R~|c9^?y^q~WQ_ zzu8=6Z##;CPCg0-ern(%iOxS`mF6^m&!t{8{Zf4BTgcZtU2yK(&jDvtvj(aco zz-x|`AY@O$RfN|bl~ z7Ly+}pljhg&9V_BiExv*XR5_hBH3b?7!Jwd;P%dLixU+6=UQpe&fQe=eDM~^f!Axn zAq|zV*{hqdP|AoTJGFyojsWRZHw{m_8RNv>dMKO&b*gELQkZwz8|<*0>SnM_=*vL@ zoSGxx2r$nPs!%9BM;aRbakHSdw|IL& z?QHSRg4)&MT?Mtf#k&h?PmA}!!P8WDh!rkIaM4-_nAX01deT2MsVV19o6#)!2Qh=c%^Z}?weRNY%qI*(JP@YECMWQzuo4^@i zIfarPcc_SNYOFK%PIM-osl%xWHfib2(GR7<9DtLnQxeN`Qb`4BljS05A)QpkQ*dDw zsvDXnrH7nawo{=WlZli)rkGglVH8ZcX8)x9rG#)A6SJ3LQVM&H8bLiet_bM})009- zg;j(U)VO#XWMd<8DtjZD^*UPk6CU#F{=(j{Dq!cWc4nhj0r8F{Z zdNQPtTNywl&$w7L91~}Xw;bIQcpi1`Yu!X8lc6t44hgSiW?xf<_8;5anWQii{TNn>}%d&|E)mW6Ltyq;D!q-F>Jd4j3zO^%P#6=Vp*Xc zPNP9fezd=i`XZ6v{{30oX8MlQ@aBGF1(dHC|!U_MuUmo93 z{;jhY{t)>`KmGcl6APa__2%b4o27p!Kx%*S>;D|&>e*XKER@=6*u?tB-+1Qf6aLI6PrP&zrS;Ca-~M~uKk@wA zfB!jl=g++S+HwEc@BjITPJ>Sp8F?esC=T3i@P3+X39K2iSEJmgLH7LWTBZ;oWydM} zjhkWr>X@|5>e`IL--KzJRy{e(@}sPMP62Hrw(;QT;$l7+kQA?dSVeT{#h1wMP#Qaf a@2m17-_4i$hS*#$;#Iwj_y2BV;Qtq@+`UQw literal 0 HcmV?d00001 diff --git a/tests/standalone/test-strchr/main.c b/tests/standalone/test-strchr/main.c new file mode 100644 index 000000000..24dcc9277 --- /dev/null +++ b/tests/standalone/test-strchr/main.c @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include + +int +main(int argc, char **argv) +{ + char *str = malloc(32); + printf("str ptr: %p\n", str); + + sprintf(str, "%s", "123456"); + printf("str: %s\n", str); + + char *str1 = strchr(str, '3'); + printf("str1 ptr: %p\n", str1); + printf("str1: %s\n", str1); + + free(str); + return 0; +} diff --git a/tests/standalone/test-strchr/run.sh b/tests/standalone/test-strchr/run.sh new file mode 100755 index 000000000..6db864f4c --- /dev/null +++ b/tests/standalone/test-strchr/run.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +echo "============> compile test-strchr to wasm" +/opt/wasi-sdk/bin/clang -O3 -z stack-size=4096 -Wl,--initial-memory=65536 \ + -Wl,--export=main -Wl,--export=__main_argc_argv \ + -o test-strchr.wasm main.c \ + -Wl,--export=__heap_base,--export=__data_end -Wl,--no-entry \ + -nostdlib -Wl,--allow-undefined + +if [[ $1 != "--aot" ]]; then + echo "============> run test-strchr.wasm" + ${IWASM_CMD} --heap-size=16384 test-strchr.wasm +else + echo "============> compile test-strchr.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test-strchr.aot test-strchr.wasm \ + || ${WAMRC_CMD} -o test-strchr.aot test-strchr.wasm + echo "============> run test-strchr.aot" + ${IWASM_CMD} --heap-size=16384 test-strchr.aot +fi + diff --git a/tests/standalone/test-ts1/app.ts b/tests/standalone/test-ts1/app.ts new file mode 100644 index 000000000..1d602804f --- /dev/null +++ b/tests/standalone/test-ts1/app.ts @@ -0,0 +1,9 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +import * as console from "./console"; + +let message: string = "Hello World"; +console.log(message); diff --git a/tests/standalone/test-ts1/build.sh b/tests/standalone/test-ts1/build.sh new file mode 100755 index 000000000..f987c832d --- /dev/null +++ b/tests/standalone/test-ts1/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +#asc app.ts console.ts --debug -o app.wasm + +asc app.ts console.ts -o test-ts1.wasm diff --git a/tests/standalone/test-ts1/console.ts b/tests/standalone/test-ts1/console.ts new file mode 100644 index 000000000..dbaf9cbe1 --- /dev/null +++ b/tests/standalone/test-ts1/console.ts @@ -0,0 +1,15 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +@external("env", "puts") +declare function printf(a: ArrayBuffer): i32; + +export function log(a: string): void { + printf(String.UTF8.encode(a, true)); +} + +export function log_number(a: number): void { + printf(String.UTF8.encode(a.toString())); +} diff --git a/tests/standalone/test-ts1/run.sh b/tests/standalone/test-ts1/run.sh new file mode 100755 index 000000000..d2e8f78b7 --- /dev/null +++ b/tests/standalone/test-ts1/run.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run test_ts1.wasm" + ${IWASM_CMD} -f log_number test_ts1.wasm 1234.56 +else + echo "============> compile test_ts1.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test_ts1.aot test_ts1.wasm \ + || ${WAMRC_CMD} -o test_ts1.aot test_ts1.wasm + echo "============> run test_ts1.aot" + ${IWASM_CMD} -f log_number test_ts1.aot 1234.56 +fi + diff --git a/tests/standalone/test-ts1/test_ts1.wasm b/tests/standalone/test-ts1/test_ts1.wasm new file mode 100644 index 0000000000000000000000000000000000000000..cc5e30b9f8a324f34f85e2128e59f7f7a3d97cf1 GIT binary patch literal 11639 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 KE}})o-~RyoCLB8e literal 0 HcmV?d00001 diff --git a/tests/standalone/test-wasi1/main.c b/tests/standalone/test-wasi1/main.c new file mode 100644 index 000000000..c48336155 --- /dev/null +++ b/tests/standalone/test-wasi1/main.c @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include +#include +#include +#include + +int +main(int argc, char **argv) +{ + int n, m; + char buf[BUFSIZ]; + + if (argc != 3) { + fprintf(stderr, "usage: %s \n", argv[0]); + exit(1); + } + + printf("##open %s\n", argv[1]); + int in = open(argv[1], O_RDONLY); + if (in < 0) { + fprintf(stderr, "error opening input %s: %s\n", argv[1], + strerror(errno)); + exit(1); + } + + printf("##open %s\n", argv[2]); + int out = open(argv[2], O_WRONLY | O_CREAT, 0660); + if (out < 0) { + fprintf(stderr, "error opening output %s: %s\n", argv[2], + strerror(errno)); + exit(1); + } + + printf("##read content of %s, and write it to %s\n", argv[1], argv[2]); + while ((n = read(in, buf, BUFSIZ)) > 0) { + while (n > 0) { + m = write(out, buf, n); + if (m < 0) { + fprintf(stderr, "write error: %s\n", strerror(errno)); + exit(1); + } + n -= m; + } + } + + if (n < 0) { + fprintf(stderr, "read error: %s\n", strerror(errno)); + exit(1); + } + + printf("##success.\n"); + return EXIT_SUCCESS; +} diff --git a/tests/standalone/test-wasi1/run.sh b/tests/standalone/test-wasi1/run.sh new file mode 100755 index 000000000..77a17d65c --- /dev/null +++ b/tests/standalone/test-wasi1/run.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +echo "============> compile test-wasi1 to wasm" +/opt/wasi-sdk/bin/clang -O3 -z stack-size=16384 -Wl,--initial-memory=131072 \ + -Wl,--export=main -Wl,--export=__heap_base,--export=__data_end \ + -Wl,--allow-undefined \ + -o test-wasi1.wasm main.c + +if [[ $1 != "--aot" ]]; then + echo "============> run test-wasi1.wasm" + ${IWASM_CMD} --dir=. --dir=/tmp test-wasi1.wasm test.txt /tmp/somewhere.txt +else + echo "============> compile test-wasi1.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test-wasi1.aot test-wasi1.wasm \ + || ${WAMRC_CMD} -o test-wasi1.aot test-wasi1.wasm + echo "============> run test-wasi1.aot" + ${IWASM_CMD} --dir=. --dir=/tmp test-wasi1.aot test.txt /tmp/somewhere.txt +fi + diff --git a/tests/standalone/test-wasi1/test.txt b/tests/standalone/test-wasi1/test.txt new file mode 100644 index 000000000..cbcfbaa1d --- /dev/null +++ b/tests/standalone/test-wasi1/test.txt @@ -0,0 +1,2 @@ +hello world! +1234 diff --git a/tests/standalone/test-wasi2/main.c b/tests/standalone/test-wasi2/main.c new file mode 100644 index 000000000..d8cdb6a24 --- /dev/null +++ b/tests/standalone/test-wasi2/main.c @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2019 Intel Corporation. All rights reserved. + * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +uint64_t +get_time_us() +{ + struct timespec ts; + if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) { + return 0; + } + + return ((uint64_t)ts.tv_sec) * 1000 * 1000 + ((uint64_t)ts.tv_nsec) / 1000; +} + +int +main(int argc, char **argv) +{ + uint64_t time_start, time_end; + struct pollfd fds[2]; + int ret; + + printf("sleep 2 seconds\n"); + time_start = get_time_us(); + ret = sleep(2); + time_end = get_time_us(); + + printf("sleep return %u\n", ret); + printf("time sleeped: %u\n", (uint32_t)(time_end - time_start)); + if (time_end - time_start < 2 * 1000000) { + printf("Test sleep failed!\n"); + return -1; + } + + /* watch stdin for input */ + fds[0].fd = STDIN_FILENO; + fds[0].events = POLLIN; + + /* watch stdout for ability to write */ + fds[1].fd = STDOUT_FILENO; + fds[1].events = POLLOUT; + + printf("poll with 5 seconds\n"); + ret = poll(fds, 2, 5 * 1000); + + if (ret == -1) { + perror("poll"); + return 1; + } + + if (!ret) { + printf("Test poll failed, %d seconds elapsed!\n", 5); + return 0; + } + + if (fds[0].revents & POLLIN) + printf("stdin is readable\n"); + + if (fds[1].revents & POLLOUT) + printf("stdout is writable\n"); + + printf("Test finished\n"); + return 0; +} diff --git a/tests/standalone/test-wasi2/run.sh b/tests/standalone/test-wasi2/run.sh new file mode 100755 index 000000000..9ec8fb3e0 --- /dev/null +++ b/tests/standalone/test-wasi2/run.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +echo "============> compile test-wasi2 to wasm" +/opt/wasi-sdk/bin/clang -O3 -z stack-size=16384 -Wl,--initial-memory=131072 \ + -Wl,--export=main -Wl,--export=__heap_base,--export=__data_end \ + -Wl,--allow-undefined \ + -o test-wasi2.wasm main.c + +if [[ $1 != "--aot" ]]; then + echo "============> run test-wasi2.wasm" + ${IWASM_CMD} test-wasi2.wasm +else + echo "============> compile test-wasi2.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o test-wasi2.aot test-wasi2.wasm \ + || ${WAMRC_CMD} -o test-wasi2.aot test-wasi2.wasm + echo "============> run test-wasi2.aot" + ${IWASM_CMD} test-wasi2.aot +fi + diff --git a/tests/standalone/tsf/run.sh b/tests/standalone/tsf/run.sh new file mode 100755 index 000000000..47ac15b18 --- /dev/null +++ b/tests/standalone/tsf/run.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +if [[ $2 == "--sgx" ]];then + readonly IWASM_CMD="../../../product-mini/platforms/linux-sgx/enclave-sample/iwasm" +else + readonly IWASM_CMD="../../../product-mini/platforms/linux/build/iwasm" +fi +readonly WAMRC_CMD="../../../wamr-compiler/build/wamrc" + +if [[ $1 != "--aot" ]]; then + echo "============> run tsf.wasm" + if [[ $1 != "--multi-tier-jit" ]]; then + ${IWASM_CMD} --stack-size=1048576 --dir=. tsf.wasm + else + echo "============> run tsf.wasm with fast-jit" + ${IWASM_CMD} --fast-jit --stack-size=1048576 --dir=. tsf.wasm + echo "============> run tsf.wasm with llvm-jit" + ${IWASM_CMD} --llvm-jit --stack-size=1048576 --dir=. tsf.wasm + echo "============> run tsf.wasm with multi-tier-jit" + ${IWASM_CMD} --multi-tier-jit --stack-size=1048576 --dir=. tsf.wasm + fi +else + echo "============> compile tsf.wasm to aot" + [[ $2 == "--sgx" ]] && ${WAMRC_CMD} -sgx -o tsf.aot tsf.wasm \ + || ${WAMRC_CMD} -o tsf.aot tsf.wasm + echo "============> run tsf.aot" + ${IWASM_CMD} --stack-size=1048576 --dir=. tsf.aot +fi + diff --git a/tests/standalone/tsf/tsf.wasm b/tests/standalone/tsf/tsf.wasm new file mode 100755 index 0000000000000000000000000000000000000000..79b15dcbf8e067f03cba1bfb83361b8775caf964 GIT binary patch literal 178969 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 QSfz^MiZcFxXXNnz0jJk literal 0 HcmV?d00001 diff --git a/tests/wamr-test-suites/test_wamr.sh b/tests/wamr-test-suites/test_wamr.sh index d3d9cb65c..135940e1d 100755 --- a/tests/wamr-test-suites/test_wamr.sh +++ b/tests/wamr-test-suites/test_wamr.sh @@ -14,7 +14,8 @@ function help() { echo "test_wamr.sh [options]" echo "-c clean previous test results, not start test" - echo "-s {suite_name} test only one suite (spec|malformed|wasi_certification|wamr_compiler)" + echo "-s {suite_name} test only one suite (spec|standalone|malformed|wasi_certification|" + echo " unit|wamr_compiler)" echo "-m set compile target of iwasm(x86_64|x86_32|armv7|armv7_vfp|thumbv7|thumbv7_vfp|" echo " riscv32|riscv32_ilp32f|riscv32_ilp32d|riscv64|" echo " riscv64_lp64f|riscv64_lp64d|aarch64|aarch64_vfp)" @@ -997,7 +998,8 @@ function trigger() # if we're running the wasi certification tests. if [[ $TEST_CASE_ARR ]]; then for test in "${TEST_CASE_ARR[@]}"; do - if [[ "$test" == "wasi_certification" ]]; then + if [[ "$test" == "wasi_certification" + || "$test" == "standalone" ]]; then EXTRA_COMPILE_FLAGS+=" -DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1" break fi @@ -1104,7 +1106,7 @@ if [[ $TEST_CASE_ARR ]];then trigger || (echo "TEST FAILED"; exit 1) else # test all suite, ignore polybench and libsodium because of long time cost - TEST_CASE_ARR=("spec" "malformed") + TEST_CASE_ARR=("spec" "malformed" "standalone") : ' if [[ $COLLECT_CODE_COVERAGE == 1 ]];then # add polybench if collecting code coverage data

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