Tim Buchwaldt 7 vuotta sitten
vanhempi
commit
7c1e6daae5

+ 3 - 3
lib/gen_reset.ex

@@ -11,6 +11,7 @@ defmodule GenReset do
         case init(:erlang.get(:"$gen_reset_initial_args")) do
           {:ok, state} ->
             {:reply, :ok, state}
+
           {:ok, state, continue} ->
             {:reply, :ok, state, continue}
         end
@@ -24,8 +25,6 @@ defmodule GenReset do
   end
 end
 
-
-
 defmodule Server do
   use GenServer
   use GenReset
@@ -34,6 +33,7 @@ defmodule Server do
     register_gen_reset(args)
     {:ok, args}
   end
+
   def handle_call(:state, _from, state), do: {:reply, state, state}
   def handle_cast({:set, value}, _state), do: {:noreply, value}
-end
+end

+ 1 - 4
lib/gen_reset/gen_reset_tracker.ex

@@ -46,14 +46,11 @@ defmodule GenReset.Tracker do
     end
   end
 
-
   def handle_call(:pids, _from, state), do: {:reply, state, state}
 
   def handle_call(:internal_reset, _from, _state), do: {:reply, :ok, []}
 
-
   def handle_info({:DOWN, _ref, :process, object, _reason}, state) do
     {:noreply, state -- [object]}
   end
-
-end
+end

+ 6 - 6
test/gen_reset_test.exs

@@ -2,12 +2,12 @@ defmodule GenResetTest do
   use ExUnit.Case
 
   test "resets state manually" do
-  	{:ok, pid} = GenServer.start_link(Server, :fresh_state)
-  	assert GenServer.call(pid, :state) == :fresh_state
-  	GenServer.cast(pid, {:set, :foo})
-  	assert GenServer.call(pid, :state) == :foo
+    {:ok, pid} = GenServer.start_link(Server, :fresh_state)
+    assert GenServer.call(pid, :state) == :fresh_state
+    GenServer.cast(pid, {:set, :foo})
+    assert GenServer.call(pid, :state) == :foo
 
-		GenServer.call(pid, :"$gen_reset")
-  	assert GenServer.call(pid, :state) == :fresh_state
+    GenServer.call(pid, :"$gen_reset")
+    assert GenServer.call(pid, :state) == :fresh_state
   end
 end

+ 23 - 20
test/gen_reset_tracker_test.exs

@@ -8,40 +8,44 @@ defmodule GenReset.TrackerTest do
 
   test "adding pids" do
     assert GenReset.Tracker.add(self()) == :ok
-    assert GenReset.Tracker.pids == [self()]
+    assert GenReset.Tracker.pids() == [self()]
   end
 
   test "removing existing pid" do
     assert GenReset.Tracker.add(self()) == :ok
-    assert GenReset.Tracker.pids == [self()]
+    assert GenReset.Tracker.pids() == [self()]
     assert GenReset.Tracker.remove(self()) == :ok
-    assert GenReset.Tracker.pids == []
-
+    assert GenReset.Tracker.pids() == []
   end
 
   test "dead pid is automatically removed" do
-    pid = Process.spawn(fn ->
-      receive do
-        _ -> :ok
-      end
-     end, [])
+    pid =
+      Process.spawn(
+        fn ->
+          receive do
+            _ -> :ok
+          end
+        end,
+        []
+      )
+
     GenReset.Tracker.add(pid)
-    assert GenReset.Tracker.pids == [pid]
+    assert GenReset.Tracker.pids() == [pid]
     Process.exit(pid, :kill)
+
     TimeHelper.wait_until(fn ->
-      assert GenReset.Tracker.pids == []
+      assert GenReset.Tracker.pids() == []
     end)
-   end
+  end
 
-   test "resetting all pids triggers reset" do
-     GenReset.Tracker.add(self())
-     Process.spawn(fn -> GenReset.Tracker.reset() end, [])
-     assert_receive {:"$gen_call", {_pid, _ref}, :"$gen_reset"}
-   end
+  test "resetting all pids triggers reset" do
+    GenReset.Tracker.add(self())
+    Process.spawn(fn -> GenReset.Tracker.reset() end, [])
+    assert_receive {:"$gen_call", {_pid, _ref}, :"$gen_reset"}
+  end
 end
 
 defmodule TimeHelper do
-
   def wait_until(fun), do: wait_until(500, fun)
 
   def wait_until(0, fun), do: fun.()
@@ -55,5 +59,4 @@ defmodule TimeHelper do
         wait_until(max(0, timeout - 10), fun)
     end
   end
-
-end
+end