Selaa lähdekoodia

Enable to run wasi-thread tests with AOT (#2026)

Georgii Rylov 2 vuotta sitten
vanhempi
sitoutus
23e9a356e5
1 muutettua tiedostoa jossa 45 lisäystä ja 24 poistoa
  1. 45 24
      tests/wamr-test-suites/wasi-test-script/run_wasi_tests.sh

+ 45 - 24
tests/wamr-test-suites/wasi-test-script/run_wasi_tests.sh

@@ -13,6 +13,42 @@ readonly PLATFORM=$(uname -s | tr A-Z a-z)
 readonly WAMR_DIR="${WORK_DIR}/../../../.."
 readonly IWASM_CMD="${WORK_DIR}/../../../../product-mini/platforms/${PLATFORM}/build/iwasm"
 readonly WAMRC_CMD="${WORK_DIR}/../../../../wamr-compiler/build/wamrc"
+readonly C_TESTS="tests/c/testsuite/"
+readonly ASSEMBLYSCRIPT_TESTS="tests/assemblyscript/testsuite/"
+readonly THREAD_PROPOSAL_TESTS="tests/proposals/wasi-threads/"
+readonly THREAD_INTERNAL_TESTS="${WAMR_DIR}/core/iwasm/libraries/lib-wasi-threads/test/"
+readonly LIB_SOCKET_TESTS="${WAMR_DIR}/core/iwasm/libraries/lib-socket/test/"
+
+run_aot_tests () {
+    local tests=("$@")
+    for test_wasm in ${tests[@]}; do
+        test_aot="${test_wasm%.wasm}.aot"
+        test_json="${test_wasm%.wasm}.json"
+
+        if [ -f ${test_wasm} ]; then
+            expected=$(jq .exit_code ${test_json})
+        fi
+
+        echo "Compiling $test_wasm to $test_aot"
+        ${WAMRC_CMD} --enable-multi-thread ${target_option} \
+            -o ${test_aot} ${test_wasm}
+
+        echo "Running $test_aot"
+        expected=0
+        if [ -f ${test_json} ]; then 
+            expected=$(jq .exit_code ${test_json})
+        fi
+        
+        ${IWASM_CMD} $test_aot
+        
+        ret=${PIPESTATUS[0]}
+
+        echo "expected=$expected, actual=$ret"
+        if [[ $expected != "" ]] && [[ $expected != $ret ]];then
+            exit_code=1
+        fi
+    done
+} 
 
 if [[ $MODE != "aot" ]];then
     python3 -m venv wasi-env && source wasi-env/bin/activate
@@ -20,11 +56,11 @@ if [[ $MODE != "aot" ]];then
     TEST_RUNTIME_EXE="${IWASM_CMD}" python3 test-runner/wasi_test_runner.py \
                 -r adapters/wasm-micro-runtime.py \
                 -t \
-                    tests/c/testsuite/ \
-                    tests/assemblyscript/testsuite/ \
-                    tests/proposals/wasi-threads/ \
-                    ${WAMR_DIR}/core/iwasm/libraries/lib-wasi-threads/test/ \
-                    ${WAMR_DIR}/core/iwasm/libraries/lib-socket/test/ \
+                    ${C_TESTS} \
+                    ${ASSEMBLYSCRIPT_TESTS} \
+                    ${THREAD_PROPOSAL_TESTS} \
+                    ${THREAD_INTERNAL_TESTS} \
+                    ${LIB_SOCKET_TESTS} \
     exit_code=${PIPESTATUS[0]}
     deactivate
 else
@@ -33,26 +69,11 @@ else
         target_option="--target=i386"
     fi
 
-    # Run WASI thread proposal tests
     exit_code=0
-    wasm_tests=$(ls tests/proposals/wasi-threads/*.wasm)
-    for test_wasm in ${wasm_tests}; do
-        test_aot="${test_wasm%.wasm}.aot"
-        test_json="${test_wasm%.wasm}.json"
-
-        echo "Compiling $test_wasm to $test_aot"
-        ${WAMRC_CMD} --enable-multi-thread ${target_option} \
-            -o $test_aot $test_wasm
-
-        echo "Running $test_aot"
-        expected=$(jq .exit_code ${test_json})
-        ${IWASM_CMD} $test_aot
-        ret=${PIPESTATUS[0]}
-
-        echo "expected=$expected, actual=$ret"
-        if [[ $expected != "" ]] && [[ $expected != $ret ]];then
-            exit_code=1
-        fi
+    for testsuite in ${THREAD_PROPOSAL_TESTS} ${THREAD_INTERNAL_TESTS}; do
+        tests=$(ls ${testsuite}*.wasm)
+        tests_array=($tests)
+        run_aot_tests "${tests_array[@]}"
     done
 fi