Chase Qi | a4ae6ae | 2017-01-19 19:21:22 +0800 | [diff] [blame] | 1 | #!/bin/sh -e |
| 2 | # signaltest is a RT signal roundtrip test software. |
| 3 | |
| 4 | # shellcheck disable=SC1091 |
| 5 | . ../../lib/sh-test-lib |
| 6 | |
| 7 | OUTPUT="$(pwd)/output" |
| 8 | LOGFILE="${OUTPUT}/signaltest.txt" |
| 9 | RESULT_FILE="${OUTPUT}/result.txt" |
| 10 | |
Daniel Wagner | 51778f9 | 2019-01-18 17:18:57 +0100 | [diff] [blame] | 11 | PRIORITY="98" |
Chase Qi | a4ae6ae | 2017-01-19 19:21:22 +0800 | [diff] [blame] | 12 | THREADS="2" |
Daniel Wagner | fc6dba6 | 2019-03-05 08:34:52 +0100 | [diff] [blame] | 13 | MAX_LATENCY="100" |
Daniel Wagner | a4b3e08 | 2019-07-19 16:35:35 +0200 | [diff] [blame] | 14 | DURATION="1m" |
Chase Qi | a4ae6ae | 2017-01-19 19:21:22 +0800 | [diff] [blame] | 15 | |
| 16 | usage() { |
Daniel Wagner | a4b3e08 | 2019-07-19 16:35:35 +0200 | [diff] [blame] | 17 | echo "Usage: $0 [-r runtime] [-p priority] [-t threads] [-m latency]" 1>&2 |
Chase Qi | a4ae6ae | 2017-01-19 19:21:22 +0800 | [diff] [blame] | 18 | exit 1 |
| 19 | } |
| 20 | |
Daniel Wagner | a4b3e08 | 2019-07-19 16:35:35 +0200 | [diff] [blame] | 21 | while getopts ":p:t:D:m:" opt; do |
Chase Qi | a4ae6ae | 2017-01-19 19:21:22 +0800 | [diff] [blame] | 22 | case "${opt}" in |
| 23 | p) PRIORITY="${OPTARG}" ;; |
| 24 | t) THREADS="${OPTARG}" ;; |
Daniel Wagner | a4b3e08 | 2019-07-19 16:35:35 +0200 | [diff] [blame] | 25 | D) DURATION="${OPTARG}" ;; |
Daniel Wagner | fc6dba6 | 2019-03-05 08:34:52 +0100 | [diff] [blame] | 26 | m) MAX_LATENCY="${OPTARG}" ;; |
Chase Qi | a4ae6ae | 2017-01-19 19:21:22 +0800 | [diff] [blame] | 27 | *) usage ;; |
| 28 | esac |
| 29 | done |
| 30 | |
| 31 | ! check_root && error_msg "Please run this script as root." |
Daniel Díaz | 6f49a1b | 2017-02-15 18:56:15 -0600 | [diff] [blame] | 32 | create_out_dir "${OUTPUT}" |
Chase Qi | a4ae6ae | 2017-01-19 19:21:22 +0800 | [diff] [blame] | 33 | |
| 34 | # Run signaltest. |
Lei Yang | 168c8b7 | 2017-10-23 11:01:31 +0800 | [diff] [blame] | 35 | if ! binary=$(which signaltest); then |
| 36 | detect_abi |
| 37 | # shellcheck disable=SC2154 |
| 38 | binary="./bin/${abi}/signaltest" |
| 39 | fi |
Daniel Wagner | a4b3e08 | 2019-07-19 16:35:35 +0200 | [diff] [blame] | 40 | |
| 41 | "${binary}" -D "${DURATION}" -m -p "${PRIORITY}" -t "${THREADS}" \ |
Chase Qi | a4ae6ae | 2017-01-19 19:21:22 +0800 | [diff] [blame] | 42 | | tee "${LOGFILE}" |
| 43 | |
| 44 | # Parse test log. |
Daniel Wagner | fc6dba6 | 2019-03-05 08:34:52 +0100 | [diff] [blame] | 45 | ../../lib/parse_rt_tests_results.py signaltest "${LOGFILE}" "${MAX_LATENCY}" \ |
Chase Qi | a4ae6ae | 2017-01-19 19:21:22 +0800 | [diff] [blame] | 46 | | tee -a "${RESULT_FILE}" |