]> sourceware.org Git - systemtap.git/blame - testsuite/systemtap.apps/java.exp
systemtap java support reorganization
[systemtap.git] / testsuite / systemtap.apps / java.exp
CommitLineData
e8689856
DS
1set test "java"
2if {[catch { exec which javac } res]} {
3 untested "$test - no javac"
4 return
5}
6
454524da 7set test "singleparam"
489f8460 8
7f04d249
FCE
9if {! [installtest_p]} then { untested $test; return }
10
489f8460
LB
11# Test per method probing
12
13catch { exec javac -d ./ $srcdir/$subdir/singleparam.java } err
14if {$err == "" && [file exists ./singleparam.class]} then { pass "$test compile" } else { fail "$test compile $err" }
15
d885563b 16spawn stap $srcdir/$subdir/java.stp -c "java singleparam >/dev/null 2>&1"
454524da 17set ok 0
489f8460 18expect {
454524da 19 -timeout 40
d885563b
FCE
20 -re {printMessage\(int\)[^\r\n]*42\r\n} { incr ok; exp_continue}
21 -re {printMessage\(long\)[^\r\n]*254775806\r\n} { incr ok; exp_continue }
22 -re {printMessage\(double\)[^\r\n]*3\r\n} { incr ok; exp_continue }
23 -re {printMessage\(float\)[^\r\n]*2345987\r\n} { incr ok; exp_continue }
24 -re {printMessage\(byte\)[^\r\n]*10\r\n} { incr ok; exp_continue }
25 -re {printMessage\(boolean\)[^\r\n]*1\r\n} { incr ok; exp_continue }
26 -re {printMessage\(char\)[^\r\n]*97\r\n} { incr ok; exp_continue }
27 -re {printMessage\(short\)[^\r\n]*14\r\n} { incr ok; exp_continue }
454524da 28 timeout { fail "$test (timeout)" }
489f8460
LB
29}
30
454524da
LB
31 if {$ok == 8} then {
32 pass "$test ($ok)"
33 } else {
34 fail "$test ($ok)"
35 }
489f8460
LB
36catch {close}; catch {wait}
37catch {exec rm ./singleparam.class}
38
454524da
LB
39set test "return"
40
41catch { exec javac -d ./ $srcdir/$subdir/returnstatement.java } err1
42if {$err1 == "" && [file exists ./returnstatement.class]} then { pass "$test compile" } else { fail "$test compile $err1" }
43
d885563b 44spawn stap $srcdir/$subdir/returnstatement.stp -c "java returnstatement >/dev/null 2>&1"
454524da
LB
45set oka 0
46expect {
47 -timeout 40
d885563b
FCE
48 -re {printMessage\(int\)[^\r\n]*42\ ret\r\n} { incr oka; exp_continue }
49 -re {printMessage\(long\)[^\r\n]*254775806\ ret\r\n} { incr oka; exp_continue }
50 -re {printMessage\(double\)[^\r\n]*3\ ret\r\n} { incr oka; exp_continue }
51 -re {printMessage\(float\)[^\r\n]*2345987\ ret\r\n} { incr oka; exp_continue }
52 -re {printMessage\(byte\)[^\r\n]*10\ ret\r\n} { incr oka; exp_continue }
53 -re {printMessage\(boolean\)[^\r\n]*1\ ret\r\n} { incr oka; exp_continue }
54 -re {printMessage\(char\)[^\r\n]*97\ ret\r\n} { incr oka; exp_continue }
55 -re {printMessage\(short\)[^\r\n]*14\ ret\r\n} { incr oka; exp_continue }
454524da
LB
56 timeout { fail "$test unexpected timeout" }
57}
58
59 if {$oka == 8} then {
60 pass "$test ($oka)"
61 } else {
62 fail "$test ($oka)"
63 }
64
65catch {close}; catch {wait}
66catch {exec rm ./returnstatement.class}
67
68set test "multiparams"
69
70catch { exec javac -d ./ $srcdir/$subdir/multiparams.java } err2
71if {$err2 == "" && [file exists ./multiparams.class]} then { pass "$test compile" } else { fail "$test compile $err2" }
72
d885563b 73spawn stap $srcdir/$subdir/multiparams.stp -c "java multiparams >/dev/null 2>&1"
454524da
LB
74set okb 0
75expect {
76 -timeout 40
d885563b
FCE
77 -re {printMessage1\(int\)[^\r\n]*42\r\n} { incr okb; exp_continue }
78 -re {printMessage2\(long\,\ int\)[^\r\n]*254775806\ 42\r\n} { incr okb; exp_continue }
79 -re {printMessage3\(double,\ long,\ int\)[^\r\n]*3\ 254775806\ 42\r\n} { incr okb; exp_continue }
80 -re {printMessage4\(float,\ double,\ long,\ int\)[^\r\n]*2345987\ 3\ 254775806\ 42\r\n} { incr okb; exp_continue }
81 -re {printMessage5\(byte,\ float,\ double,\ long,\ int\)[^\r\n]*10\ 2345987\ 3\ 254775806\ 42\r\n} { incr okb; exp_continue }
82 -re {printMessage6\(boolean,\ byte,\ float,\ double,\ long,\ int\)[^\r\n]*1\ 10\ 2345987\ 3\ 254775806\ 42\r\n} { incr okb; exp_continue }
83 -re {printMessage7\(char,\ boolean,\ byte,\ float,\ double,\ long,\ int\)[^\r\n]*97\ 1\ 10\ 2345987\ 3\ 254775806\ 42\r\n} { incr okb; exp_continue }
84 -re {printMessage8\(short,\ char,\ boolean,\ byte,\ float,\ double,\ long,\ int\)[^\r\n]*14\ 97\ 1\ 10\ 2345987\ 3\ 254775806\ 42\r\n} { incr okb; exp_continue }
85 -re {printMessage9\(short,\ short,\ char,\ boolean,\ byte,\ float,\ double,\ long,\ int\)[^\r\n]*14\ 14\ 97\ 1\ 10\ 2345987\ 3\ 254775806\ 42\r\n} { incr okb; exp_continue }
86 -re {printMessage10\(short,\ short,\ short,\ char,\ boolean,\ byte,\ float,\ double,\ long,\ int\)[^\r\n]*14\ 14\ 14\ 97\ 1\ 10\ 2345987\ 3\ 254775806\ 42\r\n} { incr okb; exp_continue }
454524da
LB
87 timeout { fail "$test unexpected timeout" }
88}
89 if {$okb == 10} then {
90 pass "$test ($okb)"
91 } else {
92 fail "$test ($okb)"
93 }
94
95catch {close}; catch {wait}
96catch {exec rm ./multiparams.class}
97
This page took 0.034648 seconds and 5 git commands to generate.