diff options
Diffstat (limited to 'testsuite/systemtap.context/num_args.tcl')
-rw-r--r-- | testsuite/systemtap.context/num_args.tcl | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/testsuite/systemtap.context/num_args.tcl b/testsuite/systemtap.context/num_args.tcl new file mode 100644 index 00000000..48e83f4d --- /dev/null +++ b/testsuite/systemtap.context/num_args.tcl @@ -0,0 +1,62 @@ +set arglists {{} {--kelf --ignore-dwarf}} +foreach arglist $arglists { +set tag [concat numeric $arglist] +eval spawn stap $arglist $srcdir/$subdir/num_args.stp +expect { + -timeout 240 + "READY" { + exec echo 1 > /proc/stap_test_cmd + expect { + -timeout 5 + "yyy_int -1 200 300\r\nyyy_int returns 499\r\n" { + pass "integer function arguments -- $tag" + } + timeout {fail "integer function arguments -- $tag"} + } + exec echo 2 > /proc/stap_test_cmd + expect { + -timeout 5 + "yyy_uint 4294967295 200 300\r\nyyy_uint returns 499\r\n" { + pass "unsigned function arguments -- $tag" + } + timeout {fail "unsigned function arguments -- $tag"} + } + exec echo 3 > /proc/stap_test_cmd + expect { + -timeout 5 + "yyy_long -1 200 300\r\nyyy_long returns 499\r\n" { + pass "long function arguments -- $tag" + } + timeout {fail "long function arguments -- $tag"} + } + exec echo 4 > /proc/stap_test_cmd + expect { + -timeout 5 + "yyy_int64 -1 200 300\r\nyyy_int64 returns 499\r\n" { + pass "int64 function arguments -- $tag" + } + timeout {fail "int64 function arguments -- $tag"} + } + exec echo 5 > /proc/stap_test_cmd + expect { + -timeout 5 + "yyy_char a b c\r\nyyy_char returns Q\r\n" { + pass "char function arguments -- $tag" + } + timeout {fail "char function arguments -- $tag"} + } + exec echo 6 > /proc/stap_test_cmd + expect { + -timeout 5 + "yyy_str Hello-System-Tap\r\nyyy_str returns XYZZY\r\n" { + pass "string function arguments -- $tag" + } + timeout {fail "string function arguments -- $tag"} + } + } + eof {fail "function arguments -- $tag: unexpected timeout"} +} +exec kill -INT -[exp_pid] +close +wait +} |