tests/GDBMIParserTests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 02 Jun 2014 22:25:25 +0100
changeset 6 d935bc59f6f4
parent 4 62366cc0fd95
permissions -rw-r--r--
Removed useless MI prefix
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:libgdbs/tests' }"
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
TestCase subclass:#GDBMIParserTests
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:''
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
     6
	poolDictionaries:'GDBCommandStatus'
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
     7
	category:'GDB-Private-Tests'
2
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    10
2
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!GDBMIParserTests methodsFor:'tests - C strings'!
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
test_c_string_01
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    self assert: (GDBMIParser on: '"Hello" xxx') parseCString = 'Hello'.
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    self assert: (GDBMIParser on: '"\"Hello\"" xxx') parseCString = '"Hello"'.
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    self assert: (GDBMIParser on: '"\H\e\l\l\o" xxx') parseCString = 'Hello'.
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    self assert: (GDBMIParser on: '"Hel\nlo" xxx') parseCString = 'Hel
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
lo'.  
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    self assert: (GDBMIParser on: '"X\xE1X" xxx') parseCString = 'XáX'.
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    "Created: / 28-05-2014 / 00:05:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
! !
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    25
!GDBMIParserTests methodsFor:'tests - examples'!
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    26
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    27
test_simple_example_01
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    28
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    29
    | parser events |
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    30
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    31
    parser := GDBMIParser on:
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    32
'^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"}
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    33
(gdb)
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    34
'.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    35
    events := parser parseOutput.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    36
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    37
    self assert: events size == 1.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    38
    self assert: events first isCommandResultEvent.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    39
    self assert: events first result status == CommandStatusDone.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    40
    self assert: events first result value key = 'bkpt'.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    41
    self assert: (events first result value value propertyAt: 'addr') = '0x08048564'
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    42
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    43
    "Created: / 30-05-2014 / 23:53:22 / 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
    44
!
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    45
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    46
test_simple_session_01
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    47
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    48
    | parser events |
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    49
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    50
    parser := GDBMIParser on:'~"GNU gdb (GDB) 7.5-ubuntu\n"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    51
~"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
    52
~"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
    53
~"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
    54
~"<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
    55
~"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
    56
~"done.\n"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    57
(gdb) 
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    58
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    59
    events := parser parseOutput.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    60
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    61
    self assert: events size == 7.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    62
    self assert: events first isConsoleOutputEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    63
    self assert: events first value = 'GNU gdb (GDB) 7.5-ubuntu
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    64
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    65
    self assert: events last isConsoleOutputEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    66
    self assert: events last value = 'done.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    67
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    68
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    69
    parser := GDBMIParser 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"}
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    70
(gdb) 
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    71
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    72
    events := parser parseOutput.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    73
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    74
    self assert: events size == 1.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    75
    self assert: events first result status == CommandStatusDone.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    76
    self assert: events first result value key = 'bkpt'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    77
    self assert: (events first result value value propertyAt: 'addr') = '0x0000000000400556'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    78
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    79
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    80
    parser := GDBMIParser on:'~"Breakpoint 2 at 0x400527: file factorial.c, line 4.\n"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    81
=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
    82
^done
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    83
(gdb)
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    84
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    85
    events := parser parseOutput.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    86
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    87
    self assert: events size == 3.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    88
    self assert: events first isConsoleOutputEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    89
    self assert: events first value = 'Breakpoint 2 at 0x400527: file factorial.c, line 4.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    90
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    91
    self assert: events second isNotificationEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    92
    self assert: events second type = 'breakpoint-created'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    93
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    94
    parser := GDBMIParser on:'&"info break\n"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    95
~"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
    96
~"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
    97
~"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
    98
^done
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    99
(gdb)
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   100
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   101
    events := parser parseOutput.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   102
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   103
    self assert: events size == 5.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   104
    self assert: events first isLogOutputEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   105
    self assert: events first value = 'info break
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   106
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   107
    self assert: events second isConsoleOutputEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   108
    self assert: events third isConsoleOutputEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   109
    self assert: events fourth isConsoleOutputEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   110
    self assert: events fifth isCommandResultEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   111
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   112
    parser := GDBMIParser on:'&"run\n"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   113
~"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
   114
=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
   115
=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
   116
^running
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   117
*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
   118
(gdb)
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   119
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   120
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   121
    events := parser parseOutput.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   122
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   123
    self assert: events size == 6.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   124
    self assert: events third isNotificationEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   125
    self assert: events third type = 'thread-group-started'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   126
    self assert: events fifth isCommandResultEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   127
    self assert: events fifth result status == CommandStatusDone.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   128
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   129
    self assert: events sixth isExecutionEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   130
    self assert: events sixth type = 'running'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   131
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   132
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   133
    parser := GDBMIParser on:'=library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   134
=library-loaded,id="/lib/x86_64-linux-gnu/libc.so.6",target-name="/lib/x86_64-linux-gnu/libc.so.6",host-name="/lib/x86_64-linux-gnu/libc.so.6",symbols-loaded="0",thread-group="i1"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   135
=breakpoint-modified,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="1",original-location="main"}
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   136
~"\nBreakpoint "
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   137
~"1, main (argc=1, argv=0x7fffffffe0a8) 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
   138
~"12\t\tint i = 5;\n"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   139
*stopped,reason="breakpoint-hit",disp="keep",bkptno="1",frame={addr="0x0000000000400556",func="main",args=[{name="argc",value="1"},{name="argv",value="0x7fffffffe0a8"}],file="factorial.c",fullname="/home/jv/Private/Projects/SmalltalkX/sources/branches/jv1/build/jv/libgdbs/tests/c/factorial.c",line="12"},thread-id="1",stopped-threads="all",core="1"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   140
(gdb)
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   141
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   142
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   143
    events := parser parseOutput.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   144
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   145
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   146
    self assert: events size == 7.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   147
    self assert: (events at:7) isExecutionEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   148
    self assert: (events at:7) type = 'stopped'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   149
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   150
    "Created: / 01-06-2014 / 22:57:16 / 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
   151
! !
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   152
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   153
!GDBMIParserTests class methodsFor:'documentation'!
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   154
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   155
version_HG
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   156
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   157
    ^ '$Changeset: <not expanded> $'
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   158
! !
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   159