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