return
}
-spawn stap -c {echo "hello world"} -we {probe begin {}}
+spawn stap -u -c {echo "hello world"} -we {probe begin {}}
expect {
-timeout 60
"hello world" {pass "cmd_parse1"}
timeout {fail "cmd_parse1: unexpected timeout"}
eof {fail "cmd_parse1: unexpected EOF"}
}
-wait;catch {close}
+catch { close }; catch { wait }
-spawn stap -c {echo "hello "\"world\"} -we {probe begin {}}
+spawn stap -u -c {echo "hello "\"world\"} -we {probe begin {}}
expect {
-timeout 60
"hello \"world\"" {pass "cmd_parse2"}
timeout {fail "cmd_parse2: unexpected timeout"}
eof {fail "cmd_parse2: unexpected EOF"}
}
-wait;catch {close}
+catch { close }; catch { wait }
-spawn stap -c {sh -c '(a="hello world"; echo $a)'} -we {probe begin {}}
+spawn stap -u -c {sh -c '(a="hello world"; echo $a)'} -we {probe begin {}}
expect {
-timeout 60
"hello world" {pass "cmd_parse3"}
timeout {fail "cmd_parse3: unexpected timeout"}
eof {fail "cmd_parse3: unexpected EOF"}
}
-wait;catch {close}
+catch { close }; catch { wait }
-spawn stap -c {sh -c '(a="hello "\"world\"; echo $a)'} -we {probe begin {}}
+spawn stap -u -c {sh -c '(a="hello "\"world\"; echo $a)'} -we {probe begin {}}
expect {
-timeout 60
"hello \"world\"" {pass "cmd_parse4"}
timeout {fail "cmd_parse4: unexpected timeout"}
eof {fail "cmd_parse4: unexpected EOF"}
}
-wait;catch {close}
+catch { close }; catch { wait }
-spawn stap -c {sh -c '(a="hello "world; echo $a)'} -we {probe begin {}}
+spawn stap -u -c {sh -c '(a="hello "world; echo $a)'} -we {probe begin {}}
expect {
-timeout 60
"hello world" {pass "cmd_parse5"}
timeout {fail "cmd_parse5: unexpected timeout"}
eof {fail "cmd_parse5: unexpected EOF"}
}
-wait;catch {close}
+catch { close }; catch { wait }
-spawn stap -c {bash -c '((a=42+7)); echo "The answer is $a"'} -we {probe begin {}}
+spawn stap -u -c {bash -c '((a=42+7)); echo "The answer is $a"'} -we {probe begin {}}
expect {
-timeout 60
"The answer is 49" {pass "cmd_parse6"}
timeout {fail "cmd_parse6: unexpected timeout"}
eof {fail "cmd_parse6: unexpected EOF"}
}
-wait;catch {close}
+catch { close }; catch { wait }
-spawn stap -c {sh -c '(echo "Hello World" 1>&2) > /dev/null'} -we {probe begin {}}
+spawn stap -u -c {sh -c '(echo "Hello World" 1>&2) > /dev/null'} -we {probe begin {}}
expect {
-timeout 60
"Hello World" {pass "cmd_parse7"}
timeout {fail "cmd_parse7: unexpected timeout"}
eof {fail "cmd_parse7: unexpected EOF"}
}
-wait;catch {close}
+catch { close }; catch { wait }
+# slow test case; requires kernel tracepoint query modules
spawn stap -l {vm.*}
expect {
- -timeout 60
- -re "vm.*" {pass "cmd_parse8"}
+ -timeout 240
+ -re {^vm[^\r\n]*\r\n} {pass "cmd_parse8"}
+ -re "^Warning: make exited with status: 2\r\n" {exp_continue}
timeout {fail "cmd_parse8: unexpected timeout"}
eof {fail "cmd_parse8: unexpected EOF"}
}
-wait;catch {close}
+catch { close }; catch { wait }
spawn stap -e {probe begin { printf("%d %s\n", argc, argv[$1]) exit() }} 1
expect {
timeout { fail "cmd_parse9 timeout" }
eof { fail "cmd_parse9 eof" }
}
-wait;catch {close}
+catch { close }; catch { wait }
spawn stap -e {probe begin { printf("%d %s\n", argc, argv[$1]) exit() }} 5 a b c d
expect {
timeout { fail "cmd_parse10 timeout" }
eof { fail "cmd_parse10 eof" }
}
-wait;catch {close}
+catch { close }; catch { wait }
spawn stap -e {probe begin { printf("%d %s\n", argc, argv[$1]) exit() }} 10 a b c d
expect {
timeout { fail "cmd_parse11 timeout" }
eof { fail "cmd_parse11 eof" }
}
-wait;catch {close}
+catch { close }; catch { wait }
spawn stap -e {probe begin { printf("%d %s\n", argc, argv[0]) exit() }}
expect {
timeout { fail "cmd_parse12 timeout" }
eof { fail "cmd_parse12 eof" }
}
-wait;catch {close}
+catch { close }; catch { wait }
spawn stap -L syscall.a*
expect {
timeout {fail "cmd_parse13: unexpected timeout"}
eof {fail "cmd_parse13: unexpected EOF"}
}
-wait;catch {close}
+catch { close }; catch { wait }
-spawn sh -c "stap -v -v --vp 01020 -h 2>&1"
-expect {
- -re {add per-pass verbosity .23242.} { pass "cmd_parse14" }
- timeout { fail "cmd_parse14: timeout" }
- eof { fail "cmd_parse14: eof" }
+if {![catch { exec sh -c "stap -v -v --vp 01020 -h 2>&1 | grep -q 'add per-pass verbosity .23242.'" }]} {
+ pass "cmd_parse14"
+} else {
+ fail "cmd_parse14"
}
-wait;catch {close}
set uname [exec uname -r]
-set linux26ver [lindex [split $uname {.-}] 2]
-if {$linux26ver < 29} {
- verbose -log "kfail, see commit e0ccd3\n";
+set triplet [split $uname {.-}]
+if {[lindex $triplet 0] == 2 &&
+ [lindex $triplet 1] == 6 &&
+ [lindex $triplet 2] < 29} {
+ # verbose -log "kfail, see commit e0ccd3\n";
setup_kfail 4186 "*-*-*"
}
spawn sh -c "stap -m do_not_cache_me -B kernelrelease -p4 -e 'probe begin {exit()}'"
# the \r below is meant to match the "kernelrelease" output, as distinct from
# any possible auxiliary make verbosity.
expect {
- -re "$uname\r" { pass "cmd_parse15" }
+ -timeout 60
+ -gl "$uname\r" { pass "cmd_parse15" }
timeout { fail "cmd_parse15: timeout" }
eof { fail "cmd_parse15: eof" }
}
-wait;catch {close}
+catch { close }; catch { wait }
set uname [exec uname -i]
+# normalize arch
+set uname [normalize_arch $uname]
+
spawn sh -c "stap -m do_not_cache_me -a $uname -p4 -e 'probe begin {exit()}'"
# the \r below is meant to match the "kernelrelease" output, as distinct from
# any possible auxiliary make verbosity.
expect {
+ -timeout 60
-re "do_not_cache_me.ko\r" { pass "cmd_parse16" }
timeout { fail "cmd_parse16: timeout" }
eof { fail "cmd_parse16: eof" }
}
-wait;catch {close}
+catch { close }; catch { wait }
# NB: when adding extra tests here, increment the ![installtest_p]
# loop count too at the top.