Skip to content

Commit b8ec2e3

Browse files
committed
Prefer spawn! over spawn in actor specs
1 parent a0a7702 commit b8ec2e3

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

spec/concurrent/actor_spec.rb

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def initialize(queue)
2424
def on_message(message)
2525
case message
2626
when :child
27-
AdHoc.spawn(:pong, @queue) { |queue| -> m { queue << m } }
27+
AdHoc.spawn!(:pong, @queue) { |queue| -> m { queue << m } }
2828
else
2929
@queue << message
3030
message
@@ -33,16 +33,16 @@ def on_message(message)
3333
end
3434

3535
it 'forbids Immediate executor' do
36-
expect { Utils::AdHoc.spawn name: 'test', executor: ImmediateExecutor.new }.to raise_error
36+
expect { Utils::AdHoc.spawn! name: 'test', executor: ImmediateExecutor.new }.to raise_error
3737
end
3838

3939
describe 'spawning' do
40-
describe 'Actor#spawn' do
40+
describe 'Actor#spawn!' do
4141
behaviour = -> v { -> _ { v } }
42-
subjects = { spawn: -> { Actor.spawn(AdHoc, :ping, 'arg', &behaviour) },
43-
context_spawn: -> { AdHoc.spawn(:ping, 'arg', &behaviour) },
44-
spawn_by_hash: -> { Actor.spawn(class: AdHoc, name: :ping, args: ['arg'], &behaviour) },
45-
context_spawn_by_hash: -> { AdHoc.spawn(name: :ping, args: ['arg'], &behaviour) } }
42+
subjects = { spawn: -> { Actor.spawn!(AdHoc, :ping, 'arg', &behaviour) },
43+
context_spawn: -> { AdHoc.spawn!(:ping, 'arg', &behaviour) },
44+
spawn_by_hash: -> { Actor.spawn!(class: AdHoc, name: :ping, args: ['arg'], &behaviour) },
45+
context_spawn_by_hash: -> { AdHoc.spawn!(name: :ping, args: ['arg'], &behaviour) } }
4646

4747
subjects.each do |desc, subject_definition|
4848
describe desc do
@@ -89,14 +89,14 @@ def on_message(message)
8989
end
9090

9191
it 'terminates on failed message processing' do
92-
a = AdHoc.spawn(name: :fail, logger: Concurrent::NULL_LOGGER) { -> _ { raise } }
92+
a = AdHoc.spawn!(name: :fail, logger: Concurrent::NULL_LOGGER) { -> _ { raise } }
9393
expect(a.ask(nil).wait.rejected?).to be_truthy
9494
expect(a.ask!(:terminated?)).to be_truthy
9595
end
9696
end
9797

9898
describe 'messaging' do
99-
subject { AdHoc.spawn(:add) { c = 0; -> v { c = c + v } } }
99+
subject { AdHoc.spawn!(:add) { c = 0; -> v { c = c + v } } }
100100
specify do
101101
subject.tell(1).tell(1)
102102
subject << 1 << 1
@@ -107,10 +107,10 @@ def on_message(message)
107107

108108
describe 'children' do
109109
let(:parent) do
110-
AdHoc.spawn(:parent) do
110+
AdHoc.spawn!(:parent) do
111111
-> message do
112112
if message == :child
113-
AdHoc.spawn(:child) { -> _ { parent } }
113+
AdHoc.spawn!(:child) { -> _ { parent } }
114114
else
115115
children
116116
end
@@ -128,7 +128,7 @@ def on_message(message)
128128
end
129129

130130
describe 'envelope' do
131-
subject { AdHoc.spawn(:subject) { -> _ { envelope } } }
131+
subject { AdHoc.spawn!(:subject) { -> _ { envelope } } }
132132
specify do
133133
envelope = subject.ask!('a')
134134
expect(envelope).to be_a_kind_of Envelope
@@ -142,8 +142,8 @@ def on_message(message)
142142

143143
describe 'termination' do
144144
subject do
145-
AdHoc.spawn(:parent) do
146-
child = AdHoc.spawn(:child) { -> v { v } }
145+
AdHoc.spawn!(:parent) do
146+
child = AdHoc.spawn!(:child) { -> v { v } }
147147
-> v { child }
148148
end
149149
end
@@ -171,8 +171,8 @@ def on_message(message)
171171

