TestResult.st
author Claus Gittinger <cg@exept.de>
Thu, 28 Mar 2019 13:35:53 +0100
changeset 741 5385d22dcc62
parent 739 8af22adf78e4
child 742 fbe26a85e34a
permissions -rw-r--r--
#FEATURE by cg class: TestCaseOutcome added: #executionTimeDuration comment/format in: #executionTime
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
739
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
     1
"{ Encoding: utf8 }"
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
     2
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ Package: 'stx:goodies/sunit' }"
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
596
75398d76ec7c class: TestResult
Claus Gittinger <cg@exept.de>
parents: 574
diff changeset
     5
"{ NameSpace: Smalltalk }"
75398d76ec7c class: TestResult
Claus Gittinger <cg@exept.de>
parents: 574
diff changeset
     6
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
Object subclass:#TestResult
738
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
     8
	instanceVariableNames:'name timestamp failures errors passed skipped outcome lastOutcome'
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
     9
	classVariableNames:'DefaultClass'
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    10
	poolDictionaries:''
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    11
	category:'SUnit-Base'
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    12
!
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
    13
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    14
TestResult comment:''
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
336
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    17
!TestResult class methodsFor:'documentation'!
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    18
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    19
documentation
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    20
"
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    21
    runInfoPerTest:
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    22
        will keep additional info for a testCase run:
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    23
            startTime, endTime, backtrace (if fail or error) and collectedStdout
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    24
"
f0a47040f7b4 preparations for cleanup
Claus Gittinger <cg@exept.de>
parents: 325
diff changeset
    25
! !
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
    26
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    27
!TestResult class methodsFor:'instance creation'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    28
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    29
new
629
05b7684be923 #REFACTORING
mawalch
parents: 603
diff changeset
    30
    self == TestResult ifTrue:[
405
vrany
parents: 347
diff changeset
    31
        ^ self defaultResultClass basicNew initialize.
vrany
parents: 347
diff changeset
    32
    ] ifFalse:[
vrany
parents: 347
diff changeset
    33
        ^ self basicNew initialize
vrany
parents: 347
diff changeset
    34
    ].
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    35
405
vrany
parents: 347
diff changeset
    36
    "
vrany
parents: 347
diff changeset
    37
        TestResult new.
vrany
parents: 347
diff changeset
    38
        TestResultForRunWithDebug new.
vrany
parents: 347
diff changeset
    39
    "
vrany
parents: 347
diff changeset
    40
vrany
parents: 347
diff changeset
    41
    "Modified (comment): / 20-08-2011 / 17:34:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    42
