author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 28 Aug 2017 16:16:00 +0100 | |
branch | jv |
changeset 4259 | 4f1299274d32 |
permissions | -rw-r--r-- |
4259
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'stx:libbasic3/tests' }" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
"{ NameSpace: Smalltalk }" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
TestCase subclass:#MessageTracerTests |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
instanceVariableNames:'methods' |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
classVariableNames:'' |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
poolDictionaries:'' |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
category:'System-Debugging-Support-Tests' |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
!MessageTracerTests methodsFor:'change & update'! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
update: aspect with: param from: sender |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
aspect == #methodTrap ifTrue:[ |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
methods add: (param changeClass >> param changeSelector) |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
]. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
"Created: / 28-08-2017 / 17:45:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
! ! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
!MessageTracerTests methodsFor:'private'! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
add: x to: y |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
^ x + y |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
"Created: / 28-08-2017 / 15:59:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
! ! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
!MessageTracerTests methodsFor:'running'! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
setUp |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
Smalltalk addDependent: self. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
methods := Set new. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
"Created: / 28-08-2017 / 17:41:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
tearDown |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
Smalltalk removeDependent: self. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
methods do:[:method | MessageTracer unwrapMethod: method ] |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
"Created: / 28-08-2017 / 16:01:28 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
"Modified: / 28-08-2017 / 17:42:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
! ! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
!MessageTracerTests methodsFor:'tests - mocking'! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
test_mock_01a |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
self assert: (self add: 1 to: 1) == 2. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
MessageTracer mock: #add:to: in: self class do: [ 0 ]. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
self assert: (self add: 1 to: 1) == 0. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
"Created: / 28-08-2017 / 16:02:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
test_mock_01b |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
self assert: (self add: 1 to: 1) == 2. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
MessageTracer mock: #add:to: in: self class do: [ :r :x :y | r ]. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
self assert: (self add: 1 to: 1) == self. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
"Created: / 28-08-2017 / 16:04:06 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
test_mock_01c |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
self assert: (self add: 1 to: 1) == 2. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
MessageTracer mock: #add:to: in: self class do: [ :r :x :y | x - y ]. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
self assert: (self add: 1 to: 2) == -1. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
"Created: / 28-08-2017 / 16:04:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
test_mock_01d |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
self assert: (self add: 1 to: 1) == 2. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
MessageTracer mock: #add:to: in: self class do: [ :r :x :y :m | (m valueWithReceiver: r arguments: { x . y }) + 10 ]. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
self assert: (self add: 1 to: 3) == 14. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
"Created: / 28-08-2017 / 16:05:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
test_mock_02a |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
| blocker value | |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
self assert: (self add: 1 to: 1) == 2. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
MessageTracer mock: #add:to: in: self class do:[ 0 ]. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
blocker := Semaphore new: 0. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
[ |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
value := self add: 10 to: -5. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
blocker signal. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
] fork. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
blocker wait. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
self assert: value == 0. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
"Created: / 28-08-2017 / 16:08:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
test_mock_02b |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
| blocker1 blocker2 value | |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
self assert: (self add: 1 to: 1) == 2. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
MessageTracer mock: #add:to: in: self class do:[ 0 ]. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
blocker1 := Semaphore new: 0. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
[ |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
blocker2 := Semaphore new: 0. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
[ |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
value := self add: 10 to: -5. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
blocker2 signal. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
] fork. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
blocker2 wait. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
blocker1 signal. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
] fork. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
blocker1 wait. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
self assert: value == 0. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
122 |
"Created: / 28-08-2017 / 16:10:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
123 |
! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
124 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
test_mock_03a |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
126 |
| blocker1 blocker2 threads | |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
threads := Set new. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
MessageTracer mock: #newProcess in: Block do:[:r :m | |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
| p | |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
133 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
p := m valueWithReceiver: r arguments: #(). |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
threads add: p. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
p |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
]. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
ObjectMemory flushCaches. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
139 |
blocker1 := Semaphore new: 0. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
[ |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
blocker2 := Semaphore new: 0. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
142 |
[ |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
blocker2 signal. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
144 |
] fork. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
145 |
blocker2 wait. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
blocker1 signal. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
] fork. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
blocker1 wait. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
self assert: threads size == 2. |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
151 |
"Created: / 28-08-2017 / 16:24:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
! ! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
!MessageTracerTests class methodsFor:'documentation'! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
version_HG |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
|
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
^ '$Changeset: <not expanded> $' |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
! ! |
4f1299274d32
Added (some) tests for `MessageTracer`
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |