blob: 0e49c2fbe35922cbcf2493a75c61a1f6912e6934 [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
11PRIORITY="99"
12THREADS="2"
13LOOPS="10000"
14
15usage() {
16 echo "Usage: $0 [-p priority] [-t threads] [-l loops]" 1>&2
17 exit 1
18}
19
20while getopts ":p:t:l:" opt; do
21 case "${opt}" in
22 p) PRIORITY="${OPTARG}" ;;
23 t) THREADS="${OPTARG}" ;;
24 l) LOOPS="${OPTARG}" ;;
25 *) usage ;;
26 esac
27done
28
29! check_root && error_msg "Please run this script as root."
Daniel Díaz6f49a1b2017-02-15 18:56:15 -060030create_out_dir "${OUTPUT}"
Chase Qia4ae6ae2017-01-19 19:21:22 +080031
32# Run signaltest.
33detect_abi
34# shellcheck disable=SC2154
35./bin/"${abi}"/signaltest -p "${PRIORITY}" -t "${THREADS}" -l "${LOOPS}" \
36 | tee "${LOGFILE}"
37
38# Parse test log.
39tail -n 1 "${LOGFILE}" \
40 | awk '{printf("min-latency pass %s us\n", $(NF-6))};
41 {printf("avg-latency pass %s us\n", $(NF-2))};
42 {printf("max-latency pass %s us\n", $NF)};' \
43 | tee -a "${RESULT_FILE}"