even using ensure: to make sure that the process is terminated it is not really working. I have the impression that there is a problem and that the tests does not really finishes but this is really difficult to debug.
Hi guys
I need your brain cells.
When I execute the test
testBasic | context process debugger printedString | context := [ 20 factorial ] asContext.
process := Process forContext: context priority: Processor userInterruptPriority.
debugger := Smalltalk tools debugger new process: process controller: nil context: context. debugger stack expand.
self assert: debugger stack selectedIndex = 1. printedString := OpalCompiler isActive ifTrue: [ '[ 20 factorial ] in DebuggerTest>>testBasic'] ifFalse: [ '[...] in DebuggerTest>>testBasic' ]. self assert: debugger stack selectedItem printString = printedString.
debugger send. debugger send. self assert: debugger code getText = (Integer>>#factorial) sourceCode. self assert: debugger stack selectedItem printString = 'SmallInteger(Integer)>>factorial'.
two times my image (latest get totally unusable). I thought that may be the process should be terminated so I added
process terminate
But nothing changes. I tried to debug the code but not chance. I tried self halt after [ 20 factorial ] asContext.
I tried to execute the beginning in a workspace and not as a test to eliminate problem. But again no chance.
So did I miss something obvious?
Stef