Skip to content

Commit 10bd025

Browse files
committed
Sleep a bunch of times to fix races
1 parent 94e408b commit 10bd025

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

test/registry_test.exs

+26
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ defmodule RegistryTest do
7575
horde = start_registry()
7676

7777
{:ok, pid} = Horde.Registry.register(horde, "hello", :value)
78+
Process.sleep(20)
7879
assert is_pid(pid)
7980
assert Horde.Registry.keys(horde, self()) == ["hello"]
8081

@@ -85,6 +86,7 @@ defmodule RegistryTest do
8586
assert Horde.Registry.keys(horde, self()) == ["hello"]
8687

8788
{:ok, pid} = Horde.Registry.register(horde, "world", :value)
89+
Process.sleep(20)
8890
assert is_pid(pid)
8991
assert Horde.Registry.keys(horde, self()) |> Enum.sort() == ["hello", "world"]
9092
end
@@ -98,6 +100,8 @@ defmodule RegistryTest do
98100
assert {:error, {:already_registered, ^task}} =
99101
Horde.Registry.register(horde, "hello", :recent)
100102

103+
Process.sleep(20)
104+
101105
assert Horde.Registry.keys(horde, self()) == []
102106
{:links, links} = Process.info(self(), :links)
103107
assert Process.whereis(horde) in links
@@ -108,6 +112,7 @@ defmodule RegistryTest do
108112
horde2 = start_registry()
109113

110114
{:ok, _} = Horde.Registry.register(horde1, "hello", :value)
115+
Process.sleep(20)
111116

112117
winner_pid =
113118
spawn_link(fn ->
@@ -212,6 +217,7 @@ defmodule RegistryTest do
212217
name = {:via, Horde.Registry, {horde, "hello"}}
213218
{:ok, pid} = Agent.start_link(fn -> 0 end, name: name)
214219
{:ok, _} = Horde.Registry.register(horde, "world", :value)
220+
Process.sleep(20)
215221

216222
assert Horde.Registry.select(horde, [
217223
{{:"$1", :"$2", :"$3"}, [], [{{:"$1", :"$2", :"$3"}}]}
@@ -225,6 +231,8 @@ defmodule RegistryTest do
225231
value = {1, :atom, 1}
226232
{:ok, _} = Horde.Registry.register(horde, "hello", value)
227233

234+
Process.sleep(20)
235+
228236
assert [{"hello", self(), value}] ==
229237
Horde.Registry.select(horde, [
230238
{{"hello", :"$2", :"$3"}, [], [{{"hello", :"$2", :"$3"}}]}
@@ -262,6 +270,8 @@ defmodule RegistryTest do
262270
value2 = %{a: "a", b: "b"}
263271
{:ok, _} = Horde.Registry.register(horde, "world", value2)
264272

273+
Process.sleep(20)
274+
265275
assert [:match] ==
266276
Horde.Registry.select(horde, [{{"world", self(), %{b: "b"}}, [], [:match]}])
267277

@@ -274,6 +284,7 @@ defmodule RegistryTest do
274284

275285
value = {1, :atom, 2}
276286
{:ok, _} = Horde.Registry.register(horde, "hello", value)
287+
Process.sleep(20)
277288

278289
assert [{"hello", self(), {1, :atom, 2}}] ==
279290
Horde.Registry.select(horde, [
@@ -297,6 +308,7 @@ defmodule RegistryTest do
297308

298309
{:ok, _} = Horde.Registry.register(horde, "hello", :value)
299310
{:ok, _} = Horde.Registry.register(horde, "world", :value)
311+
Process.sleep(20)
300312

301313
assert ["hello", "world"] ==
302314
Horde.Registry.select(horde, [
@@ -378,6 +390,7 @@ defmodule RegistryTest do
378390

379391
Horde.Registry.register(horde, "to_unregister", "match_unregister")
380392
Horde.Registry.register(horde, "another_key", value: 12)
393+
Process.sleep(20)
381394

382395
:ok =
383396
Horde.Registry.unregister_match(
@@ -387,6 +400,8 @@ defmodule RegistryTest do
387400
[{:>, :"$1", 12}]
388401
)
389402

403+
Process.sleep(20)
404+
390405
assert Enum.sort(["another_key", "to_unregister"]) ==
391406
Enum.sort(Horde.Registry.keys(horde, self()))
392407

@@ -398,6 +413,8 @@ defmodule RegistryTest do
398413
[{:>, :"$1", 11}]
399414
)
400415

416+
Process.sleep(20)
417+
401418
assert ["to_unregister"] = Horde.Registry.keys(horde, self())
402419

403420
:ok =
@@ -407,6 +424,8 @@ defmodule RegistryTest do
407424
"doesn't match"
408425
)
409426

427+
Process.sleep(20)
428+
410429
assert [{self(), "match_unregister"}] == Horde.Registry.lookup(horde, "to_unregister")
411430

412431
assert ["to_unregister"] = Horde.Registry.keys(horde, self())
@@ -431,6 +450,7 @@ defmodule RegistryTest do
431450

432451
Horde.Registry.register(horde, "d1", "value1")
433452
Horde.Registry.register(horde, "d2", "value2")
453+
Process.sleep(20)
434454

435455
assert :ok =
436456
Horde.Registry.dispatch(horde, "d1", fn [{pid, value}] ->
@@ -455,6 +475,7 @@ defmodule RegistryTest do
455475

456476
Horde.Registry.register(horde, "foo", "foo")
457477
Horde.Registry.register(horde, "bar", "bar")
478+
Process.sleep(20)
458479
assert 2 = Horde.Registry.count(horde)
459480
end
460481
end
@@ -465,6 +486,7 @@ defmodule RegistryTest do
465486

466487
Horde.Registry.register(horde, "foo", "foo")
467488
Horde.Registry.register(horde, "bar", bar: 33)
489+
Process.sleep(20)
468490

469491
assert 1 = Horde.Registry.count_match(horde, "foo", :_)
470492
assert 0 = Horde.Registry.count_match(horde, "bar", bar: 34)
@@ -493,6 +515,7 @@ defmodule RegistryTest do
493515

494516
Horde.Registry.register(:match_horde, "foo", "foo")
495517
Horde.Registry.register(:match_horde, "bar", bar: 33)
518+
Process.sleep(20)
496519

497520
self = self()
498521
assert [{^self, "foo"}] = Horde.Registry.match(:match_horde, "foo", :_)
@@ -521,6 +544,7 @@ defmodule RegistryTest do
521544
)
522545

523546
Horde.Registry.register(:update_value_horde, "foo", "foo")
547+
Process.sleep(20)
524548

525549
assert {"bar", "foo"} =
526550
Horde.Registry.update_value(:update_value_horde, "foo", fn "foo" -> "bar" end)
@@ -566,6 +590,7 @@ defmodule RegistryTest do
566590
Process.sleep(40)
567591

568592
Horde.Registry.register(horde, :carmen, "foo")
593+
Process.sleep(20)
569594

570595
assert [{self(), "foo"}] == Horde.Registry.lookup(horde, :carmen)
571596
end
@@ -601,6 +626,7 @@ defmodule RegistryTest do
601626
)
602627

603628
Horde.Registry.register(horde, :carmen, "carmen")
629+
Process.sleep(20)
604630

605631
assert_raise ArgumentError, fn ->
606632
Horde.Registry.send({horde, :santiago}, "Where are you?")

0 commit comments

Comments
 (0)