blob: 9856975e3900f550301a1a5f5673d426bebd6c25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#!/bin/sh
TIMES=$1
INTERVAL=$2
LATENCY=$3
DURATION=$4
if [ ! -f "/usr/bin/cyclictest" ]; then
echo "Error! the command 'cyclictest' doesn't exist!"
lava-test-case cyclictest-basic --result fail
exit 1
fi
for t in $(seq 1 ${TIMES});
do
threads=$(($t * 2));
log_file="${threads}-cyc.log";
echo "Running \"cyclictest -q -t ${threads} -i ${INTERVAL} --latency=${LATENCY} -D ${DURATION}\"" | tee ${log_file};
for i in $(seq 0 5);
do
cyclictest -q -t ${threads} -i ${INTERVAL} --latency=${LATENCY} -D ${DURATION} | tee result.log;
cat result.log >> ${log_file};
done;
lava-test-run-attach ${log_file};
Max=0
Min=0
Avg=0
n=0
while read l;
do
max=$(echo ${l}|grep -o "Max:[[:space:]]*[0-9]*"|grep -o "[0-9]*")
min=$(echo ${l}|grep -o "Min:[[:space:]]*[0-9]*"|grep -o "[0-9]*")
avg=$(echo ${l}|grep -o "Avg:[[:space:]]*[0-9]*"|grep -o "[0-9]*")
if [ ${max} -a ${min} -a ${avg} ]; then
[ ${max} -gt ${Max} ] && Max=${max}
[ ${Min} -eq 0 -o ${min} -lt ${Min} ] && Min=${min}
Avg=$((${Avg}+${avg}))
n=$((${n}+1))
fi
done < ${log_file}
Avg=$((${Avg}/${n}))
lava-test-case ${threads}-threads-Max --result pass --units us --measurement ${Max}
lava-test-case ${threads}-threads-Min --result pass --units us --measurement ${Min}
lava-test-case ${threads}-threads-Avg --result pass --units us --measurement ${Avg}
done
|