summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.base/cmd_parse.exp
blob: b97d944808d4480918c0eeadc8b306db341abe59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
if {![installtest_p]} {
    for {set i 0} { $i < 8} {incr i} {
        untested cmd_parse$i
    }
    return
}

spawn stap -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;close

spawn stap -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;close

spawn stap -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;close

spawn stap -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;close

spawn stap -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;close

spawn stap -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;close

spawn stap -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;close

spawn stap -l {vm.*}
expect {
    -timeout 60
    -re "vm.*" {pass "cmd_parse8"}
    timeout {fail "cmd_parse8: unexpected timeout"}
    eof {fail "cmd_parse8: unexpected EOF"}
}
wait;close

spawn stap -e {probe begin { printf("%d %s\n", argc, argv[$1]) exit() }} 1
expect {
    -timeout 60
    "1 1" { pass cmd_parse9 }
    timeout { fail "cmd_parse9 timeout" }
    eof { fail "cmd_parse9 eof" }
}
wait;close

spawn stap -e {probe begin { printf("%d %s\n", argc, argv[$1]) exit() }} 5 a b c d
expect {
    -timeout 60
    "5 d" { pass cmd_parse10 }
    timeout { fail "cmd_parse10 timeout" }
    eof { fail "cmd_parse10 eof" }
}
wait;close

spawn stap -e {probe begin { printf("%d %s\n", argc, argv[$1]) exit() }} 10 a b c d
expect {
    -timeout 60
    "5 " { pass cmd_parse11 }
    timeout { fail "cmd_parse11 timeout" }
    eof { fail "cmd_parse11 eof" }
}
wait;close

spawn stap -e {probe begin { printf("%d %s\n", argc, argv[0]) exit() }}
expect {
    -timeout 60
    "0 " { pass cmd_parse12 }
    timeout { fail "cmd_parse12 timeout" }
    eof { fail "cmd_parse12 eof" }
}
wait;close

spawn stap -L syscall.a*
expect {
    -timeout 60
    -re {(syscall\.a[_a-zA-Z0-9]*(\ [_a-zA-Z0-9\$]+:[^:]+?)+\r\n)+} { pass "cmd_parse13" }
    timeout {fail "cmd_parse13: unexpected timeout"}
    eof {fail "cmd_parse13: unexpected EOF"}
}
wait;close

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" }
}
wait;catch {close}