172172
describe 'message redirecting' do
173173
let(:parent) do
174-
AdHoc.spawn(:parent) do
175-
child = AdHoc.spawn(:child) { -> m { m+1 } }
174+
AdHoc.spawn!(:parent) do
175+
child = AdHoc.spawn!(:child) { -> m { m+1 } }
176176
-> message do
177177
if message == :child
178178
child
@@ -192,9 +192,9 @@ def on_message(message)
192192
queue = Queue.new
193193
failure = nil
194194
# FIXME this leads to weird message processing ordering
195-
# failure = AdHoc.spawn(:failure) { -> m { terminate! } }
195+
# failure = AdHoc.spawn!(:failure) { -> m { terminate! } }
196196
monitor = AdHoc.spawn!(:monitor) do
197-
failure = AdHoc.spawn(:failure) { -> m { m } }
197+
failure = AdHoc.spawn!(:failure) { -> m { m } }
198198
failure << :link
199199
-> m { queue << [m, envelope.sender] }
200200
end
@@ -209,7 +209,7 @@ def on_message(message)
209209
queue = Queue.new
210210
failure = nil
211211
monitor = AdHoc.spawn!(:monitor) do
212-
failure = AdHoc.spawn(name: :failure, link: true) { -> m { m } }
212+
failure = AdHoc.spawn!(name: :failure, link: true) { -> m { m } }
213213
-> m { queue << [m, envelope.sender] }
214214
end
215215

@@ -225,8 +225,8 @@ def on_message(message)
225225
queue = Queue.new
226226
resuming_behaviour = Behaviour.restarting_behaviour_definition(:resume!)
227227

228-
test = AdHoc.spawn name: :tester, behaviour_definition: resuming_behaviour do
229-
actor = AdHoc.spawn name: :pausing, behaviour_definition: Behaviour.restarting_behaviour_definition do
228+
test = AdHoc.spawn! name: :tester, behaviour_definition: resuming_behaviour do
229+
actor = AdHoc.spawn! name: :pausing, behaviour_definition: Behaviour.restarting_behaviour_definition do
230230
queue << :init
231231
-> m { m == :add ? 1 : pass }
232232
end
@@ -248,8 +248,8 @@ def on_message(message)
248248

249249
it 'pauses on error and resets' do
250250
queue = Queue.new
251-
test = AdHoc.spawn name: :tester, behaviour_definition: Behaviour.restarting_behaviour_definition do
252-
actor = AdHoc.spawn name: :pausing, behaviour_definition: Behaviour.restarting_behaviour_definition do
251+
test = AdHoc.spawn! name: :tester, behaviour_definition: Behaviour.restarting_behaviour_definition do
252+
actor = AdHoc.spawn! name: :pausing, behaviour_definition: Behaviour.restarting_behaviour_definition do
253253
queue << :init
254254
-> m { m == :object_id ? self.object_id : pass }
255255
end
@@ -284,9 +284,9 @@ def on_message(message)
284284
end
285285
end
286286

287-
test = AdHoc.spawn name: :tester, behaviour_definition: resuming_behaviour do
287+
test = AdHoc.spawn! name: :tester, behaviour_definition: resuming_behaviour do
288288

289-
actor = AdHoc.spawn name: :pausing,
289+
actor = AdHoc.spawn! name: :pausing,
290290
behaviour_definition: Behaviour.restarting_behaviour_definition do
291291
queue << :init
292292
-> m { m == :add ? 1 : pass }
@@ -316,7 +316,7 @@ def on_message(message)
316316
it 'supports asks', buggy: true do
317317
children = Queue.new
318318
pool = Concurrent::Actor::Utils::Pool.spawn! 'pool', 5 do |index|
319-
worker = Concurrent::Actor::Utils::AdHoc.spawn name: "worker-#{index}", supervised: true do
319+
worker = Concurrent::Actor::Utils::AdHoc.spawn! name: "worker-#{index}", supervised: true do
320320
lambda do |message|
321321
fail if message == :fail
322322
5 + message

0 commit comments

Comments
 (0)