View Source Corsa.StateM.Monitor (corsa v0.1.2)

Macros in this module generate the necessary intrumentation to monitor an Elixir process.

It also contains the main API to interact with Corsa monitors.

Examples

iex> defmodule Elixir.Corsa.StateM.Monitor.Example1 do
...>   use Corsa.Assert
...>   use Corsa.StateM, state: true
...>   use Corsa.StateM.Monitor
...>   use Corsa.StateM.Model
...>
...>   init 0
...>   next f(), do: state + 1
...>   post f(), do: result == state
...>   def f() do 0 end
...> end
iex> Elixir.Corsa.StateM.Monitor.Example1.f()
iex> Elixir.Corsa.StateM.Monitor.Example1.f()
** (Corsa.PostViolationError) @post does not hold in call 'Corsa.StateM.Monitor.Example1.f()' with result '0' in state '1'

Summary

Functions

Link to this function

finish_monitored_call(arg, ref, result, list)

View Source

TODO

Link to this function

start_monitored_call(call, list)

View Source

TODO