Skip to content
Merged

P13 #27

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
5f69874
Delete TDSLogger class, change trait to TLogger from ExperimentModel …
Julesboul Oct 27, 2025
99a82c7
fix(DebuggingSpy-Tests): disable useless tests and fix tests to corre…
Julesboul Nov 4, 2025
1534d4a
fix(DebuggingSpy-Tests): fix tesInstrumentStPlayground by closing it …
Julesboul Nov 4, 2025
fc52283
fix(DebuggingSpy-Tests): fix DSSpyTest by adding new reccorded events
Julesboul Nov 4, 2025
bae9abc
Change instrumentation
Julesboul Nov 6, 2025
3649019
Change classes from P12 to their current P13 version
Julesboul Nov 6, 2025
ac321b0
fix(DebuggingSpy): fix halt once instrumentation
Julesboul Nov 7, 2025
3d18854
fix(DebuggingSpy): rebuild methods for sindarin instrumentation and f…
Julesboul Nov 7, 2025
ef571b7
Update dsspy.yaml
Julesboul Nov 7, 2025
2db92c8
Update dsspy.yaml
Julesboul Nov 12, 2025
bf84a03
Update dsspy.yaml
Julesboul Nov 12, 2025
2a8fdf9
Update dsspy.yaml
Julesboul Nov 12, 2025
f8a174e
wip: start breakpoint changes
Julesboul Nov 13, 2025
76a6bcb
fix(DSSpyInstrunenter): fix code presenter instrumentation
Julesboul Nov 13, 2025
926958b
fix(DSSpyInstrumenter): fix instrumentation to match current version
Julesboul Nov 13, 2025
1a0ccf0
fix(DSSpyTest): change Breakpoint into DebugPoint
Julesboul Nov 14, 2025
9948cae
refactor(DebuggingSpy): change breakpoint into debugPoint in class an…
Julesboul Nov 14, 2025
4d4fc2f
refactor(DebuggingSpy): change names breakpoints into debugpoints
Julesboul Nov 18, 2025
6367ce9
wip
Julesboul Nov 18, 2025
bbe7f49
wip
Julesboul Nov 19, 2025
a50f2ac
wip
Julesboul Nov 24, 2025
200a775
wip
Julesboul Nov 25, 2025
6195f57
wip
Julesboul Nov 25, 2025
a6c0411
wip
Julesboul Nov 26, 2025
63ca672
refactor(DSSpyTest): starting modifying tests to match new implimenta…
Julesboul Nov 26, 2025
524fbed
fix(DSSpyTest): changed tests and add new ones
Julesboul Nov 26, 2025
d55221d
fix(DSSpyTest): fix object centric tests
Julesboul Nov 26, 2025
5889c38
fix(DebuggingSpy): changed tests to match debugpoint behavior
Julesboul Nov 27, 2025
141d339
wip
Julesboul Nov 27, 2025
0845895
fix(DebuggingSpy): fix test on hit watchDebugPoint events
Julesboul Nov 27, 2025
562e4cc
fix(DebuggingSpy): fix last tests linked to debugPoint
Julesboul Nov 27, 2025
2805b53
fix(DebuggingSpy): adapt code to debugPoint instead of breakpoints
Julesboul Nov 28, 2025
577c073
Merge 2805b53b67d63bec6cabd3671805c49265a8a0c9
Julesboul Nov 28, 2025
fe437f4
Update dsspy.yaml
Julesboul Dec 1, 2025
1a2b625
Update DSSTONFileLogger.class.st
Julesboul Dec 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 3 additions & 9 deletions .github/workflows/dsspy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,11 @@ on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
env:
PROJECT_NAME: ${{ matrix.smalltalk }}-DebuggingSpy
strategy:
matrix:
smalltalk: [ Pharo64-12 ]
name: ${{ matrix.smalltalk }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v5
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-version: ${{ matrix.smalltalk }}
- run: smalltalkci -s ${{ matrix.smalltalk }}
smalltalk-version: Pharo64-13
- run: smalltalkci -s Pharo64-13
shell: bash
timeout-minutes: 15
16 changes: 11 additions & 5 deletions BaselineOfDebuggingSpy/BaselineOfDebuggingSpy.class.st
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
Class {
#name : #BaselineOfDebuggingSpy,
#superclass : #BaselineOf,
#category : #BaselineOfDebuggingSpy
#name : 'BaselineOfDebuggingSpy',
#superclass : 'BaselineOf',
#category : 'BaselineOfDebuggingSpy',
#package : 'BaselineOfDebuggingSpy'
}

{ #category : #baselines }
{ #category : 'baselines' }
BaselineOfDebuggingSpy >> baseline: spec [

<baseline>

spec baseline: 'ExperimentModel' with: [
spec repository:
'github://Pharo-XP-Tools/ExperimentModel:main' ].

spec for: #common do: [
spec postLoadDoIt: #postloadAction.
spec package: 'DebuggingSpy'.
spec package: 'DebuggingSpy-Tests' ]
]

{ #category : #baselines }
{ #category : 'baselines' }
BaselineOfDebuggingSpy >> postloadAction [
DSSpy handlingError: false
]
2 changes: 1 addition & 1 deletion BaselineOfDebuggingSpy/package.st
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Package { #name : #BaselineOfDebuggingSpy }
Package { #name : 'BaselineOfDebuggingSpy' }
12 changes: 4 additions & 8 deletions DebuggingSpy-Tests/DSSpyBrowserTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,9 @@ Class {
#tag : 'Tests - Scenarios'
}

{ #category : 'running' }
DSSpyBrowserTest >> setUp [
super setUp.


]

{ #category : 'tests - browser' }
DSSpyBrowserTest >> testBrowserRUN1 [
"
|log history openedPlaygrounds playgroundsAction openedBrowser browserEntering|
log := DSTestingScenariosFileLocator browserScenario001.
history := DSRecordHistory fromSTON: log.
Expand All @@ -26,7 +20,9 @@ DSSpyBrowserTest >> testBrowserRUN1 [
self assert: openedPlaygrounds size equals: 1.
self assert: playgroundsAction notEmpty.
self assert: history mergedWindowJumps first type equals: 'Playground'.
self assert: history mergedWindowJumps last type equals: 'Browser'.
self assert: history mergedWindowJumps last type equals: 'Browser'. "

self flag: #TODO


]
72 changes: 45 additions & 27 deletions DebuggingSpy-Tests/DSSpyInstrumenterTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ DSSpyInstrumenterTest >> assertInstrumentSindarinDebuggerCommandNamed: debuggerC
"Commands from toolbar"
cmds := debugger rootCommandsGroup
/ StDebuggerToolbarCommandTreeBuilder groupName
/ 'Advanced Step'.
/ 'Advanced'.
cmd := StDebugger
specCommandNamed: debuggerCommandName
inGroup: cmds entries.
Expand Down Expand Up @@ -383,7 +383,7 @@ DSSpyInstrumenterTest >> stObjectContextModelMock [
| model context |
model := StInspectorModel on: StInspectorMockObject new.
context := StInspectionContext fromPragma:
(StInspectorMockObject >> #inspectionMock1) pragmas first.
(StInspectorMockObject >> #inspectionMock1:) pragmas first.
context inspectedObject: model inspectedObject.
^ StObjectContextModel new
inspection: model;
Expand Down Expand Up @@ -635,7 +635,7 @@ DSSpyInstrumenterTest >> testInstrumentExpandAttribute [
DSSpyInstrumenterTest >> testInstrumentHaltHits [

instrumenter instrumentHaltHits.
methodsToRemove := {
methodsToRemove := {
(Halt class >> #signal:).
(Halt class >> #signalIn:).
(Halt class >> #signal) }.
Expand All @@ -645,40 +645,55 @@ DSSpyInstrumenterTest >> testInstrumentHaltHits [
self assert: self registry size equals: 1.
record := self registry first.
self assert: record selector equals: #halt.
self assertHaltHitRecordingMethod: (self class >> #executeHalt) conditional: false once: false.

self
assertHaltHitRecordingMethod: self class >> #executeHalt
conditional: false
once: false.

[ self executeHaltIf ]
on: Halt
do: [ ].
self assert: self registry size equals: 2.
record := self registry second.
self assert: record selector equals: #haltIf:.
self assertHaltHitRecordingMethod: (self class >> #executeHaltIf) conditional: true once: false.

self
assertHaltHitRecordingMethod: self class >> #executeHaltIf
conditional: true
once: false.

self recompileExecuteHaltOnce.
[ self executeHaltOnce ]
on: Halt
do: [ ].
do: [ ].
self assert: self registry size equals: 3.
record := self registry third.
self assert: record selector equals: #once.
self assertHaltHitRecordingMethod: (self class >> #executeHaltOnce) conditional: false once: true.

[ self executeHaltWithMessage ]
self assert: record selector equals: #once:.
self
assertHaltHitRecordingMethod: self class >> #executeHaltOnce
conditional: false
once: true.

[ self executeHaltWithMessage ]
on: Halt
do: [ ].
do: [ ].
self assert: self registry size equals: 4.
record := self registry fourth.
self assert: record selector equals: #now:.
self assertHaltHitRecordingMethod: (self class >> #executeHaltWithMessage) conditional: false once: false.

[ self execute1Halt ]
self
assertHaltHitRecordingMethod: self class >> #executeHaltWithMessage
conditional: false
once: false.

[ self execute1Halt ]
on: Halt
do: [ ].
do: [ ].
self assert: self registry size equals: 5.
record := self registry fifth.
self assert: record selector equals: #halt.
self assertHaltHitRecordingMethod: (self class >> #execute1Halt) conditional: false once: false.
self
assertHaltHitRecordingMethod: self class >> #execute1Halt
conditional: false
once: false
]

{ #category : 'tests - halts' }
Expand Down Expand Up @@ -950,7 +965,7 @@ DSSpyInstrumenterTest >> testInstrumentRubEditorCopySelection [

| rubEditor registerClipboardText |
modifiedClass := RubSmalltalkEditor.
modifiedMethodSource := (RubSmalltalkEditor >> #doIt) sourceCode.
modifiedMethodSource := (RubSmalltalkEditor >> #copySelection) sourceCode.
instrumenter instrumentRubSmalltalkEditorCopySelection.

registerClipboardText := DSSpy recordClipboardContent.
Expand Down Expand Up @@ -1017,7 +1032,7 @@ DSSpyInstrumenterTest >> testInstrumentRubEditorPaste [

| rubEditor registerClipboardText |
modifiedClass := RubSmalltalkEditor.
modifiedMethodSource := (RubSmalltalkEditor >> #doIt) sourceCode.
modifiedMethodSource := (RubSmalltalkEditor >> #paste) sourceCode.
instrumenter instrumentRubSmalltalkEditorPaste.
registerClipboardText := DSSpy recordClipboardContent.
DSSpy recordClipboardContent: true.
Expand Down Expand Up @@ -1269,17 +1284,20 @@ DSSpyInstrumenterTest >> testInstrumentSpCodePrintIt [

{ #category : 'tests - playground' }
DSSpyInstrumenterTest >> testInstrumentStPlayground [
|playground|

| playground |
modifiedClass := StPlaygroundPresenter class.
modifiedMethodSource := (StPlaygroundPresenter class >> #open) sourceCode.
modifiedMethodSource := (StPlaygroundPresenter class >> #open)
sourceCode.
instrumenter instrumentPlaygroundCode.
playground := StPlaygroundPresenter open.

"On opening, the playground generates an opening record"
self assert: self registry size equals: 1.
record := self registry first.
record := self registry first.
self assert: record class identicalTo: DSPlaygroundOpenedRecord.
self assert: record windowId equals: playground window window hash
self assert: record windowId equals: playground window window hash.
playground close.
]

{ #category : 'tests - debugger' }
Expand Down Expand Up @@ -1309,13 +1327,13 @@ DSSpyInstrumenterTest >> testInstrumentStepToMethodEntry [
{ #category : 'tests - debugger' }
DSSpyInstrumenterTest >> testInstrumentStepToNextCallInClass [

self assertInstrumentSindarinDebuggerCommandNamed: 'Next call in class'
self assertInstrumentSindarinDebuggerCommandNamed: 'To next execution in class'
]

{ #category : 'tests - debugger' }
DSSpyInstrumenterTest >> testInstrumentStepToNextCallInObject [

self assertInstrumentSindarinDebuggerCommandNamed: 'Next call in receiver'
self assertInstrumentSindarinDebuggerCommandNamed: 'To next execution in receiver'
]

{ #category : 'tests - debugger' }
Expand Down
Loading
Loading