As of commit 3044839456 tests that
return something other than the prescribed success atom 'pass' to
indicate success result in test failure. Change tests that return the
atom 'ok' or some other value to instead return 'pass' to indicate
success.
The test detects the busy dist port event, and immediately fetches the
logs and parses them looking for it in the output. But it's failing
because the message appears an instant after the logs are fetched.
This changes it so it will retry a few times as we do with most things.
if lager interface changes again we don't want to hold up the entire
suite because we didn't cleanup after this test (leaving a riak process
paused with "kill -STOP")
This should resolve issue #113.
Added function to load code modules, clean directories within data and
using new put dir function where needed.
Changing die-die-die! approach to use cast in case remote call to node
to shoot itself in the head hangs.
* install a riak_sysmon custom handler and monitor for the busy_dist_port event on the riak node. when the handler detects the event it notifies the test process
* install riak_test_lager_backend on the riak node to capture log messages in memory. When the test process is notified that the busy dist port event fired on the riak node it retrieves the logs from the backend using the added get_logs/0 function and then checks for the busy_dist_port message
* there is a subtle race I *think*, that should rarely come up in practice, between lager and the riak_sysmon event handlers with this method of implementing the test that may require use of some form of retry/max retry still
* check the grep logs a max number of times, sleep for some interval in-between each execution of grep
* actually delete the log file
* handle file d.n.e. when using grep (hackily)