tests/VDBInstructionListApplicationTests.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 13 Mar 2019 14:07:49 +0000
changeset 149 adaffe052a41
parent 113 1a40f33af921
child 151 bc7626f46210
permissions -rw-r--r--
Show log output in simple console This needed because, for example, python errors and stacktrace is reported on log stream, not on output stream.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
111
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
jv:vdb - Visual / VM Debugger
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Copyright (C) 2015-now Jan Vrany
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
"
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
"{ Package: 'jv:vdb/tests' }"
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
"{ NameSpace: Smalltalk }"
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
VDBAbstractApplicationTests subclass:#VDBInstructionListApplicationTests
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
	instanceVariableNames:''
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	classVariableNames:''
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	poolDictionaries:''
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	category:'VDB-UI-Others-Tests'
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
!VDBInstructionListApplicationTests class methodsFor:'documentation'!
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
copyright
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
"
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
jv:vdb - Visual / VM Debugger
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
Copyright (C) 2015-now Jan Vrany
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
"
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
! !
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!VDBInstructionListApplicationTests methodsFor:'tests'!
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
113
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    35
test_01a
111
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    | stack frameHolder |
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    debugger := GDBDebugger new.
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    self assert: debugger isConnected.
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
113
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    41
    frameHolder := ValueHolder new.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    42
    application := VDBInstructionListApplication new.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    43
    application debuggerHolder: (ValueHolder with: debugger).
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    44
    application frameHolder: frameHolder.  
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    45
    application open.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    46
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    47
111
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    debugger executable: GDBDebuggeesResource current binaryFactorial1.
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    debugger send: 'b factorial'.
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    debugger send: 'r' andWaitFor: GDBStoppedEvent.
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    debugger send: 'c' andWaitFor: GDBStoppedEvent.
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    stack := debugger selectedInferior threads first stack.
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    self assert: stack size = 3.
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
113
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    56
    frameHolder value: stack first.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    57
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    58
    debugger send: 'stepi' andWaitFor: GDBStoppedEvent.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    59
    debugger send: 'next' andWaitFor: GDBStoppedEvent.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    60
    debugger send: 'd'.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    61
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    62
    frameHolder value: nil.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    63
    
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    64
    debugger send: 'c' andWaitFor: GDBThreadGroupExitedEvent.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    65
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    66
    "Created: / 03-10-2018 / 12:27:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    67
    "Modified: / 03-10-2018 / 15:19:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    68
!
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    69
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    70
test_01b
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    71
    | stack frameHolder |
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    72
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    73
    debugger := GDBDebugger new.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    74
    self assert: debugger isConnected.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    75
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    76
    frameHolder := ValueHolder new.
111
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    application := VDBInstructionListApplication new.
113
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    78
    application debuggerHolder: (ValueHolder with: debugger).
111
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    application frameHolder: frameHolder.  
113
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    80
    application allButOpen.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    81
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    82
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    83
    debugger executable: GDBDebuggeesResource current binaryFactorial1.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    84
    debugger send: 'b factorial'.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    85
    debugger send: 'r' andWaitFor: GDBStoppedEvent.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    86
    debugger send: 'c' andWaitFor: GDBStoppedEvent.
111
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
113
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    88
    stack := debugger selectedInferior threads first stack.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    89
    self assert: stack size = 3.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    90
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    91
    frameHolder value: stack first.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    92
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    93
    debugger send: 'stepi' andWaitFor: GDBStoppedEvent.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    94
    debugger send: 'next' andWaitFor: GDBStoppedEvent.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    95
    debugger send: 'd'.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    96
    debugger send: 'c' andWaitFor: GDBThreadGroupExitedEvent.
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    97
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    98
    "Created: / 03-10-2018 / 12:27:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
    99
    "Modified: / 03-10-2018 / 15:14:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
111
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
! !
a70313e80780 UI: add *View* -> *Disassembly* menu item to debugger menu
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
113
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   102
!VDBInstructionListApplicationTests class methodsFor:'documentation'!
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   103
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   104
version_HG
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   105
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   106
    ^ '$Changeset: <not expanded> $'
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   107
! !
1a40f33af921 UI: Show disassembly along with source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 111
diff changeset
   108