author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Wed, 18 Mar 2015 14:19:37 +0000 | |
changeset 72 | eb4eea3ebf4c |
parent 66 | 43c941cacd43 |
child 74 | d53d325c2930 |
permissions | -rw-r--r-- |
56
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'jv:libgdbs/tests' }" |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
"{ NameSpace: Smalltalk }" |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
GDBDebuggerTestCase subclass:#GDBDebuggerTestsR |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
instanceVariableNames:'' |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
classVariableNames:'' |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
poolDictionaries:'' |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
category:'GDB-Core-Tests' |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
! |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
!GDBDebuggerTestsR class methodsFor:'documentation'! |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
documentation |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
" |
66
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
16 |
Tests for GDBDebugger (using real test programs) |
56
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
[author:] |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
Jan Vrany <jan.vrany@fit.cvut.cz> |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
[instance variables:] |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
[class variables:] |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
[see also:] |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
" |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
! ! |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
!GDBDebuggerTestsR class methodsFor:'accessing'! |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
resources |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
^ Array with: GDBDebuggeesResource |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
"Created: / 28-02-2015 / 00:45:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
! ! |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
!GDBDebuggerTestsR methodsFor:'tests - basic'! |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
test_02 |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
| inferior1 thread1 frame1 frame2 | |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
debugger := GDBDebugger new. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
self assert: debugger isConnected. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
debugger executable: GDBDebuggeesResource current binaryFactorial. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
debugger send: 'b factorial'. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
|
63
29a7a3b4532b
Added conveniece API to ease debugger scripting (and testing)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
56
diff
changeset
|
49 |
debugger send: 'r' andWaitFor: GDBStoppedEvent. |
56
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
self assert: debugger inferiors size == 1. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
inferior1 := debugger inferiors anElement. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
self assert: inferior1 threads size == 1. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
thread1 := inferior1 threads anElement. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
self assert: thread1 stack size == 2. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
frame1 := thread1 stack first. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
frame2 := thread1 stack second. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
self assert: frame1 variables size == 1. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
self assert: frame1 variables first name = 'i'. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
self assert: frame2 variables size == 4. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
self assert: frame2 variables first name = 'argc'. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
self assert: frame2 variables second name = 'argv'. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
self assert: frame2 variables third name = 'i'. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
self assert: frame2 variables fourth name = 'f'. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
|
63
29a7a3b4532b
Added conveniece API to ease debugger scripting (and testing)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
56
diff
changeset
|
67 |
debugger send: 'd'. |
29a7a3b4532b
Added conveniece API to ease debugger scripting (and testing)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
56
diff
changeset
|
68 |
debugger send: 'c' andWaitFor: GDBThreadGroupExitedEvent. |
56
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
|
66
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
70 |
self assert: thread1 isDead |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
71 |
|
56
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
"Created: / 28-02-2015 / 00:55:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
66
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
73 |
"Modified: / 08-03-2015 / 09:11:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
74 |
! |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
75 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
76 |
test_03 |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
77 |
| inferior1 thread1 | |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
78 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
79 |
debugger := GDBDebugger new. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
80 |
self assert: debugger isConnected. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
81 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
82 |
debugger executable: GDBDebuggeesResource current binaryPressAnyKey. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
83 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
84 |
debugger send: (GDBMI_exec_run new). |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
85 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
86 |
self assert: debugger inferiors size == 1. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
87 |
inferior1 := debugger inferiors anElement. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
88 |
self assert: inferior1 threads size == 1. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
89 |
thread1 := inferior1 threads anElement. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
90 |
self assert: thread1 isRunning. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
91 |
|
72
eb4eea3ebf4c
Increate sequence number also when thread or thread group is stopped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
66
diff
changeset
|
92 |
debugger send: (GDBMI_exec_interrupt new arguments: #('--all')) andWaitFor: GDBStoppedEvent. |
66
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
93 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
94 |
self assert: thread1 isRunning not. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
95 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
96 |
debugger inferiorStdin nextPutLine:'X'. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
97 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
98 |
debugger send: 'c' andWaitFor: GDBThreadGroupExitedEvent. |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
99 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
100 |
"Created: / 08-03-2015 / 07:42:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
72
eb4eea3ebf4c
Increate sequence number also when thread or thread group is stopped
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
66
diff
changeset
|
101 |
"Modified: / 18-03-2015 / 14:01:43 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
56
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
! |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
test_basic_01 |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
| timeouted | |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
debugger := GDBDebugger new. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
self assert: debugger isConnected. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
timeouted := ([ |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
debugger send: (GDBMI_gdb_exit new). |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
true. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
] valueWithTimeout: 3 seconds) isNil. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
self assert: timeouted not. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
self assert: debugger isConnected not. |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
|
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
"Created: / 24-06-2014 / 09:06:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
"Modified (format): / 06-09-2014 / 02:16:28 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
! ! |
20989de12cfb
More work on variables + tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
|
66
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
121 |
!GDBDebuggerTestsR class methodsFor:'documentation'! |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
122 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
123 |
version_HG |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
124 |
|
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
125 |
^ '$Changeset: <not expanded> $' |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
126 |
! ! |
43c941cacd43
Added test for -exec-run & -exec-interrupt
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
63
diff
changeset
|
127 |