blob: 1b7d7358457c77a97b40b82f8840e0ee29d66e88 (
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
#!/bin/sh
TMP_LOG="log.txt"
parse_locking_api() {
cat $1 | grep "|$" | sed 's/^[][ 0-9\.]*//' | awk '
/^\|/ {
FS=":"
split($0, l, "|"); j=1;
for(i=1;i<=NF;i++) {
if(length(l[i]) > 0)
lock[j++] = l[i]
}
}
/:[ a-z\|]*\|$/ {
ptr=1; k=1;
for(i=1;i<length($2);i+=ptr) {
result=substr($2, i, length(lock[k]))
if(result ~ /[^ ]+/) {
extra_info=""
if(result=="failed") {
result="ok"
extra_info=" [expected failed]"
}
printf("%s(%s)%s: %s\n", $1, lock[k], extra_info, result)
}
ptr=length(lock[k])+1
k++
}
}'
}
parse_cpu_write_buffer_testing() {
KEY="Testing write buffer coherency"
log=`cat $1 | grep "${KEY}"`
[ -z "${log}" ] && return 0
t_id=${log%:*}
t_r=${log##*:}
f_reason=${t_r#*, }
if [ "${f_reason}" != "${t_r}" ]; then
t_r="FAILED"
t_id="${t_id} [${f_reason}]"
fi
echo "${t_id}: ${t_r}"
}
parse_ring_buffer_test_result () {
KEY="Running ring buffer tests"
[ -z "`cat $1 | grep \"${KEY}\"`" ] && return
if [ -n "`cat $1 | grep 'Ring buffer PASSED!'`" ] ; then
echo "Ring buffer test: ok"
else
echo "Ring buffer test: failed"
fi
}
parse_event_trace_test () {
grep "^Testing " $1 | while read l;
do
t_id=${l%:*}
t_r=${l##*: }
[ -n "`echo ${t_r}|grep \".* PASSED\"`" ] && t_id="${t_id} ${t_r% PASSED}" && t_r="PASSED"
[ -n "${t_r}" ] && case ${t_r} in
Enabled* )
t_id="${t_id} [${t_r}]"
t_r="skip"
;;
error* )
t_id="${t_id} [${t_r}]"
t_r="FAILED"
;;
"OK" | "PASSED" | "ret = 0" )
t_r="ok"
;;
* )
t_id="${t_id} [${t_r}]"
t_r="FAILED"
;;
esac
[ -n "${t_id}" -a -n "${t_r}" ] && echo "${t_id}: ${t_r}"
done
}
parse_test_string_helper () {
KEY="test_string_helpers: Running tests"
[ -z "`cat $1 | grep \"${KEY}\"`" ] && return
if [ -n "`cat $1 | grep 'Test failed: flags'`" ] ; then
echo "test_string_helpers: failed"
else
echo "test_string_helpers: ok"
fi
}
parse_odebug_test () {
grep "ODEBUG: selftest" $1 | while read l;
do
case "${l}" in
"ODEBUG: selftest passed" )
echo "ODEBUG selftest: ok"
;;
* )
echo "ODEBUG [${l#ODEBUG: }]: failed"
;;
esac
done
}
parse_rt_mutex_test () {
r="`grep "Initializing RT-Tester" $1`"
[ -n "${r}" ] && echo "${r}" | tr '[:upper:]' '[:lower:]'
}
cat $1 | sed 's/^[][ 0-9\.]*//' > ${TMP_LOG}
parse_locking_api ${TMP_LOG}
parse_cpu_write_buffer_testing ${TMP_LOG}
parse_ring_buffer_test_result ${TMP_LOG}
parse_event_trace_test ${TMP_LOG}
parse_test_string_helper ${TMP_LOG}
parse_odebug_test ${TMP_LOG}
parse_rt_mutex_test ${TMP_LOG}
|