mirror of https://github.com/coturn/coturn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
833 B
47 lines
833 B
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
usage() {
|
|
cat <<'EOF'
|
|
Usage:
|
|
fuzzing/run-local.sh [ASan|UBSan|MSan] [0|1] [libFuzzer args...]
|
|
|
|
Targets:
|
|
0 FuzzStun
|
|
1 FuzzStunClient
|
|
|
|
Examples:
|
|
fuzzing/run-local.sh ASan 0 -runs=100000
|
|
fuzzing/run-local.sh UBSan 1 -max_total_time=60
|
|
EOF
|
|
}
|
|
|
|
case "${1:-}" in
|
|
-h|--help|help)
|
|
usage
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
image_name="${COTURN_FUZZ_IMAGE:-coturn-fuzz-local}"
|
|
|
|
args=("$@")
|
|
if [ "${#args[@]}" -eq 0 ]; then
|
|
args=(ASan 0)
|
|
fi
|
|
|
|
docker_run_flags=(--rm)
|
|
if [ -t 0 ] && [ -t 1 ]; then
|
|
docker_run_flags+=(-it)
|
|
fi
|
|
|
|
docker build \
|
|
-f "${repo_root}/fuzzing/Dockerfile" \
|
|
-t "${image_name}" \
|
|
"${repo_root}/fuzzing"
|
|
|
|
docker run "${docker_run_flags[@]}" \
|
|
-v "${repo_root}:/src:ro" \
|
|
"${image_name}" \
|
|
"${args[@]}"
|
|
|