! !
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    43
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    44
!TestResult class methodsFor:'accessing'!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    45
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    46
defaultResultClass
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    47
    DefaultClass notNil ifTrue:[^DefaultClass].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    48
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    49
    ((Smalltalk respondsTo: #isSmalltalkX) and:[Smalltalk isSmalltalkX]) ifTrue:[
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    50
        DefaultClass := TestResultStX.
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    51
        ^DefaultClass
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    52
    ].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    53
    "Add more dialects here, if you want..."
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    54
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    55
    "Default"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    56
    DefaultClass := self.
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    57
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
    58
    "Created: / 16-08-2011 / 15:02:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    59
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
    60
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    61
!TestResult class methodsFor:'constants'!
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    62
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    63
stateError
738
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    64
    "this symbol used to freak around everywhere in the code"
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    65
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    66
    ^ #error
738
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    67
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    68
    "Modified (comment): / 28-03-2019 / 11:26:52 / Claus Gittinger"
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    69
!
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    70
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    71
stateFail
574
8ccb64f2e2f7 class: TestResult
Stefan Vogel <sv@exept.de>
parents: 572
diff changeset
    72
    "this symbol used to freak around everywhere in the code;
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    73
     and I was never sure if #fail or #failed is to be used."
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    74
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    75
    ^ #fail
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    76
!
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    77
738
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    78
stateInconclusive
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    79
    "this symbol is currently not used;
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    80
     support will be added soon."
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    81
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    82
    ^ #inconclusive
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    83
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    84
    "Created: / 28-03-2019 / 11:28:32 / Claus Gittinger"
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    85
!
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    86
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    87
stateNames
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    88
    ^ { 
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    89
        self statePass.
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    90
        self stateError.
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    91
        self stateFail.
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    92
        self stateSkip.
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    93
        self stateInconclusive.
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    94
     }
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    95
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    96
    "Created: / 28-03-2019 / 11:27:55 / Claus Gittinger"
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    97
!
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
    98
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
    99
statePass
574
8ccb64f2e2f7 class: TestResult
Stefan Vogel <sv@exept.de>
parents: 572
diff changeset
   100
    "this symbol used to freak around everywhere in the code;
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   101
     and I was never sure if #pass or #passed is to be used."
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   102
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   103
    ^ #pass
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   104
!
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   105
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   106
stateSkip
738
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   107
    "this symbol used to freak around everywhere in the code;
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   108
     and I was never sure if #skip or #skipped is to be used."
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   109
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   110
    ^ #skip
738
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   111
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   112
    "Modified (comment): / 28-03-2019 / 11:27:07 / Claus Gittinger"
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   113
! !
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   114
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 53
diff changeset
   115
!TestResult class methodsFor:'exceptions'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
error
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   118
	^self exError
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
exError
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   122
	^SUnitNameResolver errorObject
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
failure
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   126
	^TestFailure
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   127
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   129
resumableFailure
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   130
	^ResumableTestFailure
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   133
signalErrorWith: aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   134
	self error sunitSignalWith: aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   135
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   137
signalFailureWith: aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   138
	self failure sunitSignalWith: aString
549
965efa0c6e36 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
   139
!
965efa0c6e36 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
   140
965efa0c6e36 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
   141
skipped
965efa0c6e36 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
   142
        ^ TestSkipped
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
! !
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
501
6ffd3fa997b2 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 492
diff changeset
   145
!TestResult class methodsFor:'utilities'!
6ffd3fa997b2 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 492
diff changeset
   146
6ffd3fa997b2 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 492
diff changeset
   147
sourceFilenameOfClass:aClass
6ffd3fa997b2 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 492
diff changeset
   148
    ^ nil
6ffd3fa997b2 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 492
diff changeset
   149
6ffd3fa997b2 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 492
diff changeset
   150
    " use something like... "
6ffd3fa997b2 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 492
diff changeset
   151
    " ^ aClass classFilename asFilename pathName. "
6ffd3fa997b2 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 492
diff changeset
   152
! !
6ffd3fa997b2 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 492
diff changeset
   153
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 53
diff changeset
   154
!TestResult methodsFor:'accessing'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
defects
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   157
	^OrderedCollection new
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   158
		addAll: self errors;
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   159
		addAll: self failures; yourself
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
478
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   162
endTime:aTimestamp
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   163
    "sets the overall (suite) end time"
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   164
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   165
    "/ ignored, for now (Neil should add it)
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   166
    "/ endTime := aTimestamp.
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   167
!
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   168
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
errorCount
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   170
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   171
        ^self errorOutcomes size
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   172
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   173
    "Modified: / 16-08-2011 / 15:58:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   174
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   175
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   176
errorOutcomes
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   177
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   178
    errors isNil ifTrue: [errors := OrderedCollection new].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   179
    ^errors
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   180
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   181
    "Created: / 16-08-2011 / 15:55:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   182
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
errors
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   185
447
7cc5530a8842 comment/format in: #runCase:debugged:
vrany
parents: 446
diff changeset
   186
    errors isNil ifTrue: [^OrderedCollection new].
7cc5530a8842 comment/format in: #runCase:debugged:
vrany
parents: 446
diff changeset
   187
    ^errors collect:[:each|each testCase]
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   188
447
7cc5530a8842 comment/format in: #runCase:debugged:
vrany
parents: 446
diff changeset
   189
    "Modified (format): / 02-08-2012 / 15:40:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   190
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   192
exceptions
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   193
603
ccbf7219ef3d class: TestResult
Claus Gittinger <cg@exept.de>
parents: 596
diff changeset
   194
    "Returns a set of exceptions to be handled. By default,
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   195
     failure and generic error is handled. This method may
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   196
     be overriden by custom TestResult subclasses to add more.
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   197
     For example, a 'self halt' is not handled by default
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   198
     exceptions set"
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   199
642
a5f5bd81a1e5 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 629
diff changeset
   200
    ^self class failure , self class skipped , self class error
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   201
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   202
    "Created: / 03-08-2011 / 14:11:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   203
!
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   204
481
5fc3207c141a added: #executionTime
Claus Gittinger <cg@exept.de>
parents: 478
diff changeset
   205
executionTime
5fc3207c141a added: #executionTime
Claus Gittinger <cg@exept.de>
parents: 478
diff changeset
   206
    "return the execution time (in seconds). 
5fc3207c141a added: #executionTime
Claus Gittinger <cg@exept.de>
parents: 478
diff changeset
   207
     If unknown, or asked before or during a run, return nil"
5fc3207c141a added: #executionTime
Claus Gittinger <cg@exept.de>
parents: 478
diff changeset
   208
5fc3207c141a added: #executionTime
Claus Gittinger <cg@exept.de>
parents: 478
diff changeset
   209
    ^ nil
5fc3207c141a added: #executionTime
Claus Gittinger <cg@exept.de>
parents: 478
diff changeset
   210
!
5fc3207c141a added: #executionTime
Claus Gittinger <cg@exept.de>
parents: 478
diff changeset
   211
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
failureCount
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   214
        ^self failureOutcomes size
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   215
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   216
    "Modified: / 16-08-2011 / 15:58:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   217
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   218
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   219
failureOutcomes
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   220
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   221
    failures isNil ifTrue: [failures := Set new].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   222
    ^failures
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   223
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   224
    "Created: / 16-08-2011 / 15:56:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
!
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
failures
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   228
    "We use a Set, not an OrderedCollection as #errors and #passed do, 
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   229
     because a resumable test failure in a loop can raise many failures against the same test.  
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   230
     In current Sunit UIs, this could result in bizarre test count reporting (-27 tests run, and suchlike).  
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   231
     This will be reviewed."
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   232
447
7cc5530a8842 comment/format in: #runCase:debugged:
vrany
parents: 446
diff changeset
   233
    failures isNil ifTrue: [^OrderedCollection new].
7cc5530a8842 comment/format in: #runCase:debugged:
vrany
parents: 446
diff changeset
   234
    ^failures collect:[:each|each testCase]
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   235
447
7cc5530a8842 comment/format in: #runCase:debugged:
vrany
parents: 446
diff changeset
   236
    "Modified (format): / 02-08-2012 / 14:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   237
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   238
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   239
name
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   240
    ^ name
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   241
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   242
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   243
name:aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   244
    name := aString.
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   245
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   247
outcomes
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   248
    |all|
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   249
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   250
    all := OrderedCollection new.
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   251
    self outcomesDo:[:each | all add:each].
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   252
    ^ all.
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   253
!
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   254
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   255
outcomesDo: aBlock
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   256
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   257
    skipped notNil ifTrue:[skipped do: aBlock].
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   258
    failures notNil ifTrue:[failures do: aBlock].
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   259
    errors notNil ifTrue:[errors do: aBlock].
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   260
    passed notNil ifTrue:[passed do: aBlock].
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   261
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   262
    "Created: / 20-08-2011 / 14:01:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   263
!
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   264
739
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   265
overallOutcome
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   266
    "returns a verdict as symbol;
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   267
     one of error, fail, pass, skip or notRun"
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   268
     
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   269
    self hasErrors ifTrue:[^ #error].
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   270
    self hasFailures ifTrue:[^ #fail].
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   271
    self hasPassed ifTrue:[^ #pass].
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   272
    self hasSkipped ifTrue:[^ #skip].
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   273
    ^ #notRun
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   274
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   275
    "Created: / 28-03-2019 / 13:35:19 / Claus Gittinger"
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   276
!
8af22adf78e4 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 738
diff changeset
   277
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   278
passed
434
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   279
        passed isNil ifTrue: [
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   280
            "/ cg: exposed and added to (see TestRunnerEmbedded>>debug)
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   281
            passed := OrderedCollection new.
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   282
            ^ passed.
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   283
        ].
447
7cc5530a8842 comment/format in: #runCase:debugged:
vrany
parents: 446
diff changeset
   284
        ^passed collect:[:each|each testCase]
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   285
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   286
    "Modified: / 16-08-2011 / 15:54:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
434
14f83a6de60e changed: #passed
Claus Gittinger <cg@exept.de>
parents: 431
diff changeset
   287
    "Modified: / 07-11-2011 / 11:19:57 / cg"
447
7cc5530a8842 comment/format in: #runCase:debugged:
vrany
parents: 446
diff changeset
   288
    "Modified (format): / 02-08-2012 / 14:55:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   289
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   290
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   291
passedCount
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   292
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   293
        ^self passedOutcomes size
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   294
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   295
    "Modified: / 16-08-2011 / 15:58:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   296
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   297
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   298
passedOutcomes
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   299
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   300
    passed isNil ifTrue: [passed := OrderedCollection new].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   301
    ^passed
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   302
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   303
    "Created: / 16-08-2011 / 15:56:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   304
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   305
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
runCount
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   307
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   308
	^self passedCount + self failureCount + self errorCount
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   309
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   310
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   311
skipped
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   312
        skipped isNil ifTrue: [
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   313
            "/ cg: exposed and added to (see TestRunnerEmbedded>>debug)
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   314
            skipped := OrderedCollection new.
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   315
            ^ skipped.
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   316
        ].
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   317
        ^skipped collect:[:each|each testCase]
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   318
!
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   319
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   320
skippedCount
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   321
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   322
        ^self skippedOutcomes size
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   323
!
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   324
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   325
skippedOutcomes
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   326
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   327
    skipped isNil ifTrue: [skipped := OrderedCollection new].
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   328
    ^skipped
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   329
!
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   330
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   331
testOutcomes
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   332
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   333
        ^(OrderedCollection new: self runCount)
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   334
                addAll: self passedOutcomes;
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   335
                addAll: self skippedOutcomes;
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   336
                addAll: self errorOutcomes;
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   337
                addAll: self failureOutcomes;
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   338
                yourself
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   339
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   340
    "Created: / 16-08-2011 / 16:42:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   341
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   342
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   343
tests
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   344
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   345
        ^(OrderedCollection new: self runCount)
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   346
                addAll: self passed;
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   347
                addAll: self skipped;
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   348
                addAll: self errors;
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   349
                addAll: self failures;
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   350
                yourself
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   351
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   352
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   353
timestamp
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   354
    ^ timestamp
270
edb137bd861e added: #timestamp:
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   355
!
edb137bd861e added: #timestamp:
Claus Gittinger <cg@exept.de>
parents: 242
diff changeset
   356
478
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   357
timestamp:aTimestamp
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   358
    timestamp := aTimestamp.
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   359
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   361
!TestResult methodsFor:'adding / removing'!
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   362
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   363
addError:testcase detail:detail 
676
6d27e1fed212 #OTHER by mawalch
mawalch
parents: 671
diff changeset
   364
    "Called when a test outcome is error. testCase
6d27e1fed212 #OTHER by mawalch
mawalch
parents: 671
diff changeset
   365
     is the erroneous testcase, detail is platform
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   366
     specific object describing the error. Actually,
676
6d27e1fed212 #OTHER by mawalch
mawalch
parents: 671
diff changeset
   367
     on all platforms except GemStone, detail is an instance
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   368
     of an exception that caused the error"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   369
    "JV2011-08-03: TODO: Validate the comment above with GS,
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   370
     possibly change name to 'exception'"
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   371
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   372
525
a0d7db6472af lastState fixes
Claus Gittinger <cg@exept.de>
parents: 506
diff changeset
   373
    outcome result: (TestResult stateError).
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   374
    outcome remember.
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   375
    ^ self errorOutcomes add:outcome.
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   376
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   377
    "Created: / 03-08-2011 / 13:50:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
318
96ce5904bba6 added: #rememberException:detail:
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   378
    "Modified: / 06-08-2011 / 09:46:41 / cg"
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   379
    "Modified: / 20-08-2011 / 12:46:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
676
6d27e1fed212 #OTHER by mawalch
mawalch
parents: 671
diff changeset
   380
    "Modified (comment): / 22-05-2017 / 18:27:02 / mawalch"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   381
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   382
676
6d27e1fed212 #OTHER by mawalch
mawalch
parents: 671
diff changeset
   383
addFailure:testcase detail:detail
6d27e1fed212 #OTHER by mawalch
mawalch
parents: 671
diff changeset
   384
    "Called when a test fails. testCase is the failed
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   385
     testcase, detail is platform specific object describing
676
6d27e1fed212 #OTHER by mawalch
mawalch
parents: 671
diff changeset
   386
     the failure. Actually, on all platforms except GemStone,
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   387
     detail is an instance of an exception that caused the failure"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   388
    "JV2011-08-03: TODO: Validate the comment above with GS,
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   389
     possibly change name to 'exception'"
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   390
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   391
     "Special handling here, because failures can be resumable"
676
6d27e1fed212 #OTHER by mawalch
mawalch
parents: 671
diff changeset
   392
    self failureOutcomes do:[:outcome |
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   393
        outcome testCase = testcase ifTrue:[
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   394
            ^ self
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   395
        ].
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   396
    ].
525
a0d7db6472af lastState fixes
Claus Gittinger <cg@exept.de>
parents: 506
diff changeset
   397
    outcome result: (TestResult stateFail).
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   398
    outcome remember.
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   399
    ^ self failureOutcomes add: outcome
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   400
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   401
    "Created: / 03-08-2011 / 13:53:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
318
96ce5904bba6 added: #rememberException:detail:
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   402
    "Modified: / 06-08-2011 / 09:55:17 / cg"
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   403
    "Modified: / 20-08-2011 / 12:46:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
676
6d27e1fed212 #OTHER by mawalch
mawalch
parents: 671
diff changeset
   404
    "Modified (comment): / 22-05-2017 / 18:25:30 / mawalch"
318
96ce5904bba6 added: #rememberException:detail:
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   405
!
96ce5904bba6 added: #rememberException:detail:
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   406
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   407
addPass:testCase 
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   408
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   409
    outcome result: (TestResult statePass).
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   410
    outcome remember.
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   411
    ^ self passedOutcomes add: outcome
325
76240d956e7d changed: #rememberExceptionIn:detail:
Claus Gittinger <cg@exept.de>
parents: 323
diff changeset
   412
418
bc5e6e66a5ee Lost methods
vrany
parents: 405
diff changeset
   413
    "Modified: / 20-08-2011 / 12:44:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   414
!
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   415
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   416
addSkipped:testCase 
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   417
525
a0d7db6472af lastState fixes
Claus Gittinger <cg@exept.de>
parents: 506
diff changeset
   418
    outcome result: (TestResult stateSkip).
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   419
    outcome remember.
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   420
    ^ self skippedOutcomes add: outcome
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   421
!
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   422
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   423
remove: aTestCase
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   424
    "Removes an outcome for given testcase, if any.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   425
    Use with care."
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   426
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   427
    | remover |
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   428
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   429
    remover := [:outcomes|
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   430
        | o |
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   431
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   432
        outcomes notNil ifTrue:[
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   433
            o := outcomes detect:[:each|each testCase == aTestCase] ifNone: [nil].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   434
            o notNil ifTrue:[outcomes remove: o. ^self].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   435
        ].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   436
    ].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   437
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   438
    remover value: skipped.
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   439
    remover value: errors.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   440
    remover value: failures.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   441
    remover value: passed.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   442
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   443
    "Created: / 16-01-2012 / 20:36:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   444
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   445
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   446
!TestResult methodsFor:'deprecated'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   447
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   448
correctCount
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   449
	"deprecated - use #passedCount"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   450
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   451
	^self passedCount
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   452
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   453
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   454
!TestResult methodsFor:'initialize-release'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
initialize
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   457
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   459
!TestResult methodsFor:'outcome'!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   460
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   461
createOutcome
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   462
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   463
    ^TestCaseOutcome new.
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   465
    "Created: / 16-08-2011 / 17:14:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   466
!
297
87eb8f911bcf changed: #exceptionInfoStringFor:in:
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   467
738
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   468
lastOutcome
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   469
    "the outcome of the last executed case
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   470
     (only valid in the run...after:[] block)"
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   471
    
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   472
    ^ lastOutcome.
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   473
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   474
    "Created: / 28-03-2019 / 11:21:21 / Claus Gittinger"
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   475
!
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   476
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   477
rememberEndTime
478
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   478
    "remembers the endTime of the current test (in outcome)"
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   479
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   480
    ^nil
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   481
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   482
    "Created: / 16-08-2011 / 17:31:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   483
!
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   484
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   485
rememberException:detail
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   486
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   487
    "Created: / 16-08-2011 / 17:35:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   488
!
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   489
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   490
rememberStartTime
478
a8ca323da616 comments
Claus Gittinger <cg@exept.de>
parents: 462
diff changeset
   491
    "remembers the startTime of the current test (in outcome)"
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   492
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   493
    ^nil
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   494
347
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   495
    "Created: / 16-08-2011 / 17:31:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   496
! !
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   497
1f72b6bb67a4 Refactored to use TestResultOutcome
vrany
parents: 336
diff changeset
   498
!TestResult methodsFor:'printing'!
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   499
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
printOn: aStream
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   501
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   502
        aStream
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   503
                nextPutAll: self runCount printString;
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   504
                nextPutAll: ' run, ';
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   505
                nextPutAll: self passedCount printString;
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   506
                nextPutAll: ' passed, ';
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   507
                nextPutAll: self skippedCount printString;
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   508
                nextPutAll: ' skipped, ';
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   509
                nextPutAll: self failureCount printString;
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   510
                nextPutAll: ' failed, ';
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   511
                nextPutAll: self errorCount printString;
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   512
                nextPutAll: ' error'.
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   513
487
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   514
        self errorCount ~= 1
52803f8a7029 preparations for skipping tests;
Claus Gittinger <cg@exept.de>
parents: 481
diff changeset
   515
                ifTrue: [aStream nextPut: $s]
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
! !
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 53
diff changeset
   518
!TestResult methodsFor:'running'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
303
6d21e7a22412 - doRunCase: renamed to performCase:
vrany
parents: 300
diff changeset
   520
performCase:aTestCase 
6d21e7a22412 - doRunCase: renamed to performCase:
vrany
parents: 300
diff changeset
   521
    "Actually performs the case. The TestCase>>runCase itself calls
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   522
     a setUp/tearDown methods. The possible error/failure is handled
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   523
     in TestResult>>runCase:. This method is meant to be overriden by
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   524
     custom TestResult subclasses."
643
b7d2529d0209 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 642
diff changeset
   525
b7d2529d0209 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 642
diff changeset
   526
    [    
b7d2529d0209 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 642
diff changeset
   527
        aTestCase runCase.
730
cb036f583ada #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 676
diff changeset
   528
    ] sunitOn:(self class skipped) do: [:ex |
643
b7d2529d0209 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 642
diff changeset
   529
        ex sunitAnnounce: aTestCase toResult: self.
b7d2529d0209 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 642
diff changeset
   530
        ex return.
730
cb036f583ada #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 676
diff changeset
   531
    ].
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   532
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   533
    "Modified: / 02-08-2011 / 18:10:09 / cg"
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   534
    "Created: / 03-08-2011 / 14:02:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
730
cb036f583ada #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 676
diff changeset
   535
    "Modified: / 23-03-2019 / 10:33:08 / Claus Gittinger"
300
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   536
!
570aed392231 TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 297
diff changeset
   537
303
6d21e7a22412 - doRunCase: renamed to performCase:
vrany
parents: 300
diff changeset
   538
runCase:aTestCase 
316
d01820e6d817 changed:
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   539
    "run a testcase, catching exceptions"
d01820e6d817 changed:
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   540
429
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   541
    self runCase:aTestCase debugged:false
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   542
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   543
    "Modified: / 16-08-2011 / 17:35:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   544
    "Modified: / 21-08-2011 / 17:48:28 / cg"
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   545
!
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   546
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   547
runCase:aTestCase debugged:debugged
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   548
    "run a testcase, debugging exceptions"
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   549
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   550
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   551
    [
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   552
        [ 
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   553
            outcome := self createOutcome.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   554
            outcome testCase: aTestCase.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   555
            self rememberStartTime.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   556
            self performCase:aTestCase.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   557
            self rememberEndTime.
730
cb036f583ada #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 676
diff changeset
   558
            (outcome result == TestResult stateSkip) ifFalse:[
cb036f583ada #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 676
diff changeset
   559
                self addPass:aTestCase.
cb036f583ada #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 676
diff changeset
   560
            ].    
738
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   561
            lastOutcome := outcome.
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   562
            outcome := nil.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   563
        ] sunitOn:self exceptions do: [:ex |
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   564
            self rememberEndTime.
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   565
            self rememberException: ex.
572
7a3643c916c2 use #creator instead of #signal
Claus Gittinger <cg@exept.de>
parents: 549
diff changeset
   566
            (AbortSignal accepts: ex creator) ifTrue:[ex reject].
7a3643c916c2 use #creator instead of #signal
Claus Gittinger <cg@exept.de>
parents: 549
diff changeset
   567
            (TerminateProcessRequest accepts: ex creator) ifTrue:[ex reject].
603
ccbf7219ef3d class: TestResult
Claus Gittinger <cg@exept.de>
parents: 596
diff changeset
   568
            debugged ifFalse:[
ccbf7219ef3d class: TestResult
Claus Gittinger <cg@exept.de>
parents: 596
diff changeset
   569
                ex sunitAnnounce:aTestCase toResult:self.
ccbf7219ef3d class: TestResult
Claus Gittinger <cg@exept.de>
parents: 596
diff changeset
   570
                "/ not reached, because sunitAnnouce returns from ex!!
ccbf7219ef3d class: TestResult
Claus Gittinger <cg@exept.de>
parents: 596
diff changeset
   571
            ].
644
b4b9fdee25b1 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 643
diff changeset
   572
            (TestSkipped accepts: ex creator) ifFalse:[
b4b9fdee25b1 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 643
diff changeset
   573
                self addFailure: aTestCase detail: ex.
b4b9fdee25b1 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 643
diff changeset
   574
            ].    
603
ccbf7219ef3d class: TestResult
Claus Gittinger <cg@exept.de>
parents: 596
diff changeset
   575
            self breakPoint:#cg.
ccbf7219ef3d class: TestResult
Claus Gittinger <cg@exept.de>
parents: 596
diff changeset
   576
            ex reject.
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   577
        ].
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   578
    ] sunitOn: self exceptions do:[:ex|
644
b4b9fdee25b1 #REFACTORING
Claus Gittinger <cg@exept.de>
parents: 643
diff changeset
   579
        (TestSkipped accepts: ex creator) ifTrue:[ex return].
572
7a3643c916c2 use #creator instead of #signal
Claus Gittinger <cg@exept.de>
parents: 549
diff changeset
   580
        (AbortSignal accepts: ex creator) ifTrue:[ex reject].
7a3643c916c2 use #creator instead of #signal
Claus Gittinger <cg@exept.de>
parents: 549
diff changeset
   581
        (TerminateProcessRequest accepts: ex creator) ifTrue:[ex reject].
596
75398d76ec7c class: TestResult
Claus Gittinger <cg@exept.de>
parents: 574
diff changeset
   582
        "/ the stuff below is rubbish - it clears out the info as collected above!!
75398d76ec7c class: TestResult
Claus Gittinger <cg@exept.de>
parents: 574
diff changeset
   583
        "/ self remove: aTestCase.
525
a0d7db6472af lastState fixes
Claus Gittinger <cg@exept.de>
parents: 506
diff changeset
   584
        debugged ifTrue:[ ex reject ].
438
ceb3517dcae7 - Handler for possible error in #tearDown
vrany
parents: 434
diff changeset
   585
    ]
292
Claus Gittinger <cg@exept.de>
parents: 270
diff changeset
   586
429
35fec79a1ffe added: #runCase:debugged:
Claus Gittinger <cg@exept.de>
parents: 418
diff changeset
   587
    "Created: / 21-08-2011 / 17:48:19 / cg"
446
4d4b49d09e2f added: #hasFailuresOrErrors
Claus Gittinger <cg@exept.de>
parents: 444
diff changeset
   588
    "Modified: / 04-06-2012 / 18:50:15 / cg"
532
fa66c637614e Removed halt in TestResult>>#runCase:debugged: - please do not commit debugging halts!
vrany
parents: 525
diff changeset
   589
    "Modified: / 14-01-2013 / 13:28:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
738
19f75695aa0f #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 730
diff changeset
   590
    "Modified: / 28-03-2019 / 11:24:26 / Claus Gittinger"
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
! !
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
68
9fd111438d60 category renames (lower case)
Claus Gittinger <cg@exept.de>
parents: 53
diff changeset
   593
!TestResult methodsFor:'testing'!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   595
hasErrors
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   596
671
22e65332137a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 644
diff changeset
   597
        ^self errors notEmptyOrNil
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   598
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   599
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   600
hasFailures
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   601
671
22e65332137a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 644
diff changeset
   602
        ^self failures notEmptyOrNil
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   603
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   604
446
4d4b49d09e2f added: #hasFailuresOrErrors
Claus Gittinger <cg@exept.de>
parents: 444
diff changeset
   605
hasFailuresOrErrors
4d4b49d09e2f added: #hasFailuresOrErrors
Claus Gittinger <cg@exept.de>
parents: 444
diff changeset
   606
    ^ self hasFailures or:[self hasErrors]
4d4b49d09e2f added: #hasFailuresOrErrors
Claus Gittinger <cg@exept.de>
parents: 444
diff changeset
   607
4d4b49d09e2f added: #hasFailuresOrErrors
Claus Gittinger <cg@exept.de>
parents: 444
diff changeset
   608
    "Created: / 04-06-2012 / 19:06:52 / cg"
4d4b49d09e2f added: #hasFailuresOrErrors
Claus Gittinger <cg@exept.de>
parents: 444
diff changeset
   609
!
4d4b49d09e2f added: #hasFailuresOrErrors
Claus Gittinger <cg@exept.de>
parents: 444
diff changeset
   610
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
hasPassed
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   612
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   613
	^self hasErrors not and: [self hasFailures not]
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   614
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   615
671
22e65332137a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 644
diff changeset
   616
hasSkipped
22e65332137a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 644
diff changeset
   617
22e65332137a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 644
diff changeset
   618
        ^self skipped notEmptyOrNil
22e65332137a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 644
diff changeset
   619
!
22e65332137a #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 644
diff changeset
   620
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   621
isError: aTestCase
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   622
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   623
	^self errors includes: aTestCase
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   624
!
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   626
isFailure: aTestCase
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   627
	^self failures includes: aTestCase
53
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   628
!
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   629
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   630
isPassed: aTestCase
51abd9fe4db2 switch to rel3.0
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   631
104
974f57e122c1 Merge SUnit 3.1 changes
Stefan Vogel <sv@exept.de>
parents: 101
diff changeset
   632
	^self passed includes: aTestCase
6
78bb1397e43d added rerun-defect tests; fixed button enable bug
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
   633
! !
0
9365d5753f11 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   635
!TestResult class methodsFor:'documentation'!
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   636
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   637
version
629
05b7684be923 #REFACTORING
mawalch
parents: 603
diff changeset
   638
    ^ '$Header$'
297
87eb8f911bcf changed: #exceptionInfoStringFor:in:
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   639
!
87eb8f911bcf changed: #exceptionInfoStringFor:in:
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   640
87eb8f911bcf changed: #exceptionInfoStringFor:in:
Claus Gittinger <cg@exept.de>
parents: 292
diff changeset
   641
version_CVS
629
05b7684be923 #REFACTORING
mawalch
parents: 603
diff changeset
   642
    ^ '$Header$'
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   643
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   644
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 183
diff changeset
   645
version_SVN
629
05b7684be923 #REFACTORING
mawalch
parents: 603
diff changeset
   646
    ^ '$Id$'
14
a4a5478621e3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6
diff changeset
   647
! !
549
965efa0c6e36 class: TestResult
Claus Gittinger <cg@exept.de>
parents: 532
diff changeset
   648