tests/GDBParserTests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 18 Jun 2014 07:54:03 +0100
changeset 15 65d3b4bfe871
parent 11 474fbb650afe
child 16 a5a8c0454395
permissions -rw-r--r--
Initial support for parsing typed values (now only booleans and integers)
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
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
     3
TestCase subclass:#GDBParserTests
2
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
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    11
!GDBParserTests methodsFor:'tests - C strings'!
2
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
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    15
    self assert: (GDBParser on: '"Hello" xxx') parseCString = 'Hello'.
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    16
    self assert: (GDBParser on: '"\"Hello\"" xxx') parseCString = '"Hello"'.
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    17
    self assert: (GDBParser on: '"\H\e\l\l\o" xxx') parseCString = 'Hello'.
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    18
    self assert: (GDBParser on: '"Hel\nlo" xxx') parseCString = 'Hel
2
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
lo'.  
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    20
    self assert: (GDBParser on: '"X\xE1X" xxx') parseCString = 'XáX'.
2
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
8
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    22
    self assert: (GDBParser 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"')
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    23
        parseCString = '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".
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    24
'.
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    25
2
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    "Created: / 28-05-2014 / 00:05:31 / 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
    27
    "Modified: / 03-06-2014 / 00:23:20 / 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
    28
! !
a96eb336dbd3 More work reading.writing GDB events/commands
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    30
!GDBParserTests methodsFor:'tests - examples'!
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    31
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    32
test_simple_example_01
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    33
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    34
    | parser events |
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    35
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    36
    parser := GDBParser on:
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    37
'^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
    38
(gdb)
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    39
'.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    40
    events := parser parseOutput.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    41
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    42
    self assert: events size == 1.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    43
    self assert: events first isCommandResultEvent.
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    44
    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
    45
    self assert: events first result value key = 'bkpt'.
15
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    46
    self assert: (events first result value value at: 'addr') = '0x08048564'
3
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    47
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    48
    "Created: / 30-05-2014 / 23:53:22 / 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
    49
    "Modified: / 18-06-2014 / 07:02:23 / 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
    50
!
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    51
8
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    52
test_simple_example_02
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    53
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    54
    | parser events |
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    55
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    56
    parser := GDBParser on:
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    57
'1234*running
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    58
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
    59
(gdb)
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    60
'.
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    61
    events := parser parseOutput.
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    62
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    63
    self assert: events size == 2.
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    64
    self assert: events first token == 1234.
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    65
    self assert: events second isCommandResultEvent.
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    66
    self assert: events second result status == CommandStatusDone.
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    67
    self assert: events second 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
    68
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    69
    "Created: / 03-06-2014 / 00:50:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11
474fbb650afe PTY support refactored to use GDBPTY object.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    70
    "Modified: / 09-06-2014 / 21:25:06 / 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
    71
!
7f4882e2562a More work on basic example. GDB exiting not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    72
4
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    73
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
    74
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    75
    | parser events |
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    76
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    77
    parser := GDBParser 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
    78
~"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
    79
~"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
    80
~"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
    81
~"<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
    82
~"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
    83
~"done.\n"
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    84
(gdb) 
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    85
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    86
    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
    87
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 size == 7.
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 isConsoleOutputEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    90
    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
    91
'.
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 last isConsoleOutputEvent.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    93
    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
    94
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    95
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    96
    parser := GDBParser 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
    97
(gdb) 
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    98
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    99
    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
   100
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   101
    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
   102
    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
   103
    self assert: events first result value key = 'bkpt'.
15
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   104
    self assert: (events first result value value at: 'addr') = '0x0000000000400556'.
4
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   105
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   106
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   107
    parser := GDBParser 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
   108
=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
   109
^done
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   110
(gdb)
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
    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
   113
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   114
    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
   115
    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
   116
    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
   117
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   118
    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
   119
    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
   120
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   121
    parser := GDBParser 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
   122
~"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
   123
~"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
   124
~"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
   125
^done
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   126
(gdb)
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   127
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   128
    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
   129
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 size == 5.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   131
    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
   132
    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
   133
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   134
    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
   135
    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
   136
    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
   137
    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
   138
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   139
    parser := GDBParser 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
   140
~"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
   141
=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
   142
=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
   143
^running
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   144
*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
   145
(gdb)
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   146
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   147
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   148
    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
   149
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   150
    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
   151
    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
   152
    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
   153
    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
   154
    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
   155
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   156
    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
   157
    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
   158
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   159
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   160
    parser := GDBParser 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"
4
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   161
=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
   162
=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
   163
~"\nBreakpoint "
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   164
~"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
   165
~"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
   166
*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
   167
(gdb)
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   168
'.
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   169
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   170
    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
   171
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   172
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   173
    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
   174
    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
   175
    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
   176
62366cc0fd95 Added some events + fixed parser to parse a simple session.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   177
    "Created: / 01-06-2014 / 22:57:16 / 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
   178
    "Modified: / 18-06-2014 / 07:02:33 / 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
   179
! !
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   180
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   181
!GDBParserTests methodsFor:'tests - values'!
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   182
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   183
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
   184
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   185
    | list |
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   186
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   187
    list := (GDBParser on: '[]') parseList.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   188
    self assert: list class == Array.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   189
    self assert: list isEmpty.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   190
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   191
    "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
   192
!
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   193
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   194
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
   195
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   196
    | tuple |
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   197
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   198
    tuple := (GDBParser on: '{}') parseTuple.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   199
    self assert: tuple class == Dictionary.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   200
    self assert: tuple isEmpty.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   201
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   202
    "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
   203
    "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
   204
!
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   205
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   206
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
   207
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   208
    | tuple |
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   209
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   210
    tuple := (GDBParser on: '{p1="XXX"}') parseTuple.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   211
    self assert: tuple class == Dictionary.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   212
    self assert: tuple size == 1.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   213
    self assert: (tuple at: 'p1') = 'XXX'.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   214
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   215
    "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
   216
!
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   217
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   218
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
   219
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   220
    | tuple |
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   221
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   222
    tuple := (GDBParser on: '{p1=["i1","i2"]}') parseTuple.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   223
    self assert: tuple class == Dictionary.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   224
    self assert: tuple size == 1.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   225
    self assert: (tuple at: 'p1') asArray = #('i1' 'i2')
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   226
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   227
    "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
   228
!
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   229
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   230
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
   231
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   232
    | tuple |
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   233
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   234
    tuple := (GDBParser on: '{p1={x="10",y="10"}}') parseTuple.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   235
    self assert: tuple class == Dictionary.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   236
    self assert: tuple size == 1.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   237
    self assert: (tuple at: 'p1') class == Dictionary.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   238
    self assert: ((tuple at: 'p1') at: 'x') = '10'.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   239
    self assert: ((tuple at: 'p1') at: 'y') = '10'.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   240
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   241
    "Created: / 18-06-2014 / 07:12:00 / 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
   242
! !
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   243
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   244
!GDBParserTests methodsFor:'tests - values - typed'!
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   245
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   246
test_boolean_01
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   247
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   248
    "Created: / 18-06-2014 / 07:22: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
   249
!
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   250
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   251
test_integer_01
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   252
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   253
    self assert: (GDBParser on: '"1"') parseValueAsInteger == 1.       
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   254
    self assert: (GDBParser on: '"1234"') parseValueAsInteger == 1234.       
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   255
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   256
    self assert: (GDBParser on: '"no"') parseValueAsInteger = 'no'.       
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   257
    self assert: (GDBParser on: '"12xyz"') parseValueAsInteger = '12xyz'.
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   258
65d3b4bfe871 Initial support for parsing typed values (now only booleans and integers)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   259
    "Created: / 18-06-2014 / 07:38:50 / 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
   260
! !
29ea333a1811 More work on events and parsing.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   261
7
7a51f98e7162 Initial implementation of event dispatcher and event pump.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   262
!GDBParserTests class methodsFor:'documentation'!
6
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   263
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   264
version_HG
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   265
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   266
    ^ '$Changeset: <not expanded> $'
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   267
! !
d935bc59f6f4 Removed useless MI prefix
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   268