=============================================================================== Notice: Cannot read stored value of #notExistingClassStoredSettingSTONString. Exception: KeyNotFound: key #MockNotExistingClass not found in SystemDictionary =============================================================================== *** Warning: PotentialOutDatedDependencyWarning: Collections-Tests: Kernel-Chronology-Extras dependency declared in the package Manifest as manuallyResolvedDependencies not detected as a dependency! =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted21 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #TraitForTestToBeDeleted1 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted50 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #TraitForTestToBeDeleted1 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #TraitForTestToBeDeleted1 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted76 from Undeclared. Check them after this change. =============================================================================== *** Warning: Deprecation: The method BlockClosure>>#ifError: called from TKTServiceManagerTest>>#testCannotStartTwoServicesWithSameName has been deprecated. Use #onErrorDo: instead. =============================================================================== Notice: Filed out to: C:\builds\workspace\est_and_branch_Pipeline_Pharo9.0\Tests-windows-32\Traits-Tests-FileOut.st Click to open location =============================================================================== =============================================================================== Notice: Filed out to: C:\builds\workspace\est_and_branch_Pipeline_Pharo9.0\Tests-windows-32\T6.st Click to open location =============================================================================== *** Warning: Warning: Attempt to create AClass as a subclass of nil. Possibly a class is being loaded before its superclass. THERE_BE_DRAGONS_HERE 27 July 2020 3:51:46.330951 am VM: Win32 - IX86 - 10.0 - CoInterpreter * VMMaker-CompatibleUserName.1577968628 uuid: d729bf66-2ea7-5a6d-b1eb-fc005785636d Jan 3 2020 StackToRegisterMappingCogit * VMMaker-CompatibleUserName.1577968628 uuid: d729bf66-2ea7-5a6d-b1eb-fc005785636d Jan 3 2020 VM: 201911290039-dev-7 admin@MacBook-Pro-de-admin.local:dev/Pharo/git-repos/pharo-vm/repo Date: Thu Nov 28 21:39:57 2019 CommitHash: 9b6bd16d3 Plugins: 201911290039-dev-7 admin@MacBook-Pro-de-admin.local:dev/Pharo/git-repos/pharo-vm/repo Image: Pharo9.0.0 [Build information: Pharo-9.0.0+build.553.sha.ff6628a59f096ab9b418a172030f1d630cb3e8ff (32 Bit)] [ Halt now ] in [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession TestSessionHandler>>startup: Receiver: a TestSessionHandler Arguments and temporary variables: isImageStarting: fals Receiver's instance variables: startupHandler: [ Halt now ] shutdownHandler: nil [ :each | each startup: isImageStarting ] in TestWorkingSession(WorkingSession)>>runStartup: Receiver: a TestWorkingSession Arguments and temporary variables: isImageStarting: false each: a TestSessionHandle Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.287951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each startup: isImageStarting ] each: a TestSessionHandle Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.287951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager FullBlockClosure(BlockClosure)>>on:do: Receiver: [aBlock value: each] Arguments and temporary variables: exception: Exception handlerAction: [ :error | self errorHandler handleError: error Receiver's instance variables: outerContext: [ :each | [aBlock value: each] on: Exception do: [ :err...etc... startpc: a CompiledBlock: [aBlock value: each] numArgs: 0 receiver: a TestWorkingSession [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each startup: isImageStarting ] each: a TestSessionHandle Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.287951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager Array(SequenceableCollection)>>do: Receiver: an Array(a TestSessionHandler) Arguments and temporary variables: aBlock: [ :each | [aBlock value: each] on: Exception do: [ :error | s...etc... index: Receiver's instance variables: an Array(a TestSessionHandler) TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each startup: isImageStarting Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.287951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager TestWorkingSession(WorkingSession)>>runStartup: Receiver: a TestWorkingSession Arguments and temporary variables: isImageStarting: fals Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.287951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager TestWorkingSession>>start: Receiver: a TestWorkingSession Arguments and temporary variables: isImageStarting: fals Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.287951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager [ session start: false ] in [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aBlock value. false] in SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: aBlock: [ session start: false ] anExceptionalEvent: Hal Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>on:do: Receiver: [aBlock value. false] Arguments and temporary variables: exception: Halt handlerAction: [:ex | ex return: true Receiver's instance variables: outerContext: SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: startpc: a CompiledBlock: [aBlock value. false] numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: aBlock: [ session start: false ] anExceptionalEvent: Hal Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest(TestAsserter)>>shouldnt:raise: Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: aBlock: [ session start: false ] anExceptionalEvent: Hal Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>ensure: Receiver: [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler:...etc... Arguments and temporary variables: aBlock: [ currentManager beDefault ] complete: nil returnValue: ni Receiver's instance variables: outerContext: SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSi...etc... startpc: a CompiledBlock: [ manager register: (TestSessionHandler onStartup: [ ...etc... numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... UIManager class>>nonInteractiveDuring: Receiver: UIManager Arguments and temporary variables: aBlock: [ manager register: (TestSessionHandler onStartup: [ Halt now ]). se...etc... currentManager: a NonInteractiveUIManage Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#abort:->UIManager>>#abort: #abort:title:->UIMan...etc... format: 0 layout: a FixedLayout organization: a ClassOrganization subclasses: {CommandLineUIManager. DummyUIManager. MorphicUIManager} name: #UIManager classPool: a Dictionary(#Default->a NonInteractiveUIManager ) sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'UIManager-Base' SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest(TestCase)>>performTest Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [self setUp. self performTest] in SessionErrorHandlingTest(TestCase)>>runCase Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>ensure: Receiver: [self setUp. self performTest] Arguments and temporary variables: aBlock: [ self tearDown. self cleanUpInstanceVariables] complete: nil returnValue: ni Receiver's instance variables: outerContext: SessionErrorHandlingTest(TestCase)>>runCase startpc: a CompiledBlock: [self setUp. self performTest] numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... SessionErrorHandlingTest(TestCase)>>runCase Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aTestCase runCase] in [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume all background failures to debug all of them together with test process" failedProcesses keysDo: #resume. halt pass ] ] in TestExecutionEnvironment>>runTestCaseSafelly: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false FullBlockClosure(BlockClosure)>>on:do: Receiver: [aTestCase runCase] Arguments and temporary variables: exception: Halt handlerAction: [ :halt | "if test was halted we should resume all backgroun...etc.. Receiver's instance variables: outerContext: [ [aTestCase runCase] on: Halt do: [ :halt | "if test was h...etc... startpc: a CompiledBlock: [aTestCase runCase] numArgs: 0 receiver: a TestExecutionEnvironment [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume all background failures to debug all of them together with test process" failedProcesses keysDo: #resume. halt pass ] ] in TestExecutionEnvironment>>runTestCaseSafelly: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false FullBlockClosure(BlockClosure)>>on:do: Receiver: [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume al...etc... Arguments and temporary variables: exception: an ExceptionSet handlerAction: [ :err | "error here means that test is failed. So we should ...etc.. Receiver's instance variables: outerContext: TestExecutionEnvironment>>runTestCaseSafelly: startpc: a CompiledBlock: [ [aTestCase runCase] on: Halt do: [ :halt | "i...etc... numArgs: 0 receiver: a TestExecutionEnvironment TestExecutionEnvironment>>runTestCaseSafelly: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false [self runTestCaseSafelly: aTestCase] in [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemaphore signal]. "signal that test case completes" self checkForkedProcesses] in TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false FullBlockClosure(BlockClosure)>>ensure: Receiver: [self runTestCaseSafelly: aTestCase] Arguments and temporary variables: aBlock: [ testCompleted := true. watchDogSemaphore signal] complete: nil returnValue: ni Receiver's instance variables: outerContext: [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted :...etc... startpc: a CompiledBlock: [self runTestCaseSafelly: aTestCase] numArgs: 0 receiver: a TestExecutionEnvironment [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemaphore signal]. "signal that test case completes" self checkForkedProcesses] in TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false FullBlockClosure(BlockClosure)>>ifCurtailed: Receiver: [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemapho...etc... Arguments and temporary variables: aBlock: [ forkedProcesses removeAll. failedProcesses removeAll] complete: nil result: ni Receiver's instance variables: outerContext: TestExecutionEnvironment>>runTestCase: startpc: a CompiledBlock: [[self runTestCaseSafelly: aTestCase] ensure: [ tes...etc... numArgs: 0 receiver: a TestExecutionEnvironment TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false CurrentExecutionEnvironment class>>runTestCase: Receiver: CurrentExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc.. Receiver's instance variables: superclass: ProcessLocalVariable methodDict: a MethodDictionary(#default->CurrentExecutionEnvironment>>#default ...etc... format: 65537 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #CurrentExecutionEnvironment classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Kernel-Processes' soleInstance: a CurrentExecutionEnvironment SessionErrorHandlingTest(TestCase)>>runCaseManaged Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [ aTestCase runCaseManaged ] in [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] in [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... error: nil stack: ni Receiver's instance variables: suite: a TestSuite stream: a ZnCharacterWriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 progressFile: a ZnCharacterWriteStream nodeName: #'Windows32.' stageName: 'Tests-windows-32' FullBlockClosure(BlockClosure)>>on:do: Receiver: [ aTestCase runCaseManaged ] Arguments and temporary variables: exception: an ExceptionSet handlerAction: [ :err | error := err. aTestCase shouldPass ifTrue: [ ...etc.. Receiver's instance variables: outerContext: [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure ...etc... startpc: a CompiledBlock: [ aTestCase runCaseManaged ] numArgs: 0 receiver: a HDTestReport [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] in [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... error: nil stack: ni Receiver's instance variables: suite: a TestSuite stream: a ZnCharacterWriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 progressFile: a ZnCharacterWriteStream nodeName: #'Windows32.' stageName: 'Tests-windows-32' FullBlockClosure(BlockClosure)>>on:do: Receiver: [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error :...etc... Arguments and temporary variables: exception: TestSkip handlerAction: [ :err | "nothing to do..." Receiver's instance variables: outerContext: [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure ...etc... startpc: a CompiledBlock: [ [ aTestCase runCaseManaged ] on: Halt, Error, Te...etc... numArgs: 0 receiver: a HDTestReport --- The full stack --- [ Halt now ] in [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive TestSessionHandler>>startup: [ :each | each startup: isImageStarting ] in TestWorkingSession(WorkingSession)>>runStartup: [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: FullBlockClosure(BlockClosure)>>on:do: [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Array(SequenceableCollection)>>do: TestWorkingSession(WorkingSession)>>runList:do: TestWorkingSession(WorkingSession)>>runStartup: TestWorkingSession>>start: [ session start: false ] in [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive [aBlock value. false] in SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: FullBlockClosure(BlockClosure)>>on:do: SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: SessionErrorHandlingTest(TestAsserter)>>shouldnt:raise: [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive FullBlockClosure(BlockClosure)>>ensure: UIManager class>>nonInteractiveDuring: SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive SessionErrorHandlingTest(TestCase)>>performTest [self setUp. self performTest] in SessionErrorHandlingTest(TestCase)>>runCase FullBlockClosure(BlockClosure)>>ensure: SessionErrorHandlingTest(TestCase)>>runCase [aTestCase runCase] in [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume all background failures to debug all of them together with test process" failedProcesses keysDo: #resume. halt pass ] ] in TestExecutionEnvironment>>runTestCaseSafelly: FullBlockClosure(BlockClosure)>>on:do: [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume all background failures to debug all of them together with test process" failedProcesses keysDo: #resume. halt pass ] ] in TestExecutionEnvironment>>runTestCaseSafelly: FullBlockClosure(BlockClosure)>>on:do: TestExecutionEnvironment>>runTestCaseSafelly: [self runTestCaseSafelly: aTestCase] in [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemaphore signal]. "signal that test case completes" self checkForkedProcesses] in TestExecutionEnvironment>>runTestCase: FullBlockClosure(BlockClosure)>>ensure: [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemaphore signal]. "signal that test case completes" self checkForkedProcesses] in TestExecutionEnvironment>>runTestCase: FullBlockClosure(BlockClosure)>>ifCurtailed: TestExecutionEnvironment>>runTestCase: CurrentExecutionEnvironment class>>runTestCase: SessionErrorHandlingTest(TestCase)>>runCaseManaged [ aTestCase runCaseManaged ] in [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] in [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: FullBlockClosure(BlockClosure)>>on:do: [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] in [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: FullBlockClosure(BlockClosure)>>on:do: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: Time class>>microsecondsToRun: Time class>>millisecondsToRun: FullBlockClosure(BlockClosure)>>timeToRun HDTestReport>>beginTestCase:runBlock: HDTestReport>>runCase: SessionErrorHandlingTest(TestCase)>>run: [ :each | each run: self ] in [ suite tests do: [ :each | each run: self ] ] in HDTestReport>>runAll OrderedCollection>>do: [ suite tests do: [ :each | each run: self ] ] in HDTestReport>>runAll [ self value: anExecutionEnvironment. anExecutionEnvironment activated. aBlock value ] in CurrentExecutionEnvironment class>>activate:for: FullBlockClosure(BlockClosure)>>ensure: CurrentExecutionEnvironment class>>activate:for: TestExecutionEnvironment(ExecutionEnvironment)>>beActiveDuring: DefaultExecutionEnvironment>>runTestsBy: CurrentExecutionEnvironment class>>runTestsBy: HDTestReport>>runAll [ self runAll ] in [ self setUp. suiteTime := [ self runAll ] timeToRun ] in [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run Time class>>microsecondsToRun: Time class>>millisecondsToRun: FullBlockClosure(BlockClosure)>>timeToRun [ self setUp. suiteTime := [ self runAll ] timeToRun ] in [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run FullBlockClosure(BlockClosure)>>ensure: [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run FullBlockClosure(BlockClosure)>>ensure: Author>>ifUnknownAuthorUse:during: HDTestReport>>run HDTestReport class>>runSuite: HDTestReport class>>runClasses:named: HDTestReport class>>runPackage: [ :each | self runPackage: each ] in HDTestReport class(HDReport class)>>runPackages: [:each | each ifNotNil: [newSet add: (aBlock value: each enclosedElement)]] in Set>>collect: Array(SequenceableCollection)>>do: Set>>collect: HDTestReport class(HDReport class)>>runPackages: TestCommandLineHandler>>runPackages TestCommandLineHandler>>activate TestCommandLineHandler class(CommandLineHandler class)>>activateWith: [ aCommandLinehandler activateWith: commandLine ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: FullBlockClosure(BlockClosure)>>on:do: PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument: [ self handleArgument: (self arguments ifEmpty: [ '' ] ifNotEmpty: [ :arguments | arguments first ]) ] in [ [ self handleArgument: (self arguments ifEmpty: [ '' ] ifNotEmpty: [ :arguments | arguments first ]) ] on: Exit do: [ :exit | "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image." self class commandLinePasswordManager hasPasswordSet ifTrue: [ Smalltalk snapshot: false andQuit: true ]. ^ self handleExit: exit ] ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activate FullBlockClosure(BlockClosure)>>on:do: [ [ self handleArgument: (self arguments ifEmpty: [ '' ] ifNotEmpty: [ :arguments | arguments first ]) ] on: Exit do: [ :exit | "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image." self class commandLinePasswordManager hasPasswordSet ifTrue: [ Smalltalk snapshot: false andQuit: true ]. ^ self handleExit: exit ] ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activate [self value. Processor terminateActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------------------------------------------------------- THERE_BE_DRAGONS_HERE 27 July 2020 3:51:46.599951 am VM: Win32 - IX86 - 10.0 - CoInterpreter * VMMaker-CompatibleUserName.1577968628 uuid: d729bf66-2ea7-5a6d-b1eb-fc005785636d Jan 3 2020 StackToRegisterMappingCogit * VMMaker-CompatibleUserName.1577968628 uuid: d729bf66-2ea7-5a6d-b1eb-fc005785636d Jan 3 2020 VM: 201911290039-dev-7 admin@MacBook-Pro-de-admin.local:dev/Pharo/git-repos/pharo-vm/repo Date: Thu Nov 28 21:39:57 2019 CommitHash: 9b6bd16d3 Plugins: 201911290039-dev-7 admin@MacBook-Pro-de-admin.local:dev/Pharo/git-repos/pharo-vm/repo Image: Pharo9.0.0 [Build information: Pharo-9.0.0+build.553.sha.ff6628a59f096ab9b418a172030f1d630cb3e8ff (32 Bit)] [ Halt now ] in SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession TestSessionHandler>>shutdown: Receiver: a TestSessionHandler Arguments and temporary variables: isImageQuitting: fals Receiver's instance variables: startupHandler: nil shutdownHandler: [ Halt now ] [ :each | each shutdown: isImageQuitting ] in TestWorkingSession(WorkingSession)>>runShutdown: Receiver: a TestWorkingSession Arguments and temporary variables: isImageQuitting: false each: a TestSessionHandle Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.581951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each shutdown: isImageQuitting ] each: a TestSessionHandle Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.581951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager FullBlockClosure(BlockClosure)>>on:do: Receiver: [aBlock value: each] Arguments and temporary variables: exception: Exception handlerAction: [ :error | self errorHandler handleError: error Receiver's instance variables: outerContext: [ :each | [aBlock value: each] on: Exception do: [ :err...etc... startpc: a CompiledBlock: [aBlock value: each] numArgs: 0 receiver: a TestWorkingSession [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each shutdown: isImageQuitting ] each: a TestSessionHandle Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.581951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager Array(SequenceableCollection)>>do: Receiver: an Array(a TestSessionHandler) Arguments and temporary variables: aBlock: [ :each | [aBlock value: each] on: Exception do: [ :error | s...etc... index: Receiver's instance variables: an Array(a TestSessionHandler) TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each shutdown: isImageQuitting Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.581951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager TestWorkingSession(WorkingSession)>>runShutdown: Receiver: a TestWorkingSession Arguments and temporary variables: isImageQuitting: fals Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.581951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager TestWorkingSession(WorkingSession)>>stop: Receiver: a TestWorkingSession Arguments and temporary variables: isImageQuitting: fals Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2020-07-27T03:51:46.581951-07:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager [ session stop: false ] in SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aBlock value. false] in SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: aBlock: [ session stop: false ] anExceptionalEvent: Hal Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>on:do: Receiver: [aBlock value. false] Arguments and temporary variables: exception: Halt handlerAction: [:ex | ex return: true Receiver's instance variables: outerContext: SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: startpc: a CompiledBlock: [aBlock value. false] numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: aBlock: [ session stop: false ] anExceptionalEvent: Hal Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest(TestAsserter)>>shouldnt:raise: Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: aBlock: [ session stop: false ] anExceptionalEvent: Hal Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest(TestCase)>>performTest Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [self setUp. self performTest] in SessionErrorHandlingTest(TestCase)>>runCase Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>ensure: Receiver: [self setUp. self performTest] Arguments and temporary variables: aBlock: [ self tearDown. self cleanUpInstanceVariables] complete: nil returnValue: ni Receiver's instance variables: outerContext: SessionErrorHandlingTest(TestCase)>>runCase startpc: a CompiledBlock: [self setUp. self performTest] numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... SessionErrorHandlingTest(TestCase)>>runCase Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aTestCase runCase] in [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume all background failures to debug all of them together with test process" failedProcesses keysDo: #resume. halt pass ] ] in TestExecutionEnvironment>>runTestCaseSafelly: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false FullBlockClosure(BlockClosure)>>on:do: Receiver: [aTestCase runCase] Arguments and temporary variables: exception: Halt handlerAction: [ :halt | "if test was halted we should resume all backgroun...etc.. Receiver's instance variables: outerContext: [ [aTestCase runCase] on: Halt do: [ :halt | "if test was h...etc... startpc: a CompiledBlock: [aTestCase runCase] numArgs: 0 receiver: a TestExecutionEnvironment [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume all background failures to debug all of them together with test process" failedProcesses keysDo: #resume. halt pass ] ] in TestExecutionEnvironment>>runTestCaseSafelly: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false FullBlockClosure(BlockClosure)>>on:do: Receiver: [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume al...etc... Arguments and temporary variables: exception: an ExceptionSet handlerAction: [ :err | "error here means that test is failed. So we should ...etc.. Receiver's instance variables: outerContext: TestExecutionEnvironment>>runTestCaseSafelly: startpc: a CompiledBlock: [ [aTestCase runCase] on: Halt do: [ :halt | "i...etc... numArgs: 0 receiver: a TestExecutionEnvironment TestExecutionEnvironment>>runTestCaseSafelly: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false [self runTestCaseSafelly: aTestCase] in [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemaphore signal]. "signal that test case completes" self checkForkedProcesses] in TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false FullBlockClosure(BlockClosure)>>ensure: Receiver: [self runTestCaseSafelly: aTestCase] Arguments and temporary variables: aBlock: [ testCompleted := true. watchDogSemaphore signal] complete: nil returnValue: ni Receiver's instance variables: outerContext: [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted :...etc... startpc: a CompiledBlock: [self runTestCaseSafelly: aTestCase] numArgs: 0 receiver: a TestExecutionEnvironment [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemaphore signal]. "signal that test case completes" self checkForkedProcesses] in TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false FullBlockClosure(BlockClosure)>>ifCurtailed: Receiver: [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemapho...etc... Arguments and temporary variables: aBlock: [ forkedProcesses removeAll. failedProcesses removeAll] complete: nil result: ni Receiver's instance variables: outerContext: TestExecutionEnvironment>>runTestCase: startpc: a CompiledBlock: [[self runTestCaseSafelly: aTestCase] ensure: [ tes...etc... numArgs: 0 receiver: a TestExecutionEnvironment TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc.. Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 forkedProcesses: a WeakSet() failedProcesses: an OrderedIdentityDictionary() testCompleted: false CurrentExecutionEnvironment class>>runTestCase: Receiver: CurrentExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc.. Receiver's instance variables: superclass: ProcessLocalVariable methodDict: a MethodDictionary(#default->CurrentExecutionEnvironment>>#default ...etc... format: 65537 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #CurrentExecutionEnvironment classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Kernel-Processes' soleInstance: a CurrentExecutionEnvironment SessionErrorHandlingTest(TestCase)>>runCaseManaged Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [ aTestCase runCaseManaged ] in [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] in [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... error: nil stack: ni Receiver's instance variables: suite: a TestSuite stream: a ZnCharacterWriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 progressFile: a ZnCharacterWriteStream nodeName: #'Windows32.' stageName: 'Tests-windows-32' FullBlockClosure(BlockClosure)>>on:do: Receiver: [ aTestCase runCaseManaged ] Arguments and temporary variables: exception: an ExceptionSet handlerAction: [ :err | error := err. aTestCase shouldPass ifTrue: [ ...etc.. Receiver's instance variables: outerContext: [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure ...etc... startpc: a CompiledBlock: [ aTestCase runCaseManaged ] numArgs: 0 receiver: a HDTestReport [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] in [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... error: nil stack: ni Receiver's instance variables: suite: a TestSuite stream: a ZnCharacterWriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 progressFile: a ZnCharacterWriteStream nodeName: #'Windows32.' stageName: 'Tests-windows-32' FullBlockClosure(BlockClosure)>>on:do: Receiver: [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error :...etc... Arguments and temporary variables: exception: TestSkip handlerAction: [ :err | "nothing to do..." Receiver's instance variables: outerContext: [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure ...etc... startpc: a CompiledBlock: [ [ aTestCase runCaseManaged ] on: Halt, Error, Te...etc... numArgs: 0 receiver: a HDTestReport [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... error: nil stack: ni Receiver's instance variables: suite: a TestSuite stream: a ZnCharacterWriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 progressFile: a ZnCharacterWriteStream nodeName: #'Windows32.' stageName: 'Tests-windows-32' Time class>>microsecondsToRun: Receiver: Time Arguments and temporary variables: timedBlock: [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure ...etc... initialMicroseconds: 377329990658195 Receiver's instance variables: superclass: Magnitude methodDict: a MethodDictionary(#<->Time>>#< #=->Time>>#= #addSeconds:->Time>>#a...etc... format: 65538 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #Time classPool: a Dictionary() sharedPools: an OrderedCollection(ChronologyConstants) environment: a SystemDictionary(lots of globals) category: #'Kernel-Chronology' Time class>>millisecondsToRun: Receiver: Time Arguments and temporary variables: timedBlock: [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure ...etc.. Receiver's instance variables: superclass: Magnitude methodDict: a MethodDictionary(#<->Time>>#< #=->Time>>#= #addSeconds:->Time>>#a...etc... format: 65538 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #Time classPool: a Dictionary() sharedPools: an OrderedCollection(ChronologyConstants) environment: a SystemDictionary(lots of globals) category: #'Kernel-Chronology' --- The full stack --- [ Halt now ] in SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive TestSessionHandler>>shutdown: [ :each | each shutdown: isImageQuitting ] in TestWorkingSession(WorkingSession)>>runShutdown: [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: FullBlockClosure(BlockClosure)>>on:do: [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Array(SequenceableCollection)>>do: TestWorkingSession(WorkingSession)>>runList:do: TestWorkingSession(WorkingSession)>>runShutdown: TestWorkingSession(WorkingSession)>>stop: [ session stop: false ] in SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive [aBlock value. false] in SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: FullBlockClosure(BlockClosure)>>on:do: SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: SessionErrorHandlingTest(TestAsserter)>>shouldnt:raise: SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive SessionErrorHandlingTest(TestCase)>>performTest [self setUp. self performTest] in SessionErrorHandlingTest(TestCase)>>runCase FullBlockClosure(BlockClosure)>>ensure: SessionErrorHandlingTest(TestCase)>>runCase [aTestCase runCase] in [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume all background failures to debug all of them together with test process" failedProcesses keysDo: #resume. halt pass ] ] in TestExecutionEnvironment>>runTestCaseSafelly: FullBlockClosure(BlockClosure)>>on:do: [ [aTestCase runCase] on: Halt do: [ :halt | "if test was halted we should resume all background failures to debug all of them together with test process" failedProcesses keysDo: #resume. halt pass ] ] in TestExecutionEnvironment>>runTestCaseSafelly: FullBlockClosure(BlockClosure)>>on:do: TestExecutionEnvironment>>runTestCaseSafelly: [self runTestCaseSafelly: aTestCase] in [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemaphore signal]. "signal that test case completes" self checkForkedProcesses] in TestExecutionEnvironment>>runTestCase: FullBlockClosure(BlockClosure)>>ensure: [[self runTestCaseSafelly: aTestCase] ensure: [ testCompleted := true. watchDogSemaphore signal]. "signal that test case completes" self checkForkedProcesses] in TestExecutionEnvironment>>runTestCase: FullBlockClosure(BlockClosure)>>ifCurtailed: TestExecutionEnvironment>>runTestCase: CurrentExecutionEnvironment class>>runTestCase: SessionErrorHandlingTest(TestCase)>>runCaseManaged [ aTestCase runCaseManaged ] in [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] in [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: FullBlockClosure(BlockClosure)>>on:do: [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] in [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: FullBlockClosure(BlockClosure)>>on:do: [ [ [ aTestCase runCaseManaged ] on: Halt, Error, TestFailure do: [ :err | error := err. aTestCase shouldPass ifTrue: [ self serializeError: error of: aTestCase ]. stack := self stackTraceString: err of: aTestCase ]] on: TestSkip do: [ :err | "nothing to do..." ] ] in HDTestReport>>runCase: Time class>>microsecondsToRun: Time class>>millisecondsToRun: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FullBlockClosure(BlockClosure)>>timeToRun HDTestReport>>beginTestCase:runBlock: HDTestReport>>runCase: SessionErrorHandlingTest(TestCase)>>run: [ :each | each run: self ] in [ suite tests do: [ :each | each run: self ] ] in HDTestReport>>runAll OrderedCollection>>do: [ suite tests do: [ :each | each run: self ] ] in HDTestReport>>runAll [ self value: anExecutionEnvironment. anExecutionEnvironment activated. aBlock value ] in CurrentExecutionEnvironment class>>activate:for: FullBlockClosure(BlockClosure)>>ensure: CurrentExecutionEnvironment class>>activate:for: TestExecutionEnvironment(ExecutionEnvironment)>>beActiveDuring: DefaultExecutionEnvironment>>runTestsBy: CurrentExecutionEnvironment class>>runTestsBy: HDTestReport>>runAll [ self runAll ] in [ self setUp. suiteTime := [ self runAll ] timeToRun ] in [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run Time class>>microsecondsToRun: Time class>>millisecondsToRun: FullBlockClosure(BlockClosure)>>timeToRun [ self setUp. suiteTime := [ self runAll ] timeToRun ] in [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run FullBlockClosure(BlockClosure)>>ensure: [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run FullBlockClosure(BlockClosure)>>ensure: Author>>ifUnknownAuthorUse:during: HDTestReport>>run HDTestReport class>>runSuite: HDTestReport class>>runClasses:named: HDTestReport class>>runPackage: [ :each | self runPackage: each ] in HDTestReport class(HDReport class)>>runPackages: [:each | each ifNotNil: [newSet add: (aBlock value: each enclosedElement)]] in Set>>collect: Array(SequenceableCollection)>>do: Set>>collect: HDTestReport class(HDReport class)>>runPackages: TestCommandLineHandler>>runPackages TestCommandLineHandler>>activate TestCommandLineHandler class(CommandLineHandler class)>>activateWith: [ aCommandLinehandler activateWith: commandLine ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: FullBlockClosure(BlockClosure)>>on:do: PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument: [ self handleArgument: (self arguments ifEmpty: [ '' ] ifNotEmpty: [ :arguments | arguments first ]) ] in [ [ self handleArgument: (self arguments ifEmpty: [ '' ] ifNotEmpty: [ :arguments | arguments first ]) ] on: Exit do: [ :exit | "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image." self class commandLinePasswordManager hasPasswordSet ifTrue: [ Smalltalk snapshot: false andQuit: true ]. ^ self handleExit: exit ] ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activate FullBlockClosure(BlockClosure)>>on:do: [ [ self handleArgument: (self arguments ifEmpty: [ '' ] ifNotEmpty: [ :arguments | arguments first ]) ] on: Exit do: [ :exit | "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image." self class commandLinePasswordManager hasPasswordSet ifTrue: [ Smalltalk snapshot: false andQuit: true ]. ^ self handleExit: exit ] ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activate [self value. Processor terminateActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------------------------------------------------------- =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted276 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted278 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted281Renamed from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted284 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted286 from Undeclared. Check them after this change. ===============================================================================