Another year has passed, so it’s more than time for another post, though a really quick one.
- Install concuerror
- Remember the path you installed it to
- Run the following, replacing
../Concuerrorwith the path you actually installed it too,
Elixir.Ps.Trackerwith the module you defined your test function in,
testwith your test functions name and
_build/dev/lib/ps/ebinwith your projects name. Your test function should start the run of the interaction you want concuerror to analyze.
mix compile ../Concuerror/concuerror -m Elixir.Ps.Tracker -t test --pa _build/dev/lib/ps/ebin --pa /usr/local/Cellar/elixir/1.2.4/lib/elixir/ebin --graph graph.dot --non_racing_system user
Note that you have to manually compile your Elixir code as concuerror works on compiled ebins. Also note that you have to pass in the path to Elixirs ebin directory, I added the one from Elixir 1.2.4 installed via homebrew on OS X here.
Oh, and by the way,
--non_racing_system user prevents warnings due to the possiblity of garbling ouput when multiple processes print to the shell. Use Logger for logging.