ResumableTestFailure.st
author Claus Gittinger <cg@exept.de>
Wed, 29 May 2019 01:12:49 +0200
changeset 747 1dcb53cf964d
parent 222 8e6f482297fa
child 613 5a546630cfcf
child 664 e31b2e7b658d
permissions -rw-r--r--
#FEATURE by cg class: TestCase added: #invokeTestMethod changed: #performTest support timeout annotation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
105
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/sunit' }"
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     2
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     3
TestFailure subclass:#ResumableTestFailure
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:''
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     7
	category:'SUnit-Preload'
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     8
!
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     9
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    10
!ResumableTestFailure class methodsFor:'documentation'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    11
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    12
documentation
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    13
"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    14
   Sometimes it is useful to see when debugging (and/or to log when running) the results from several assertions in a test.  Example:
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    15
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    16
	#(‘same’ ‘*’ ‘*.txt’ ‘a*c’) with: #(‘same’ ‘any’ ‘some.txt’ ‘abc’) do:
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    17
		[:eachMeta :eachString |
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    18
		self assert: (eachMeta match: eachString)
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    19
			description: (‘<1s> does not match <2s>’ expandMacrosWith: eachMeta with: eachString)
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    20
			resumable: true].
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    21
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    22
Raising a ResumableTestFailure means that all the assertions will be run (if the test case is logging, this will print out a message to the log for each one that fails).  When debugging, the user can hit ''proceed'' to continue the test and see which other expressions do not match.'
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    23
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    24
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    25
"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    26
! !
105
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    27
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    28
!ResumableTestFailure methodsFor:'Camp Smalltalk'!
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    29
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    30
handleFailureWith:something
105
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    31
    "resumable test failure. Continue with the test suite"
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    32
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    33
    ^ self resumeWith:something
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    34
!
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    35
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    36
mayProceed
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    37
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    38
    ^ true
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    39
!
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    40
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    41
sunitExitWith: aValue
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    42
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    43
	^self resume: aValue
105
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    44
! !
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    45
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    46
!ResumableTestFailure class methodsFor:'documentation'!
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    47
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    48
version
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    49
    ^ '$Header: /cvs/stx/stx/goodies/sunit/ResumableTestFailure.st,v 1.2 2011-06-29 19:15:49 cg Exp $'
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    50
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    51
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    52
version_SVN
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    53
    ^ '§Id: ResumableTestFailure.st 204 2010-09-11 15:21:51Z vranyj1 §'
105
d1f46b4e732a initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    54
! !