blob: 1bc3e701df49ae64f6e73a923acb901095c8b51d (
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
|
set kvr [exec uname -r]
set kv [exec uname -r | cut -f1 -d-]
# a pattern bound to match
set kr {2?[0-9]*}
# a pattern bound to mismatch
set krx {?noSuchKernel*}
set arch [exec uname -i]
set ar "?[string range $arch 1 end-1]?"
set arx {?noSuchArch?}
# This test works so that if all the preprocessor conditionals
# work as expected, stap will indicate no error.
set test "preprocessor basic ops"
spawn stap -p2 -e "probe never {}
%( kernel_v == \"$kv\" %? %: ERROR %)
%( kernel_v == \"$kr\" %? %: ERROR %)
%( kernel_v == \"$krx\" %? ERROR %: %)
%( kernel_v != \"$kv\" %? ERROR %: %)
%( kernel_v != \"$kr\" %? ERROR %: %)
%( kernel_v != \"$krx\" %? %: ERROR %)
%( kernel_v < \"9.9999\" %? %: ERROR %)
%( kernel_v <= \"9.9999\" %? %: ERROR %)
%( kernel_v > \"9.9999\" %? ERROR %: %)
%( kernel_v >= \"9.9999\" %? ERROR %: %)
%( kernel_vr == \"$kvr\" %? %: ERROR %)
%( kernel_vr == \"$kr\" %? %: ERROR %)
%( kernel_vr == \"$krx\" %? ERROR %: %)
%( kernel_vr != \"$kvr\" %? ERROR %: %)
%( kernel_vr != \"$kr\" %? ERROR %: %)
%( kernel_vr != \"$krx\" %? %: ERROR %)
%( kernel_vr < \"9.9999\" %? %: ERROR %)
%( kernel_vr <= \"9.9999\" %? %: ERROR %)
%( kernel_vr > \"9.9999\" %? ERROR %: %)
%( kernel_vr >= \"9.9999\" %? ERROR %: %)
%( arch == \"$arch\" %? %: ERROR %)
%( arch == \"$ar\" %? %: ERROR %)
%( arch == \"$arx\" %? ERROR %: %)
%( arch != \"$arch\" %? ERROR %: %)
%( arch != \"$ar\" %? ERROR %: %)
%( arch != \"$arx\" %? %: ERROR %)
"
set ok 0
expect {
"never" { incr ok }
eof { }
timeout { }
}
catch {close; wait}
if {$ok == 1} { pass $test } { fail $test }
|