blob: 41b618189b6c92719ea8ede7b820b20aab467f22 [file] [log] [blame]
Chase Qia4ae6ae2017-01-19 19:21:22 +08001#!/bin/sh -e
2# signaltest is a RT signal roundtrip test software.
3
4# shellcheck disable=SC1091
5. ../../lib/sh-test-lib
6
7OUTPUT="$(pwd)/output"
8LOGFILE="${OUTPUT}/signaltest.txt"
9RESULT_FILE="${OUTPUT}/result.txt"
10
Daniel Wagner51778f92019-01-18 17:18:57 +010011PRIORITY="98"
Chase Qia4ae6ae2017-01-19 19:21:22 +080012THREADS="2"
Daniel Wagnerfc6dba62019-03-05 08:34:52 +010013MAX_LATENCY="100"
Daniel Wagnera4b3e082019-07-19 16:35:35 +020014DURATION="1m"
Chase Qia4ae6ae2017-01-19 19:21:22 +080015
16usage() {
Daniel Wagnera4b3e082019-07-19 16:35:35 +020017 echo "Usage: $0 [-r runtime] [-p priority] [-t threads] [-m latency]" 1>&2
Chase Qia4ae6ae2017-01-19 19:21:22 +080018 exit 1
19}
20
Daniel Wagnera4b3e082019-07-19 16:35:35 +020021while getopts ":p:t:D:m:" opt; do
Chase Qia4ae6ae2017-01-19 19:21:22 +080022 case "${opt}" in
23 p) PRIORITY="${OPTARG}" ;;
24 t) THREADS="${OPTARG}" ;;
Daniel Wagnera4b3e082019-07-19 16:35:35 +020025 D) DURATION="${OPTARG}" ;;
Daniel Wagnerfc6dba62019-03-05 08:34:52 +010026 m) MAX_LATENCY="${OPTARG}" ;;
Chase Qia4ae6ae2017-01-19 19:21:22 +080027 *) usage ;;
28 esac
29done
30
31! check_root && error_msg "Please run this script as root."
Daniel Díaz6f49a1b2017-02-15 18:56:15 -060032create_out_dir "${OUTPUT}"
Chase Qia4ae6ae2017-01-19 19:21:22 +080033
34# Run signaltest.
Lei Yang168c8b72017-10-23 11:01:31 +080035if ! binary=$(which signaltest); then
36 detect_abi
37 # shellcheck disable=SC2154
38 binary="./bin/${abi}/signaltest"
39fi
Daniel Wagnera4b3e082019-07-19 16:35:35 +020040
41"${binary}" -D "${DURATION}" -m -p "${PRIORITY}" -t "${THREADS}" \
Chase Qia4ae6ae2017-01-19 19:21:22 +080042 | tee "${LOGFILE}"
43
44# Parse test log.
Daniel Wagnerfc6dba62019-03-05 08:34:52 +010045../../lib/parse_rt_tests_results.py signaltest "${LOGFILE}" "${MAX_LATENCY}" \
Chase Qia4ae6ae2017-01-19 19:21:22 +080046 | tee -a "${RESULT_FILE}"