ManyTestResourceTestCase.st
author Jan Vrany <jan.vrany@labware.com>
Fri, 07 Oct 2022 12:27:15 +0100
branchjv
changeset 773 5e936bce7857
parent 724 4dae63fce9f9
permissions -rw-r--r--
Increase interation times when running under Jenkins ...to ridiculously high values. This is an attempt to stabilize builds as they often spuriously fail because of UI tests. Sigh.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
724
4dae63fce9f9 vIssue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 664
diff changeset
     1
"{ Encoding: utf8 }"
4dae63fce9f9 vIssue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 664
diff changeset
     2
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ Package: 'stx:goodies/sunit' }"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
664
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
     5
"{ NameSpace: Smalltalk }"
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
     6
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
SimpleTestResourceTestCase subclass:#ManyTestResourceTestCase
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	instanceVariableNames:''
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	classVariableNames:''
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	poolDictionaries:''
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
	category:'SUnit-Tests'
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!ManyTestResourceTestCase class methodsFor:'accessing'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
resources
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	^super resources, (Array with: SimpleTestResourceA with: SimpleTestResourceB)
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!ManyTestResourceTestCase class methodsFor:'testing'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
shouldInheritSelectors
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
	^true
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!ManyTestResourceTestCase methodsFor:'running'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
testTearDownOrder
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	| myResourceSetUpOrder myResourceReverseTearDownOrder |
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	myResourceReverseTearDownOrder := OrderedCollection new: 7.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	myResourceSetUpOrder := (OrderedCollection new: 7)
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
		add: SimpleTestResource;
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
		add: SimpleTestResourceA1;
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
		add: SimpleTestResourceA2;
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
		add: SimpleTestResourceA;
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
		add: SimpleTestResourceB1;
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
		add: SimpleTestResourceB;
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
		yourself.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	self assert: (myResourceSetUpOrder allSatisfy: [:each | each isAvailable])
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
		description: 'At test start, not all my resources were set up'.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	self class resources do:
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
		[:each | each resetOrAddResourcesTo: myResourceReverseTearDownOrder].
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	self assert: myResourceReverseTearDownOrder = myResourceSetUpOrder
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
		description: 'Wrong order for tearDown'.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
	self assert: (myResourceSetUpOrder allSatisfy: [:each | each isAvailable])
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
		description: 'At test start, not all my resources were set up'.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!ManyTestResourceTestCase methodsFor:'utility'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
clearOuterResourceStateDuring: aBlock
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
	"This self-testing test must clear the outer state of its resources before starting and after finishing, so that it can construct test cases and suites of itself and test them."
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	self assert: SimpleTestResourceA1 isAlreadyAvailable
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
		description: 'The resource was not set up for the test'.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
	SimpleTestResourceA reset.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
	SimpleTestResourceB reset.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
	SimpleTestResourceA1 reset.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
	self deny: SimpleTestResourceA1 isAlreadyAvailable
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
		description: 'The resource was still set up before we began the run'.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
	^[super clearOuterResourceStateDuring: aBlock] sunitEnsure:
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
		[self deny: SimpleTestResourceA1 isAlreadyAvailable
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
			description: 'The resource was still set up after we finished the run'.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
		self deny: SimpleTestResourceB1 isAlreadyAvailable
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
			description: 'The resource was still set up after we finished the run'.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
		SimpleTestResourceA isAvailable.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
		self assert: SimpleTestResourceA1 isAlreadyAvailable
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
			description: 'The resource was not set up again after the test'.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
		SimpleTestResourceB isAvailable.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
		self assert: SimpleTestResourceB1 isAlreadyAvailable
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
			description: 'The resource was not set up again after the test'.].
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    "Modified: / 11-09-2010 / 16:44:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
!ManyTestResourceTestCase class methodsFor:'documentation'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
version_SVN
724
4dae63fce9f9 vIssue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 664
diff changeset
    80
    ^ '§Id: ManyTestResourceTestCase.st 214 2011-03-14 12:22:21Z vranyj1 §'
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
! !
664
e31b2e7b658d FIX: Do not treat skipped test as passed!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 222
diff changeset
    82