diff options
Diffstat (limited to 'testsuite/systemtap.base/flightrec2.exp')
-rw-r--r-- | testsuite/systemtap.base/flightrec2.exp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/testsuite/systemtap.base/flightrec2.exp b/testsuite/systemtap.base/flightrec2.exp new file mode 100644 index 00000000..d4481db4 --- /dev/null +++ b/testsuite/systemtap.base/flightrec2.exp @@ -0,0 +1,68 @@ +set test "flightrec2" +if {![installtest_p]} { untested $test; return } + +# cleanup +system "rm -f flightlog.out*" + +set pid 0 +# check -S option +spawn stap -F -o flightlog.out -S 1,3 $srcdir/$subdir/$test.stp +expect { + -timeout 240 + -re {([0-9]+)\r\n} { + pass "$test (-S option)" + set pid $expect_out(1,string) + exp_continue} + timeout { fail "$test (timeout)"} + eof { } +} +wait +if {$pid == 0} { + fail "$test (no pid)" + return -1 +} + +exec sleep 4 +set scnt 0 +set cnt1 0 +# wait for log files +eval spawn stat -c %s [glob flightlog.out.*] +expect { + -timeout 100 + -re {[0-9]+} { + incr cnt1; + if {$expect_out(buffer) <= 1048576 } {incr scnt} + exp_continue} + timeout { fail "$test (logfile timeout)"} +} +wait +exec sleep 3 +set cnt2 0 +# wait for log files +eval spawn stat -c %s [glob flightlog.out.*] +expect { + -timeout 100 + -re {[0-9]+} { + incr cnt2; + if {$expect_out(buffer) <= 1048576 } {incr scnt} + exp_continue} + timeout { fail "$test (logfile timeout)"} +} +wait +# check logfile number +if {$cnt1 == 3 && $cnt2 == 3} { + pass "$test (log file numbers limitation)" +} else { + fail "$test (log file numbers ($cnt1, $cnt2))" +} +# check logfile size +if {$scnt == $cnt1 + $cnt2 } { + pass "$test (log file size limitation)" +} else { + fail "$test (log file size ($scnt != $cnt1 + $cnt2))" +} +exec kill -TERM $pid +# wait for exiting... +exec sleep 1 +system "rm -f flightlog.out*" + |