Add mutex stress test (#2472)
As a part of stress-testing we want to ensure that mutex implementation is working correctly and protecting shared resource to be allocated from other threads when mutex is locked. This test covers the most common situations that happen when some program uses mutexes like locks from various threads, locks from the same thread etc.
This commit is contained in:
65
core/iwasm/libraries/lib-wasi-threads/stress-test/build.sh
Executable file
65
core/iwasm/libraries/lib-wasi-threads/stress-test/build.sh
Executable file
@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Copyright (C) 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
#
|
||||
|
||||
set -eo pipefail
|
||||
CC=${CC:=/opt/wasi-sdk/bin/clang}
|
||||
WAMR_DIR=../../../../..
|
||||
|
||||
show_usage() {
|
||||
echo "Usage: $0 [--sysroot PATH_TO_SYSROOT]"
|
||||
echo "--sysroot PATH_TO_SYSROOT specify to build with custom sysroot for wasi-libc"
|
||||
}
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key="$1"
|
||||
case $key in
|
||||
--sysroot)
|
||||
sysroot_path="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
--help)
|
||||
show_usage
|
||||
exit
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
rm -rf *.wasm
|
||||
rm -rf *.aot
|
||||
|
||||
for test_c in *.c; do
|
||||
test_wasm="$(basename $test_c .c).wasm"
|
||||
|
||||
if [[ -n "$sysroot_path" ]]; then
|
||||
if [ ! -d "$sysroot_path" ]; then
|
||||
echo "Directory $sysroot_path doesn't exist. Aborting"
|
||||
exit 1
|
||||
fi
|
||||
sysroot_command="--sysroot $sysroot_path"
|
||||
fi
|
||||
|
||||
echo "Compiling $test_c to $test_wasm"
|
||||
$CC \
|
||||
-target wasm32-wasi-threads \
|
||||
-O2 \
|
||||
-Wall \
|
||||
-pthread \
|
||||
-z stack-size=32768 \
|
||||
-Wl,--export=__heap_base \
|
||||
-Wl,--export=__data_end \
|
||||
-Wl,--shared-memory,--max-memory=1966080 \
|
||||
-Wl,--export=wasi_thread_start \
|
||||
-Wl,--export=malloc \
|
||||
-Wl,--export=free \
|
||||
$sysroot_command \
|
||||
$test_c -o $test_wasm
|
||||
done
|
||||
Reference in New Issue
Block a user