author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Thu, 07 Feb 2019 15:18:41 +0000 | |
changeset 175 | a04e1a36e888 |
parent 174 | 18ef81a3fee5 |
child 208 | b0d2028189fa |
permissions | -rw-r--r-- |
91
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
1 |
" |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
2 |
jv:libgdbs - GNU Debugger Interface Library |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
3 |
Copyright (C) 2015-now Jan Vrany |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
4 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
5 |
This library is free software; you can redistribute it and/or |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
6 |
modify it under the terms of the GNU Lesser General Public |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
7 |
License as published by the Free Software Foundation; either |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
8 |
version 2.1 of the License. |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
9 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
10 |
This library is distributed in the hope that it will be useful, |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
11 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
12 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
13 |
Lesser General Public License for more details. |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
14 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
15 |
You should have received a copy of the GNU Lesser General Public |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
16 |
License along with this library; if not, write to the Free Software |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
17 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
18 |
" |
2
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
"{ Package: 'jv:libgdbs/tests' }" |
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
|
53 | 21 |
"{ NameSpace: Smalltalk }" |
22 |
||
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
23 |
TestCase subclass:#GDBMIParserTests |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
24 |
instanceVariableNames:'properties prop1 prop2 prop3' |
2
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
classVariableNames:'' |
6 | 26 |
poolDictionaries:'GDBCommandStatus' |
3
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
27 |
category:'GDB-Private-Tests' |
2
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
! |
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
|
91
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
30 |
!GDBMIParserTests class methodsFor:'documentation'! |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
31 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
32 |
copyright |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
33 |
" |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
34 |
jv:libgdbs - GNU Debugger Interface Library |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
35 |
Copyright (C) 2015-now Jan Vrany |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
36 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
37 |
This library is free software; you can redistribute it and/or |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
38 |
modify it under the terms of the GNU Lesser General Public |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
39 |
License as published by the Free Software Foundation; either |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
40 |
version 2.1 of the License. |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
41 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
42 |
This library is distributed in the hope that it will be useful, |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
43 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
44 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
45 |
Lesser General Public License for more details. |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
46 |
|
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
47 |
You should have received a copy of the GNU Lesser General Public |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
48 |
License along with this library; if not, write to the Free Software |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
49 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
50 |
" |
472a4841a8b6
License this package under 'GNU Lesser General Public License'
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
89
diff
changeset
|
51 |
! ! |
6 | 52 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
53 |
!GDBMIParserTests methodsFor:'accessing'! |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
54 |
|
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
55 |
prop1 |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
56 |
^ prop1 |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
57 |
! |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
58 |
|
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
59 |
prop2 |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
60 |
^ prop2 |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
61 |
! |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
62 |
|
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
63 |
prop3 |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
64 |
^ prop3 |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
65 |
! ! |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
66 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
67 |
!GDBMIParserTests methodsFor:'accessing-properties'! |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
68 |
|
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
69 |
properties |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
70 |
^ GDBObject getPropertiesOf: self. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
71 |
|
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
72 |
"Modified: / 20-06-2014 / 09:04:23 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
73 |
! |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
74 |
|
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
75 |
propertyAt: name |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
76 |
^ GDBObject getProperty: name of: self |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
77 |
|
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
78 |
"Created: / 31-05-2014 / 00:00:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
79 |
"Modified: / 20-06-2014 / 09:05:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
80 |
! |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
81 |
|
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
82 |
propertyAt: name put: value |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
83 |
^ GDBObject setProperty: name of: self to: value |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
84 |
|
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
85 |
"Created: / 31-05-2014 / 00:01:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
86 |
"Modified: / 20-06-2014 / 09:05:34 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
87 |
! ! |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
88 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
89 |
!GDBMIParserTests methodsFor:'running'! |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
90 |
|
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
91 |
setUp |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
92 |
Magritte::MADescriptionBuilder default flush. |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
93 |
|
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
94 |
"Created: / 11-11-2017 / 12:02:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
95 |
! |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
96 |
|
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
97 |
tearDown |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
98 |
properties := nil. |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
99 |
|
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
100 |
"Created: / 18-06-2014 / 07:59:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
101 |
! ! |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
102 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
103 |
!GDBMIParserTests methodsFor:'tests - C strings'! |
2
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
|
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
test_c_string_01 |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
106 |
self assert:(GDBMIParser on:'"Hello" xxx') parseCString = 'Hello'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
107 |
self assert:(GDBMIParser on:'"\"Hello\"" xxx') parseCString = '"Hello"'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
108 |
self assert:(GDBMIParser on:'"\H\e\l\l\o" xxx') parseCString = 'Hello'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
109 |
self assert:(GDBMIParser on:'"Hel\nlo" xxx') parseCString = 'Hel |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
110 |
lo'. |
104
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
111 |
self assert:(GDBMIParser on:'"X\xE1X" xxx') parseCString = ('X', (Character codePoint: 16rE1), 'X'). |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
112 |
self |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
113 |
assert:(GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
114 |
on:'"warning: File \"/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/stx/.gdbinit\" auto-loading has been declined by your `auto-load safe-path'' set to \"$debugdir:$datadir/auto-load\".\n"') |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
115 |
parseCString |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
116 |
= 'warning: File "/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/stx/.gdbinit" auto-loading has been declined by your `auto-load safe-path'' set to "$debugdir:$datadir/auto-load". |
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
117 |
'. |
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
118 |
|
2
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
"Created: / 28-05-2014 / 00:05:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
104
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
120 |
"Modified: / 15-02-2018 / 08:55:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
106
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
121 |
"Modified: / 04-02-2018 / 21:59:27 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
2
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
122 |
! ! |
a96eb336dbd3
More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
123 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
124 |
!GDBMIParserTests methodsFor:'tests - commands'! |
18
6bf3d5c400d1
Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
125 |
|
27
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
126 |
test_command_01 |
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
127 |
| command | |
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
128 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
129 |
command := (GDBMIParser on:'b factorial') parseCommand. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
130 |
self assert:command isCLICommand. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
131 |
self assert:command token isNil. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
132 |
self assert:command value = 'b factorial'. |
174
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
133 |
self assert:command operation = 'break'. |
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
134 |
self assert:command runOnBackground not. |
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
135 |
|
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
136 |
command := (GDBMIParser on:'cont & ') parseCommand. |
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
137 |
self assert:command isCLICommand. |
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
138 |
self assert:command token isNil. |
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
139 |
self assert:command value = 'cont '. |
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
140 |
self assert:command operation = 'continue'. |
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
141 |
self assert:command runOnBackground. |
27
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
142 |
|
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
143 |
"Created: / 24-06-2014 / 23:21:41 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
174
18ef81a3fee5
Add `GDBCLICommand >> #operation` returning (expanded) CLI command
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
126
diff
changeset
|
144 |
"Modified: / 28-01-2019 / 23:05:41 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
27
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
145 |
! |
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
146 |
|
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
147 |
test_command_02 |
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
148 |
| command | |
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
149 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
150 |
command := (GDBMIParser on:'-gdb-exit') parseCommand. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
151 |
self assert:command isMICommand. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
152 |
self assert:command class == GDBMI_gdb_exit. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
153 |
self assert:command arguments isEmpty |
27
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
154 |
|
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
155 |
"Created: / 24-06-2014 / 23:29:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
156 |
! ! |
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
157 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
158 |
!GDBMIParserTests methodsFor:'tests - commands reponses'! |
27
e7e01078d9c4
Temporary commit - more on process simulator
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
20
diff
changeset
|
159 |
|
87
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
160 |
test_command_break_created_01 |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
161 |
| parser events | |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
162 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
163 |
parser := GDBMIParser |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
164 |
on:'=breakpoint-created,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0xf3416ac0",func="__STX_AddTimeout",file="util.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/stx_8_0_0_x32_lin/build/stx/librun/util.c",line="143",thread-groups=["i1"],times="0",original-location="__STX_AddTimeout"} |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
165 |
'. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
166 |
events := parser parseOutput. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
167 |
self assert:events size == 1. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
168 |
self assert:events first class == GDBBreakpointCreatedEvent. |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
169 |
|
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
170 |
"Created: / 11-07-2017 / 10:07:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
171 |
! |
50e80d25ea6f
Added initial support for breakppints.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
84
diff
changeset
|
172 |
|
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
173 |
test_command_break_created_02 |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
174 |
| parser events | |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
175 |
|
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
176 |
parser := GDBMIParser |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
177 |
on:'=breakpoint-created,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="<MULTIPLE>",times="0",original-location="stxThinLock"},{number="1.1",enabled="y",addr="0x00007fffeb6a0423",func="stxJ_MONITORENTER",file="../include/thinlocks.h",fullname="/home/jv/Private/Projects/SmalltalkX/sources/feature-94-revamp-thinlocks/build/stx/stc/thinlocks.h",line="127",thread-groups=["i1"]},{number="1.2",enabled="y",addr="0x00007ffff4c3b129",func="stxThinLock",file="../include/thinlocks.h",fullname="/home/jv/Private/Projects/SmalltalkX/sources/feature-94-revamp-thinlocks/build/stx/stc/thinlocks.h",line="128",thread-groups=["i1"]} |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
178 |
'. |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
179 |
events := parser parseOutput. |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
180 |
self assert:events size == 1. |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
181 |
self assert:events first class == GDBBreakpointCreatedEvent. |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
182 |
|
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
183 |
"Created: / 03-10-2017 / 11:20:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
184 |
! |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
185 |
|
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
186 |
test_command_break_list_01 |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
187 |
| parser events | |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
188 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
189 |
parser := GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
190 |
on:'1^done,BreakpointTable={nr_rows="1",nr_cols="6",hdr=[{width="3",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x000100d0",func="main",file="hello.c",fullname="/home/foo/hello.c",line="5",thread-groups=["i1"],times="0",ignore="3"}]} |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
191 |
'. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
192 |
parser token2CommandMappingBlock:[:token | GDBMI_break_list new ]. |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
193 |
events := parser parseOutput. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
194 |
self assert:events size == 1. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
195 |
self assert:(events first result propertyAt:'BreakpointTable') notNil. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
196 |
self |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
197 |
assert:((events first result propertyAt:'BreakpointTable') at:'body') |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
198 |
notNil. |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
199 |
|
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
200 |
"Created: / 20-06-2014 / 09:08:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
201 |
! |
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
202 |
|
84
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
203 |
test_command_break_modified_01 |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
204 |
| parser events | |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
205 |
|
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
206 |
parser := GDBMIParser |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
207 |
on:'=breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0xf33f4daf",func="_mark",file="new.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/stx_8_0_0_x32_lin/build/stx/librun/new.c",line="18538",thread-groups=["i1"],times="0",script={"set $x = $x + 1","c"},original-location="_mark"} |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
208 |
'. |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
209 |
events := parser parseOutput. |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
210 |
self assert:events size == 1. |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
211 |
self assert:events first class == GDBBreakpointModifiedEvent. |
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
212 |
self assert:(events first breakpoints first propertyAt:'script') = ('set $x = $x + 1', Character cr , 'c') |
84
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
213 |
|
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
214 |
"Created: / 06-07-2017 / 07:47:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
215 |
"Modified: / 12-11-2017 / 20:18:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
216 |
! |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
217 |
|
97
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
218 |
test_command_data_read_memory_01 |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
219 |
| parser events result | |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
220 |
|
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
221 |
parser := GDBMIParser |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
222 |
on:('9^done,addr="0x00001390",nr-bytes="6",total-bytes="6", |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
223 |
next-row="0x00001396",prev-row="0x0000138e",next-page="0x00001396", |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
224 |
prev-page="0x0000138a",memory=[ |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
225 |
{addr="0x00001390",data=["0x00","0x01"]}, |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
226 |
{addr="0x00001392",data=["0x02","0x03"]}, |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
227 |
{addr="0x00001394",data=["0x04","0x05"]}]' asStringCollection asStringWith:''). |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
228 |
parser token2CommandMappingBlock:[:token | GDBMI_data_read_memory new ]. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
229 |
events := parser parseOutput. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
230 |
|
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
231 |
self assert:events size == 1. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
232 |
result := events first result. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
233 |
|
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
234 |
self assert:((result value) isKindOf: GDBMemoryDump). |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
235 |
self assert: (result value) addr = '0x00001390'. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
236 |
self assert: (result value) memory size = 3. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
237 |
|
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
238 |
"Created: / 24-01-2018 / 08:55:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
239 |
"Modified: / 25-01-2018 / 09:07:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
240 |
! |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
241 |
|
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
242 |
test_command_data_read_memory_02 |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
243 |
| parser events result | |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
244 |
|
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
245 |
parser := GDBMIParser |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
246 |
on:('4^done,addr="0x000013a0",nr-bytes="32",total-bytes="32", |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
247 |
next-row="0x000013c0",prev-row="0x0000139c", |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
248 |
next-page="0x000013c0",prev-page="0x00001380",memory=[ |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
249 |
{addr="0x000013a0",data=["0x10","0x11","0x12","0x13"],ascii="xxxx"}, |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
250 |
{addr="0x000013a4",data=["0x14","0x15","0x16","0x17"],ascii="xxxx"}, |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
251 |
{addr="0x000013a8",data=["0x18","0x19","0x1a","0x1b"],ascii="xxxx"}, |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
252 |
{addr="0x000013ac",data=["0x1c","0x1d","0x1e","0x1f"],ascii="xxxx"}, |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
253 |
{addr="0x000013b0",data=["0x20","0x21","0x22","0x23"],ascii=" !!\"#"}, |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
254 |
{addr="0x000013b4",data=["0x24","0x25","0x26","0x27"],ascii="$%&''"}, |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
255 |
{addr="0x000013b8",data=["0x28","0x29","0x2a","0x2b"],ascii="()*+"}, |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
256 |
{addr="0x000013bc",data=["0x2c","0x2d","0x2e","0x2f"],ascii=",-./"}]' asStringCollection asStringWith:''). |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
257 |
parser token2CommandMappingBlock:[:token | GDBMI_data_read_memory new ]. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
258 |
events := parser parseOutput. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
259 |
|
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
260 |
self assert:events size == 1. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
261 |
result := events first result. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
262 |
|
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
263 |
self assert:((result value) isKindOf: GDBMemoryDump). |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
264 |
self assert: (result value) addr = '0x000013a0'. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
265 |
self assert: (result value) memory size = 8. |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
266 |
|
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
267 |
"Created: / 25-01-2018 / 22:53:50 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
268 |
! |
b17c889076e4
Added API for memory dumps
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
95
diff
changeset
|
269 |
|
79
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
270 |
test_command_gdb_exit |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
271 |
| parser events result | |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
272 |
|
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
273 |
parser := GDBMIParser |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
274 |
on:'1^exit'. |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
275 |
parser token2CommandMappingBlock:[:token | GDBMI_gdb_exit new ]. |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
276 |
events := parser parseOutput. |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
277 |
|
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
278 |
self assert:events size == 1. |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
279 |
result := events first result. |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
280 |
|
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
281 |
self assert:result value isNil. |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
282 |
|
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
283 |
"Created: / 31-05-2017 / 21:19:27 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
284 |
! |
303c4edc75ad
`GDBProcess` refatored to have console interpreter on STDIN/STDOUT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
77
diff
changeset
|
285 |
|
18
6bf3d5c400d1
Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
286 |
test_command_stack_list_frames_01 |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
287 |
| parser events | |
18
6bf3d5c400d1
Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
288 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
289 |
parser := GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
290 |
on:'1^done,stack=[frame={level="0",addr="0x00010734",func="callee4",file="../../../devo/gdb/testsuite/gdb.mi/basics.c",fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="8"},frame={level="1",addr="0x0001076c",func="callee3",file="../../../devo/gdb/testsuite/gdb.mi/basics.c",fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="17"},frame={level="2",addr="0x0001078c",func="callee2",file="../../../devo/gdb/testsuite/gdb.mi/basics.c",fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="22"},frame={level="3",addr="0x000107b4",func="callee1",file="../../../devo/gdb/testsuite/gdb.mi/basics.c",fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="27"},frame={level="4",addr="0x000107e0",func="main",file="../../../devo/gdb/testsuite/gdb.mi/basics.c",fullname="/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c",line="32"}] |
18
6bf3d5c400d1
Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
291 |
'. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
292 |
parser token2CommandMappingBlock:[:token | GDBMI_stack_list_frames new ]. |
18
6bf3d5c400d1
Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
293 |
events := parser parseOutput. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
294 |
self assert:events size == 1. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
295 |
self assert:(events first result propertyAt:'stack') size == 5. |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
296 |
|
18
6bf3d5c400d1
Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
297 |
"Created: / 19-06-2014 / 22:00:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
20
76ac209277a7
Unified implementation of #propertyAt: & #propertyAt:put:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
18
diff
changeset
|
298 |
"Modified: / 20-06-2014 / 09:18:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
67
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
299 |
! |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
300 |
|
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
301 |
test_command_thread_info_01 |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
302 |
| parser events result | |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
303 |
|
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
304 |
parser := GDBMIParser |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
305 |
on:'1^done,threads=[{id="2",target-id="Thread 0xb7e14b90 (LWP 21257)",frame={level="0",addr="0xffffe410",func="__kernel_vsyscall",args=[]},state="running"},{id="1",target-id="Thread 0xb7e156b0 (LWP 21254)",frame={level="0",addr="0x0804891f",func="foo",args=[{name="i",value="10"}],file="/tmp/a.c",fullname="/tmp/a.c",line="158"},state="running"}],current-thread-id="1"'. ''. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
306 |
parser token2CommandMappingBlock:[:token | GDBMI_thread_info new ]. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
307 |
events := parser parseOutput. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
308 |
|
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
309 |
self assert:events size == 1. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
310 |
result := events first result. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
311 |
|
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
312 |
self assert: (result propertyAt: 'current-thread-id') = '1'. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
313 |
self assert: (result propertyAt:'threads') size == 2. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
314 |
self assert:((result propertyAt:'threads') first isKindOf: GDBThreadInfo). |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
315 |
self assert: (result propertyAt:'threads') first id = 2. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
316 |
self assert: (result propertyAt:'threads') first targetId = 'Thread 0xb7e14b90 (LWP 21257)'. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
317 |
self assert: (result propertyAt:'threads') first state == GDBThreadStateRunning theOneAndOnlyInstance. |
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
318 |
|
c4ac76afe03d
Keep thread information in transient thread-info object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
53
diff
changeset
|
319 |
"Created: / 08-03-2015 / 08:13:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
74
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
320 |
! |
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
321 |
|
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
322 |
test_command_var_create_01 |
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
323 |
| parser events result | |
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
324 |
|
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
325 |
parser := GDBMIParser |
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
326 |
on:'14^done,name="var1",numchild="0",value="5",type="int",thread-id="1",has_more="0"'. |
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
327 |
parser token2CommandMappingBlock:[:token | GDBMI_var_create new ]. |
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
328 |
events := parser parseOutput. |
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
329 |
|
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
330 |
self assert:events size == 1. |
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
331 |
result := events first result. |
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
332 |
|
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
333 |
self assert:((result value) isKindOf: GDBVariableObject). |
101
d8fee2af20b2
Variable objects: added support for composite types
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
99
diff
changeset
|
334 |
self assert: (result value) id = 'var1'. |
106
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
335 |
self assert:((result value) instVarNamed: #value) = '5'. |
74
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
336 |
|
d53d325c2930
Initial work on varobjs. Tests locks up an image, should be polished and folded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
72
diff
changeset
|
337 |
"Created: / 19-03-2015 / 07:46:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
106
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
338 |
"Modified: / 15-02-2018 / 09:18:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
99
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
339 |
! |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
340 |
|
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
341 |
test_command_var_create_02 |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
342 |
| parser events result | |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
343 |
|
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
344 |
parser := GDBMIParser |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
345 |
on:'212^error,msg="Cannot instantiate printer for default visualizer"'. |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
346 |
parser token2CommandMappingBlock:[:token | GDBMI_var_create new ]. |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
347 |
events := parser parseOutput. |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
348 |
|
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
349 |
self assert:events size == 1. |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
350 |
result := events first result. |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
351 |
|
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
352 |
self assert: result isError. |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
353 |
self assert: (result propertyAt: #msg) = 'Cannot instantiate printer for default visualizer'. |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
354 |
self assert: result value isNil. |
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
355 |
|
56b66436a713
Fixed MI parser to correctly parse command error responses
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
97
diff
changeset
|
356 |
"Created: / 02-02-2018 / 09:27:51 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
104
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
357 |
|
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
358 |
! |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
359 |
|
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
360 |
test_command_var_update_01 |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
361 |
| parser events result changelist | |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
362 |
|
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
363 |
parser := GDBMIParser |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
364 |
on:('3^done,changelist=[{name="var1",value="3",in_scope="true", |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
365 |
type_changed="false"}]' asStringCollection asStringWith:''). |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
366 |
parser token2CommandMappingBlock:[:token | GDBMI_var_update new ]. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
367 |
events := parser parseOutput. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
368 |
|
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
369 |
self assert:events size == 1. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
370 |
result := events first result. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
371 |
changelist := result propertyAt: #changelist. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
372 |
|
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
373 |
self assert: changelist size == 1. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
374 |
self assert:(changelist first isKindOf: GDBVariableObjectChange). |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
375 |
self assert:(changelist first id = 'var1'). |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
376 |
self assert:(changelist first value = '3'). |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
377 |
self assert:(changelist first isInvalid = false). |
106
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
378 |
self assert:(changelist first inScope = true) |
104
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
379 |
|
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
380 |
"Created: / 29-01-2018 / 20:21:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
106
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
381 |
"Modified: / 12-02-2018 / 22:15:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
126
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
382 |
! |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
383 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
384 |
test_data_disassemble_01 |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
385 |
| parser events result lines | |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
386 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
387 |
parser := GDBMIParser |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
388 |
on:('8^done,asm_insns=[src_and_asm_line={line="3",file="factorial1.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/stx_8_0_0/build/jv/libgdbs/tests/c/factorial1.c",line_asm_insn=[{address="0x000000000000064a",func-name="factorial",offset="0",opcodes="55",inst="push %rbp"},{address="0x000000000000064b",func-name="factorial",offset="1",opcodes="48 89 e5",inst="mov %rsp,%rbp"},{address="0x000000000000064e",func-name="factorial",offset="4",opcodes="48 83 ec 10",inst="sub $0x10,%rsp"},{address="0x0000000000000652",func-name="factorial",offset="8",opcodes="89 7d fc",inst="mov %edi,-0x4(%rbp)"}]},src_and_asm_line={line="4",file="factorial1.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/stx_8_0_0/build/jv/libgdbs/tests/c/factorial1.c",line_asm_insn=[{address="0x0000000000000655",func-name="factorial",offset="11",opcodes="83 7d fc 01",inst="cmpl $0x1,-0x4(%rbp)"},{address="0x0000000000000659",func-name="factorial",offset="15",opcodes="75 07",inst="jne 0x662 <factorial+24>"}]},src_and_asm_line={line="5",file="factorial1.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/stx_8_0_0/build/jv/libgdbs/tests/c/factorial1.c",line_asm_insn=[{address="0x000000000000065b",func-name="factorial",offset="17",opcodes="b8 01 00 00 00",inst="mov $0x1,%eax"},{address="0x0000000000000660",func-name="factorial",offset="22",opcodes="eb 11",inst="jmp 0x673 <factorial+41>"}]},src_and_asm_line={line="6",file="factorial1.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/stx_8_0_0/build/jv/libgdbs/tests/c/factorial1.c",line_asm_insn=[]},src_and_asm_line={line="7",file="factorial1.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/stx_8_0_0/build/jv/libgdbs/tests/c/factorial1.c",line_asm_insn=[{address="0x0000000000000662",func-name="factorial",offset="24",opcodes="8b 45 fc",inst="mov -0x4(%rbp),%eax"},{address="0x0000000000000665",func-name="factorial",offset="27",opcodes="83 e8 01",inst="sub $0x1,%eax"},{address="0x0000000000000668",func-name="factorial",offset="30",opcodes="89 c7",inst="mov %eax,%edi"},{address="0x000000000000066a",func-name="factorial",offset="32",opcodes="e8 db ff ff ff",inst="callq 0x64a <factorial>"},{address="0x000000000000066f",func-name="factorial",offset="37",opcodes="0f af 45 fc",inst="imul -0x4(%rbp),%eax"}]},src_and_asm_line={line="8",file="factorial1.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/stx_8_0_0/build/jv/libgdbs/tests/c/factorial1.c",line_asm_insn=[]},src_and_asm_line={line="9",file="factorial1.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/stx_8_0_0/build/jv/libgdbs/tests/c/factorial1.c",line_asm_insn=[{address="0x0000000000000673",func-name="factorial",offset="41",opcodes="c9",inst="leaveq "},{address="0x0000000000000674",func-name="factorial",offset="42",opcodes="c3",inst="retq "}]}]'). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
389 |
parser token2CommandMappingBlock:[:token | GDBMI_data_disassemble new ]. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
390 |
events := parser parseOutput. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
391 |
self assert:events size == 1. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
392 |
result := events first result. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
393 |
lines := result propertyAt:#'asm_insns'. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
394 |
self assert: lines isSequenceable. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
395 |
self assert:(lines first isKindOf:GDBInstructionsAndSourceLine). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
396 |
self assert:(lines first instructions isSequenceable). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
397 |
self assert:(lines first instructions first isKindOf: GDBInstruction). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
398 |
self assert:(lines first instructions first opcodes isByteArray). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
399 |
self assert:(lines first instructions first address isInteger). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
400 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
401 |
"Modified: / 03-07-2018 / 14:44:21 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
402 |
! |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
403 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
404 |
test_data_disassemble_02 |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
405 |
| parser events result lines | |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
406 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
407 |
parser := GDBMIParser |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
408 |
on:('67^done,asm_insns=[{address="0x000000000070b748",func-name="bee!!JITObjectReference>>#sourceOffset:",offset="0",opcodes="48 89 c6",inst="mov %rax,%rsi"},{address="0x000000000070b74b",func-name="bee!!JITObjectReference>>#sourceOffset:",offset="3",opcodes="48 8b 44 24 08",inst="mov 0x8(%rsp),%rax"}]'). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
409 |
parser token2CommandMappingBlock:[:token | GDBMI_data_disassemble new ]. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
410 |
events := parser parseOutput. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
411 |
self assert:events size == 1. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
412 |
result := events first result. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
413 |
lines := result propertyAt:#'asm_insns'. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
414 |
self assert: lines isSequenceable. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
415 |
self assert:(lines first isKindOf:GDBInstruction). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
416 |
self assert:(lines first opcodes isByteArray). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
417 |
self assert:(lines first address isInteger). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
418 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
419 |
"Created: / 03-07-2018 / 17:12:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
18
6bf3d5c400d1
Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
420 |
! ! |
6bf3d5c400d1
Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
421 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
422 |
!GDBMIParserTests methodsFor:'tests - examples'! |
3
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
423 |
|
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
424 |
test_simple_example_01 |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
425 |
| parser events | |
3
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
426 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
427 |
parser := GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
428 |
on:'^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x08048564",func="main",file="myprog.c",fullname="/home/nickrob/myprog.c",line="68",thread-groups=["i1"],times="0"} |
3
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
429 |
(gdb) |
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
430 |
'. |
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
431 |
events := parser parseOutput. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
432 |
self assert:events size == 1. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
433 |
self assert:events first isCommandResultEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
434 |
self assert:events first result status == CommandStatusDone. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
435 |
self |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
436 |
assert:((events first result propertyAt:'bkpt') at:'addr') = '0x08048564' |
3
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
437 |
|
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
438 |
"Created: / 30-05-2014 / 23:53:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
18
6bf3d5c400d1
Make GDBEvent and GDBCommandResult also described by value descriptor...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
17
diff
changeset
|
439 |
"Modified: / 19-06-2014 / 21:55:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
440 |
! |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
441 |
|
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
442 |
test_simple_example_02 |
53 | 443 |
| input parser events | |
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
444 |
|
53 | 445 |
|
446 |
input := '1234*running |
|
11
474fbb650afe
PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
447 |
1234^done |
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
448 |
(gdb) |
53 | 449 |
' readStream. |
450 |
parser := GDBMIParser on: input. |
|
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
451 |
events := parser parseOutput. |
53 | 452 |
self assert:events size == 1. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
453 |
self assert:events first token == 1234. |
53 | 454 |
|
455 |
parser := GDBMIParser on: input. |
|
456 |
events := parser parseOutput. |
|
457 |
self assert:events size == 1. |
|
458 |
self assert:events first isCommandResultEvent. |
|
459 |
self assert:events first result status == CommandStatusDone. |
|
460 |
self assert:events first token == 1234 |
|
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
461 |
|
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
462 |
"Created: / 03-06-2014 / 00:50:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
53 | 463 |
"Modified: / 27-02-2015 / 09:24:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
464 |
! |
7f4882e2562a
More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
465 |
|
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
466 |
test_simple_session_01 |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
467 |
| parser events | |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
468 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
469 |
parser := GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
470 |
on:'~"GNU gdb (GDB) 7.5-ubuntu\n" |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
471 |
~"Copyright (C) 2012 Free Software Foundation, Inc.\n" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
472 |
~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law. Type \"show copying\"\nand \"show warranty\" for details.\n" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
473 |
~"This GDB was configured as \"x86_64-linux-gnu\".\nFor bug reporting instructions, please see:\n" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
474 |
~"<http://www.gnu.org/software/gdb/bugs/>...\n" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
475 |
~"Reading symbols from /home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial..." |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
476 |
~"done.\n" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
477 |
(gdb) |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
478 |
'. |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
479 |
events := parser parseOutput. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
480 |
self assert:events size == 7. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
481 |
self assert:events first isConsoleOutputEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
482 |
self assert:events first value = 'GNU gdb (GDB) 7.5-ubuntu |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
483 |
'. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
484 |
self assert:events last isConsoleOutputEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
485 |
self assert:events last value = 'done. |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
486 |
'. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
487 |
parser := GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
488 |
on:'^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000400556",func="main",file="factorial.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial.c",line="12",times="0",original-location="main"} |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
489 |
(gdb) |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
490 |
'. |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
491 |
events := parser parseOutput. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
492 |
self assert:events size == 1. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
493 |
self assert:events first result status == CommandStatusDone. |
77
305094ae9fd9
Removed simulated test - as the interface to GDB changes, recorded sessions are no longer valid.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
74
diff
changeset
|
494 |
self assert:((events first result propertyAt:'bkpt') at:'addr') |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
495 |
= '0x0000000000400556'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
496 |
parser := GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
497 |
on:'~"Breakpoint 2 at 0x400527: file factorial.c, line 4.\n" |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
498 |
=breakpoint-created,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000400527",func="factorial",file="factorial.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial.c",line="4",times="0",original-location="factorial"} |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
499 |
^done |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
500 |
(gdb) |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
501 |
'. |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
502 |
events := parser parseOutput. |
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
503 |
self assert:events size == 2. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
504 |
self assert:events first isConsoleOutputEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
505 |
self assert:events first value |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
506 |
= 'Breakpoint 2 at 0x400527: file factorial.c, line 4. |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
507 |
'. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
508 |
self assert:events second isNotificationEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
509 |
self assert:events second class == GDBBreakpointCreatedEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
510 |
self assert:events second type = 'breakpoint-created'. |
89
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
511 |
self assert:events second breakpoints size == 1. |
ba62d486014f
Initial support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
87
diff
changeset
|
512 |
self assert:events second breakpoints first class == GDBBreakpoint. |
120
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
106
diff
changeset
|
513 |
self assert:events second breakpoints first number = '2'. |
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
106
diff
changeset
|
514 |
self assert:events second breakpoints first file = 'factorial.c'. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
515 |
parser := GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
516 |
on:'&"info break\n" |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
517 |
~"Num Type Disp Enb Address What\n" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
518 |
~"1 breakpoint keep y 0x0000000000400556 in main at factorial.c:12\n" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
519 |
~"2 breakpoint keep y 0x0000000000400527 in factorial at factorial.c:4\n" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
520 |
^done |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
521 |
(gdb) |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
522 |
'. |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
523 |
events := parser parseOutput. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
524 |
self assert:events size == 5. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
525 |
self assert:events first isLogOutputEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
526 |
self assert:events first value = 'info break |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
527 |
'. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
528 |
self assert:events second isConsoleOutputEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
529 |
self assert:events third isConsoleOutputEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
530 |
self assert:events fourth isConsoleOutputEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
531 |
self assert:events fifth isCommandResultEvent. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
532 |
parser := GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
533 |
on:'&"run\n" |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
534 |
~"Starting program: /home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial \n" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
535 |
=thread-group-started,id="i1",pid="17240" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
536 |
=thread-created,id="1",group-id="i1" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
537 |
^running |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
538 |
*running,thread-id="all" |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
539 |
(gdb) |
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
540 |
'. |
92
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
541 |
"/ Note that parser yields anb output after first async event, |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
542 |
"/ so to parse all events in the above input we have to call |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
543 |
"/ parseOutput couple times |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
544 |
events := parser parseOutput. |
92
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
545 |
self assert:events size == 3. |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
546 |
self assert:events first isLogOutputEvent. |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
547 |
self assert:events second isConsoleOutputEvent. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
548 |
self assert:events third type = 'thread-group-started'. |
92
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
549 |
self assert:events third threadGroupId = 'i1' |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
550 |
. |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
551 |
events := parser parseOutput. |
92
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
552 |
self assert:events size == 1. |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
553 |
self assert:events first type = 'thread-created'. |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
554 |
self assert:events first threadId = 1. |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
555 |
|
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
556 |
events := parser parseOutput. |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
557 |
self assert:events size == 2. |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
558 |
self assert:events first isCommandResultEvent. |
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
559 |
self assert:events second type = 'running'. |
4
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
560 |
|
62366cc0fd95
Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
561 |
"Created: / 01-06-2014 / 22:57:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
92
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
562 |
"Modified: / 27-11-2017 / 20:29:34 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
563 |
! |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
564 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
565 |
test_simple_session_01_crlf |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
566 |
| parser events | |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
567 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
568 |
parser := GDBMIParser |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
569 |
on:('~"GNU gdb (GDB) 7.5-ubuntu\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
570 |
~"Copyright (C) 2012 Free Software Foundation, Inc.\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
571 |
~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law. Type \"show copying\"\nand \"show warranty\" for details.\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
572 |
~"This GDB was configured as \"x86_64-linux-gnu\".\nFor bug reporting instructions, please see:\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
573 |
~"<http://www.gnu.org/software/gdb/bugs/>...\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
574 |
~"Reading symbols from /home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial..." |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
575 |
~"done.\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
576 |
(gdb) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
577 |
' asStringCollection asStringWith: (Character return, Character lf)). |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
578 |
events := parser parseOutput. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
579 |
self assert:events size == 7. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
580 |
self assert:events first isConsoleOutputEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
581 |
self assert:events first value = 'GNU gdb (GDB) 7.5-ubuntu |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
582 |
'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
583 |
self assert:events last isConsoleOutputEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
584 |
self assert:events last value = 'done. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
585 |
'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
586 |
parser := GDBMIParser |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
587 |
on:'^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000400556",func="main",file="factorial.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial.c",line="12",times="0",original-location="main"} |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
588 |
(gdb) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
589 |
'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
590 |
events := parser parseOutput. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
591 |
self assert:events size == 1. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
592 |
self assert:events first result status == CommandStatusDone. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
593 |
self assert:((events first result propertyAt:'bkpt') at:'addr') |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
594 |
= '0x0000000000400556'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
595 |
parser := GDBMIParser |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
596 |
on:'~"Breakpoint 2 at 0x400527: file factorial.c, line 4.\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
597 |
=breakpoint-created,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000400527",func="factorial",file="factorial.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial.c",line="4",times="0",original-location="factorial"} |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
598 |
^done |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
599 |
(gdb) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
600 |
'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
601 |
events := parser parseOutput. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
602 |
self assert:events size == 2. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
603 |
self assert:events first isConsoleOutputEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
604 |
self assert:events first value |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
605 |
= 'Breakpoint 2 at 0x400527: file factorial.c, line 4. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
606 |
'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
607 |
self assert:events second isNotificationEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
608 |
self assert:events second class == GDBBreakpointCreatedEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
609 |
self assert:events second type = 'breakpoint-created'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
610 |
self assert:events second breakpoints size == 1. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
611 |
self assert:events second breakpoints first class == GDBBreakpoint. |
120
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
106
diff
changeset
|
612 |
self assert:events second breakpoints first number = '2'. |
73877848ea7f
Added support for breakpoints with multiple locations
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
106
diff
changeset
|
613 |
self assert:events second breakpoints first file = 'factorial.c'. |
95
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
614 |
parser := GDBMIParser |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
615 |
on:'&"info break\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
616 |
~"Num Type Disp Enb Address What\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
617 |
~"1 breakpoint keep y 0x0000000000400556 in main at factorial.c:12\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
618 |
~"2 breakpoint keep y 0x0000000000400527 in factorial at factorial.c:4\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
619 |
^done |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
620 |
(gdb) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
621 |
'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
622 |
events := parser parseOutput. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
623 |
self assert:events size == 5. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
624 |
self assert:events first isLogOutputEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
625 |
self assert:events first value = 'info break |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
626 |
'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
627 |
self assert:events second isConsoleOutputEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
628 |
self assert:events third isConsoleOutputEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
629 |
self assert:events fourth isConsoleOutputEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
630 |
self assert:events fifth isCommandResultEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
631 |
parser := GDBMIParser |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
632 |
on:'&"run\n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
633 |
~"Starting program: /home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial \n" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
634 |
=thread-group-started,id="i1",pid="17240" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
635 |
=thread-created,id="1",group-id="i1" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
636 |
^running |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
637 |
*running,thread-id="all" |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
638 |
(gdb) |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
639 |
'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
640 |
"/ Note that parser yields anb output after first async event, |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
641 |
"/ so to parse all events in the above input we have to call |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
642 |
"/ parseOutput couple times |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
643 |
events := parser parseOutput. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
644 |
self assert:events size == 3. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
645 |
self assert:events first isLogOutputEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
646 |
self assert:events second isConsoleOutputEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
647 |
self assert:events third type = 'thread-group-started'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
648 |
self assert:events third threadGroupId = 'i1' |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
649 |
. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
650 |
events := parser parseOutput. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
651 |
self assert:events size == 1. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
652 |
self assert:events first type = 'thread-created'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
653 |
self assert:events first threadId = 1. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
654 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
655 |
events := parser parseOutput. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
656 |
self assert:events size == 2. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
657 |
self assert:events first isCommandResultEvent. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
658 |
self assert:events second type = 'running'. |
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
659 |
|
f417138e9c48
Win32: initial support for Windows
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
92
diff
changeset
|
660 |
"Created: / 12-01-2018 / 08:42:15 / jv" |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
661 |
! ! |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
662 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
663 |
!GDBMIParserTests methodsFor:'tests - values'! |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
664 |
|
126
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
665 |
test_bytearray_01 |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
666 |
self assert:(GDBMIParser on:'"48 89 e5"') parseByteArray =#[16r48 16r89 16re5]. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
667 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
668 |
"Created: / 22-06-2018 / 11:22:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
669 |
! |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
670 |
|
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
671 |
test_list_01 |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
672 |
| list | |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
673 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
674 |
list := (GDBMIParser on:'[]') parseList. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
675 |
self assert:list class == Array. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
676 |
self assert:list isEmpty. |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
677 |
|
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
678 |
"Created: / 18-06-2014 / 07:13:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
679 |
! |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
680 |
|
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
681 |
test_list_02 |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
682 |
| list | |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
683 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
684 |
list := (GDBMIParser on:'["i1","i2"]') parseList. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
685 |
self assert:list size == 2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
686 |
self assert:list first = 'i1'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
687 |
self assert:list second = 'i2'. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
688 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
689 |
"Created: / 19-06-2014 / 09:24:38 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
690 |
! |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
691 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
692 |
test_list_03 |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
693 |
| list | |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
694 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
695 |
list := (GDBMIParser on:'[["1","2"],"i2"]') parseList. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
696 |
self assert:list size == 2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
697 |
self assert:list first size == 2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
698 |
self assert:list first first = '1'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
699 |
self assert:list first second = '2'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
700 |
self assert:list second = 'i2'. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
701 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
702 |
"Created: / 19-06-2014 / 09:25:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
703 |
! |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
704 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
705 |
test_list_04 |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
706 |
| list | |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
707 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
708 |
list := (GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
709 |
on:'[bkpt={number="1",line="2"},bkpt={number="2",line="10"}]') parseList. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
710 |
self assert:list size == 2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
711 |
self assert:list first size == 2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
712 |
self assert:(list first at:'number') = '1'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
713 |
self assert:(list first at:'line') = '2'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
714 |
self assert:list second size == 2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
715 |
self assert:(list second at:'number') = '2'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
716 |
self assert:(list second at:'line') = '10'. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
717 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
718 |
"Created: / 19-06-2014 / 09:29:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
719 |
! |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
720 |
|
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
721 |
test_tuple_01 |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
722 |
| tuple | |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
723 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
724 |
tuple := (GDBMIParser on:'{}') parseTuple. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
725 |
self assert:tuple class == Dictionary. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
726 |
self assert:tuple isEmpty. |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
727 |
|
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
728 |
"Created: / 14-06-2014 / 02:24:18 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
729 |
"Modified: / 18-06-2014 / 07:03:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
730 |
! |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
731 |
|
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
732 |
test_tuple_02a |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
733 |
| tuple | |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
734 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
735 |
tuple := (GDBMIParser on:'{p1="XXX"}') parseTuple. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
736 |
self assert:tuple class == Dictionary. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
737 |
self assert:tuple size == 1. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
738 |
self assert:(tuple at:'p1') = 'XXX'. |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
739 |
|
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
740 |
"Created: / 18-06-2014 / 07:12:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
741 |
! |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
742 |
|
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
743 |
test_tuple_02b |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
744 |
| tuple | |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
745 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
746 |
tuple := (GDBMIParser on:'{p1=["i1","i2"]}') parseTuple. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
747 |
self assert:tuple class == Dictionary. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
748 |
self assert:tuple size == 1. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
749 |
self assert:(tuple at:'p1') asArray = #( 'i1' 'i2' ) |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
750 |
|
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
751 |
"Created: / 18-06-2014 / 07:09:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
752 |
! |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
753 |
|
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
754 |
test_tuple_02c |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
755 |
| tuple | |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
756 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
757 |
tuple := (GDBMIParser on:'{p1={x="10",y="10"}}') parseTuple. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
758 |
self assert:tuple class == Dictionary. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
759 |
self assert:tuple size == 1. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
760 |
self assert:(tuple at:'p1') class == Dictionary. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
761 |
self assert:((tuple at:'p1') at:'x') = '10'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
762 |
self assert:((tuple at:'p1') at:'y') = '10'. |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
763 |
|
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
764 |
"Created: / 18-06-2014 / 07:12:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
765 |
! |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
766 |
|
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
767 |
test_tuple_03a |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
768 |
| tuple | |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
769 |
|
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
770 |
tuple := (GDBMIParser on:'{"c"}') parseTuple. |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
771 |
self assert:tuple = #('c'). |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
772 |
|
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
773 |
"Created: / 06-07-2017 / 07:45:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
774 |
! |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
775 |
|
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
776 |
test_tuple_03b |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
777 |
| tuple | |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
778 |
|
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
779 |
tuple := (GDBMIParser on:'{"line1","line2"}') parseTuple. |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
780 |
self assert:tuple = #('line1' 'line2'). |
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
781 |
|
7913863edaa6
Improved MI parser to handle degenrated tuples (`{"c"}`)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
79
diff
changeset
|
782 |
"Created: / 06-07-2017 / 08:21:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
783 |
! ! |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
784 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
785 |
!GDBMIParserTests methodsFor:'tests - values - typed'! |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
786 |
|
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
787 |
test_typed_boolean |
104
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
788 |
self assert:(GDBMIParser on:'"y"') parseValueAsBoolean = true. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
789 |
self assert:(GDBMIParser on:'"n"') parseValueAsBoolean = false. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
790 |
self assert:(GDBMIParser on:'"yX"') parseValueAsBoolean = 'yX'. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
791 |
self assert:(GDBMIParser on:'"nM"') parseValueAsBoolean = 'nM'. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
792 |
self assert:(GDBMIParser on:'"1"') parseValueAsBoolean = true. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
793 |
self assert:(GDBMIParser on:'"0"') parseValueAsBoolean = false. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
794 |
self assert:(GDBMIParser on:'"1X"') parseValueAsBoolean = '1X'. |
4add55336dfe
Variable objects: automagically update values whenever changed.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
101
diff
changeset
|
795 |
self assert:(GDBMIParser on:'"0M"') parseValueAsBoolean = '0M'. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
796 |
self assert:(GDBMIParser on:'"no"') parseValueAsBoolean = 'no'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
797 |
self assert:(GDBMIParser on:'"12xyz"') parseValueAsBoolean = '12xyz'. |
106
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
798 |
self assert:(GDBMIParser on:'"true"') parseValueAsBoolean = true. |
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
799 |
self assert:(GDBMIParser on:'"false"') parseValueAsBoolean = false. |
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
800 |
self assert:(GDBMIParser on:'"invalid"') parseValueAsBoolean = 'invalid'. |
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
801 |
self assert:(GDBMIParser on:'"truelike"') parseValueAsBoolean = 'truelike'. |
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
802 |
self assert:(GDBMIParser on:'"falselike"') parseValueAsBoolean = 'falselike'. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
803 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
804 |
"Created: / 18-06-2014 / 23:38:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
106
12c96f17fc53
Variable objects: invalidate variable object when thread on inferior terminates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
104
diff
changeset
|
805 |
"Modified: / 12-02-2018 / 22:21:13 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
806 |
! |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
807 |
|
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
808 |
test_typed_integer |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
809 |
self assert:(GDBMIParser on:'"123"') parseValueAsInteger == 123. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
810 |
self assert:(GDBMIParser on:'"0"') parseValueAsInteger == 0. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
811 |
self assert:(GDBMIParser on:'"no"') parseValueAsInteger = 'no'. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
812 |
self assert:(GDBMIParser on:'"12xyz"') parseValueAsInteger = '12xyz'. |
126
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
813 |
self assert:(GDBMIParser on:'"0xFaB"') parseValueAsInteger == 16rFaB. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
814 |
self assert:(GDBMIParser on:'"0x123"') parseValueAsInteger == 16r123. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
815 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
816 |
"Created: / 19-06-2014 / 09:39:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
126
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
817 |
"Modified: / 03-07-2018 / 14:50:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
818 |
! |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
819 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
820 |
test_typed_list_01a |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
821 |
| object | |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
822 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
823 |
object := (GDBMIParser on:'["123","456"]') parseValueAsListOf:Integer. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
824 |
self assert:object size == 2. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
825 |
self assert:object first == 123. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
826 |
self assert:object second == 456. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
827 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
828 |
"Created: / 19-06-2014 / 09:40:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
829 |
! |
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
830 |
|
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
831 |
test_typed_list_02a |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
832 |
| object | |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
833 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
834 |
object := (GDBMIParser on:'["123","456"]') parseValueAsListOf:String. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
835 |
self assert:object size == 2. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
836 |
self assert:object first = '123'. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
837 |
self assert:object second = '456'. |
15
65d3b4bfe871
Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
11
diff
changeset
|
838 |
|
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
839 |
"Created: / 19-06-2014 / 09:41:15 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
840 |
! |
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
841 |
|
126
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
842 |
test_typed_list_03a |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
843 |
| objectDesc stringDesc switchDesc list | |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
844 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
845 |
objectDesc := GDBMAContainer forClass:self class. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
846 |
objectDesc define:#prop1 as:Integer. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
847 |
objectDesc define:#prop2 as:Boolean. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
848 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
849 |
stringDesc := Magritte::MAStringDescription new. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
850 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
851 |
switchDesc := GDBMADescriptionSwitch forTag: 'object' use: objectDesc forTag: nil use: stringDesc. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
852 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
853 |
list := (GDBMIParser on:'[object={prop1="123",prop2="n"},"xxx"]') parseValueAsListOf: nil describedBy: switchDesc. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
854 |
self assert: list size == 2. |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
855 |
self assert: (list first isKindOf: self class). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
856 |
self assert: (list first prop1 = 123). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
857 |
self assert: (list first prop2 = false). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
858 |
self assert: (list second = 'xxx'). |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
859 |
|
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
860 |
"Created: / 03-07-2018 / 16:35:20 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
861 |
! |
fb73b0af430b
Added initial support for disassembling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
120
diff
changeset
|
862 |
|
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
863 |
test_typed_object_01a |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
864 |
| descriptor object | |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
865 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
866 |
descriptor := GDBMAContainer forClass:self class. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
867 |
descriptor define:#prop1 as:Integer. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
868 |
descriptor define:#prop2 as:Boolean. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
869 |
object := (GDBMIParser on:'{prop1="123",prop2="y"}') |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
870 |
parseValueAsInstanceOf:self class |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
871 |
describedBy:descriptor. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
872 |
self assert:object class == self class. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
873 |
self assert:object prop1 == 123. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
874 |
self assert:object prop2. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
875 |
self assert:object properties isEmptyOrNil |
16
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
876 |
|
a5a8c0454395
Work in progress - object descriptors
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
877 |
"Created: / 18-06-2014 / 09:01:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
878 |
"Modified: / 23-09-2014 / 22:37:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
879 |
! |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
880 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
881 |
test_typed_object_01b |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
882 |
| descriptor object | |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
883 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
884 |
descriptor := GDBMAContainer forClass:self class. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
885 |
descriptor |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
886 |
define:#prop1 |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
887 |
as:Array |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
888 |
of:Integer. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
889 |
object := (GDBMIParser on:'{prop1=["123"]}') |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
890 |
parseValueAsInstanceOf:self class |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
891 |
describedBy:descriptor. |
17
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
892 |
self assert:object class == self class. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
893 |
self assert:object prop1 size == 1. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
894 |
self assert:object prop1 first = 123. |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
895 |
self assert:object properties isEmptyOrNil |
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
896 |
|
10d696c79188
Value descroptors refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
897 |
"Created: / 19-06-2014 / 09:42:52 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
898 |
"Modified: / 23-09-2014 / 23:01:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
40
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
899 |
! |
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
900 |
|
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
901 |
test_typed_object_02a |
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
902 |
| descriptor object | |
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
903 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
904 |
descriptor := GDBMAContainer forClass:self class. |
40
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
905 |
descriptor define:#prop1 as:Integer. |
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
906 |
descriptor define:#prop2 as:Boolean. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
907 |
object := (GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
908 |
on:'[{prop1="123",prop2="y"},{prop1="789",prop2="n"}]') |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
909 |
parseValueAsListOf:self class |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
910 |
describedBy:descriptor. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
911 |
self assert:object size == 2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
912 |
self assert:object first class == self class. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
913 |
self assert:object first prop1 == 123. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
914 |
self assert:object first prop2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
915 |
self assert:object first properties isEmptyOrNil. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
916 |
self assert:object second class == self class. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
917 |
self assert:object second prop1 == 789. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
918 |
self assert:object second prop2 not. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
919 |
self assert:object second properties isEmptyOrNil |
40
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
920 |
|
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
921 |
"Created: / 17-09-2014 / 07:42:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
922 |
"Modified: / 23-09-2014 / 23:01:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
40
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
923 |
! |
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
924 |
|
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
925 |
test_typed_object_02b |
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
926 |
| descriptor object | |
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
927 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
928 |
descriptor := GDBMAContainer forClass:self class. |
40
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
929 |
descriptor define:#prop1 as:Integer. |
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
930 |
descriptor define:#prop2 as:Boolean. |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
931 |
object := (GDBMIParser |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
932 |
on:'[object={prop1="123",prop2="y"},object={prop1="789",prop2="n"}]') |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
933 |
parseValueAsListOf:self class |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
934 |
describedBy:descriptor. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
935 |
self assert:object size == 2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
936 |
self assert:object first class == self class. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
937 |
self assert:object first prop1 == 123. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
938 |
self assert:object first prop2. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
939 |
self assert:object first properties isEmptyOrNil. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
940 |
self assert:object second class == self class. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
941 |
self assert:object second prop1 == 789. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
942 |
self assert:object second prop2 not. |
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
943 |
self assert:object second properties isEmptyOrNil |
40
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
944 |
|
0ce76b671515
Some more support for stack frames.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
35
diff
changeset
|
945 |
"Created: / 17-09-2014 / 07:43:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
946 |
"Modified: / 23-09-2014 / 23:01:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
47
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
947 |
! |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
948 |
|
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
949 |
test_typed_object_03a |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
950 |
| descriptor object | |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
951 |
|
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
952 |
descriptor := GDBMAContainer forClass:self class. |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
953 |
descriptor add: |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
954 |
(Magritte::MASingleOptionDescription new |
92
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
955 |
optionsAndLabels: (Array with: 1 -> 'one' with: 2 -> 'two' with: #more -> 'more'); |
47
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
956 |
accessor: (GDBMAPropertyAccessor forPropertyNamed: 'prop1')). |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
957 |
|
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
958 |
object := (GDBMIParser on:'{prop1="one"}') |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
959 |
parseValueAsInstanceOf:self class |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
960 |
describedBy:descriptor. |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
961 |
self assert:object class == self class. |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
962 |
self assert:object prop1 == 1. |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
963 |
|
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
964 |
object := (GDBMIParser on:'{prop1="more"}') |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
965 |
parseValueAsInstanceOf:self class |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
966 |
describedBy:descriptor. |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
967 |
self assert:object class == self class. |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
968 |
self assert:object prop1 == #more. |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
969 |
|
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
970 |
self should: [ |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
971 |
object := (GDBMIParser on:'{prop1="fail"}') |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
972 |
parseValueAsInstanceOf:self class |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
973 |
describedBy:descriptor. |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
974 |
] raise: Magritte::MAReadError |
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
975 |
|
4f5d75acecb0
Added support for parsing enums using MAOptionDescription
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
45
diff
changeset
|
976 |
"Created: / 25-09-2014 / 08:33:32 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
92
0f11fece852c
Removed GDB simulator and fixed rest of the tests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
91
diff
changeset
|
977 |
"Modified: / 27-11-2017 / 20:30:28 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
978 |
! ! |
29ea333a1811
More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
979 |
|
45
deb908479a37
Code refactored to use Magritte to meta-describe GDB objects.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
40
diff
changeset
|
980 |
!GDBMIParserTests class methodsFor:'documentation'! |
6 | 981 |
|
982 |
version_HG |
|
983 |
||
984 |
^ '$Changeset: <not expanded> $' |
|
985 |
! ! |
|
986 |