mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2024-11-26 07:21:54 +00:00
132 lines
3.5 KiB
Bash
Executable File
132 lines
3.5 KiB
Bash
Executable File
#!/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 ==============*"
|