2 set kvr [exec uname -r]
3 set kv [exec uname -r | cut -f1 -d-]
4 # a pattern bound to match
6 # a pattern bound to mismatch
7 set krx {?noSuchKernel*}
9 set arch [exec uname -m]
10 set ar "?[string range $arch 1 end-1]?"
11 set arx {?noSuchArch?}
13 # This test works so that if all the preprocessor conditionals
14 # work as expected, stap will indicate no error.
16 set test "preprocessor basic ops"
17 spawn stap -p2 -e "probe never {}
18 %( kernel_v == \"$kv\" %? %: ERROR %)
19 %( kernel_v == \"$kr\" %? %: ERROR %)
20 %( kernel_v == \"$krx\" %? ERROR %: %)
21 %( kernel_v != \"$kv\" %? ERROR %: %)
22 %( kernel_v != \"$kr\" %? ERROR %: %)
23 %( kernel_v != \"$krx\" %? %: ERROR %)
24 %( kernel_v < \"9.9999\" %? %: ERROR %)
25 %( kernel_v <= \"9.9999\" %? %: ERROR %)
26 %( kernel_v > \"9.9999\" %? ERROR %: %)
27 %( kernel_v >= \"9.9999\" %? ERROR %: %)
28 %( kernel_vr == \"$kvr\" %? %: ERROR %)
29 %( kernel_vr == \"$kr\" %? %: ERROR %)
30 %( kernel_vr == \"$krx\" %? ERROR %: %)
31 %( kernel_vr != \"$kvr\" %? ERROR %: %)
32 %( kernel_vr != \"$kr\" %? ERROR %: %)
33 %( kernel_vr != \"$krx\" %? %: ERROR %)
34 %( kernel_vr < \"9.9999\" %? %: ERROR %)
35 %( kernel_vr <= \"9.9999\" %? %: ERROR %)
36 %( kernel_vr > \"9.9999\" %? ERROR %: %)
37 %( kernel_vr >= \"9.9999\" %? ERROR %: %)
38 %( arch == \"$arch\" %? %: ERROR %)
39 %( arch == \"$ar\" %? %: ERROR %)
40 %( arch == \"$arx\" %? ERROR %: %)
41 %( arch != \"$arch\" %? ERROR %: %)
42 %( arch != \"$ar\" %? ERROR %: %)
43 %( arch != \"$arx\" %? %: ERROR %)
52 if {$ok == 1} { pass $test } { fail $test }