# HG changeset patch # User Claus Gittinger # Date 1499951486 -7200 # Node ID 00195d0e5ebcfa097b6407c03f4a8c7f83da329f # Parent dde8533d69c94e0b6320009aadaab6841fbd13be #REFACTORING by cg class: TestCase changed: #debug (send #ensure: instead of #sunitEnsure:) #run:beforeEachDo:afterEachDo:resetResources:debug: (send #ensure: instead of #sunitEnsure:) #runCase (send #ensure: instead of #sunitEnsure:) #runCaseAsFailure: (send #ensure: instead of #sunitEnsure:) diff -r dde8533d69c9 -r 00195d0e5ebc TestCase.st --- a/TestCase.st Thu Jul 13 15:11:07 2017 +0200 +++ b/TestCase.st Thu Jul 13 15:11:26 2017 +0200 @@ -739,50 +739,51 @@ | testCase outcome result wasProceeded| [ - result := TestResult stateError. - wasProceeded := false. + result := TestResult stateError. + wasProceeded := false. - [ - (testCase := self class selector: testSelector) runCase. - wasProceeded ifFalse:[ - result := TestResult statePass. - ] - ] sunitOn:(TestResult failure) do: [:ex | - ex creator == TestSkipped ifTrue:[ - result := TestResult stateSkip. - ] ifFalse:[ - result := TestResult stateFail. - ]. - "I want a debugger to open here..." - "the only really portable dialect query..." - ((Smalltalk respondsTo:#isSmalltalkX) and:[Smalltalk isSmalltalkX]) ifTrue:[ - "/ debug - Debugger - enter:ex raiseContext - withMessage:(ex description) - mayProceed:true. - wasProceeded := true. - ex proceed. - ] ifFalse:[ - "is there a portable way to open a debugger?" - self halt:(ex description). - wasProceeded := true. - ]. - ]. + [ + (testCase := self class selector: testSelector) runCase. + wasProceeded ifFalse:[ + result := TestResult statePass. + ] + ] sunitOn:(TestResult failure) do: [:ex | + ex creator == TestSkipped ifTrue:[ + result := TestResult stateSkip. + ] ifFalse:[ + result := TestResult stateFail. + ]. + "I want a debugger to open here..." + "the only really portable dialect query..." + ((Smalltalk respondsTo:#isSmalltalkX) and:[Smalltalk isSmalltalkX]) ifTrue:[ + "/ debug + Debugger + enter:ex raiseContext + withMessage:(ex description) + mayProceed:true. + wasProceeded := true. + ex proceed. + ] ifFalse:[ + "is there a portable way to open a debugger?" + self halt:(ex description). + wasProceeded := true. + ]. + ]. - ] sunitEnsure: [ - " if proceeded in the debugger, we arrive here; " - " but still, this is not always a pass !! " - outcome := TestCaseOutcome new. - outcome testCase: testCase. - outcome result: result. - outcome remember. - TestResource resetResources: self resources + ] ensure: [ + " if proceeded in the debugger, we arrive here; " + " but still, this is not always a pass !! " + outcome := TestCaseOutcome new. + outcome testCase: testCase. + outcome result: result. + outcome remember. + TestResource resetResources: self resources ]. "Modified: / 07-07-2011 / 11:10:50 / jv" "Modified: / 07-07-2011 / 11:34:08 / Jan Vrany " "Modified: / 20-08-2011 / 14:15:51 / Jan Vrany " + "Modified: / 13-07-2017 / 14:02:47 / cg" ! debugAsFailure @@ -898,42 +899,43 @@ "This code is ugly in Smalltalk/X but it is so because it is more portable - numArgs in ANSI (?)" before numArgs == 2 ifTrue:[ - before value: self value: result + before value: self value: result ] ifFalse:[ - before numArgs == 1 ifTrue:[ - before value: self - ] ifFalse:[ - before value. - ] + before numArgs == 1 ifTrue:[ + before value: self + ] ifFalse:[ + before value. + ] ]. "2. Run the testcase" reset ifTrue:[ - [ - result runCase: self debugged:doDebug - ] sunitEnsure: [ - TestResource resetResources: self resources - ]. + [ + result runCase: self debugged:doDebug + ] ensure: [ + TestResource resetResources: self resources + ]. ] ifFalse:[ - result runCase: self debugged:doDebug + result runCase: self debugged:doDebug ]. "3. Execute after block" "This code is ugly in Smalltalk/X but it is so because it is more portable - numArgs in ANSI (?)" after numArgs == 2 ifTrue:[ - after value: self value: result + after value: self value: result ] ifFalse:[ - after numArgs == 1 ifTrue:[ - after value: self - ] ifFalse:[ - after value. - ] + after numArgs == 1 ifTrue:[ + after value: self + ] ifFalse:[ + after value. + ] ]. ^result "Created: / 29-07-2011 / 12:04:53 / Jan Vrany " "Created: / 21-08-2011 / 17:44:56 / cg" + "Modified: / 13-07-2017 / 14:02:53 / cg" ! run: aResult beforeEachTestCaseDo:block1 afterEachTestCaseDo:block2 @@ -952,15 +954,15 @@ self resources do: [:each | each availableFor: self]. [ - didSetup := false. - self setUp. - didSetup := true. - self performTest. - ] sunitEnsure: [ - didSetup ifTrue:[ self safeTearDown ] + didSetup := false. + self setUp. + didSetup := true. + self performTest. + ] ensure: [ + didSetup ifTrue:[ self safeTearDown ] ] - "Modified (comment): / 18-08-2011 / 20:35:20 / cg" + "Modified: / 13-07-2017 / 14:03:01 / cg" ! runCaseAsFailure @@ -974,18 +976,20 @@ runCaseAsFailure: aSemaphore [ - |didSetup| + |didSetup| - didSetup := false. - self resources do: [:each | each availableFor: self]. - [ - self setUp. - didSetup := true. - self openDebuggerOnFailingTestMethod - ] sunitEnsure: [ - didSetup ifTrue:[ self tearDown ] - ] - ] sunitEnsure: [aSemaphore signal]. + didSetup := false. + self resources do: [:each | each availableFor: self]. + [ + self setUp. + didSetup := true. + self openDebuggerOnFailingTestMethod + ] ensure: [ + didSetup ifTrue:[ self tearDown ] + ] + ] ensure: [aSemaphore signal]. + + "Modified: / 13-07-2017 / 14:03:44 / cg" ! setUp