compiles and mostly should be done, but needs sanity checking and some
adjustment to how it's collecting stats, as dstat is junk and it'd be
better I guess to get the stats directly?
Change some of the helper functions in the repl_util module to handle
errors more sensibly so that cluster setup race conditions do not
cause unnecessary test failures.
* Change group leader for cover_server while generating reports, so the
'includes data from imported files' message can be suppressed.
* Append a phash of the test metadata to the coverdata filename to keep
them unique.
* Removed unused maybe_stop function.
To enable us to be able to see the *combined* coverage of our unit and
integration tests, modify riak_test and the smoke_test runner to capture
coverage data per-test and post it as a giddyup artifact.
To maintain the current riak_test behaviour where the *combined*
coverage is reported on at the end of a run, each test writes its own
.coverdata file, cover is reset and then once all tests are run, the
coverdata files are all loaded and the total coverage is reported.
Recently Scott was running into an issue running `verify_handoff`
where his old data was not being properly reset when running
`setup_harness`. I noticed we were using `os:cmd` which doesn't check
the exit code of the command. I modified `run_git` to use `cmd` as
well as verify the exit code is 0. This allowed Scott to catch the
real issue which turned out to be a bad path in his config.
While making this modification I noticed a bug in the pipe cleanup
code. The `file:del_dir` call is actually returning `{error, eexist}`
because there is a `bin` directory under each pipe dir which had not
yet been deleted. Rather than spend time writing a recursive delete in
Erlang I changed the code to use `cmd` and to confirm an exit of 0.
I modified `stop_all`, which is used by `setup_harness`, to also use
`cmd` and check exit codes.
Finally I make sure that `spawn_cmd` flattens the list before passing
it along as `open_port` wants a string not an iolist.
Well, that's not true. They break riak_kv's context operations on Maps.
This change works around that breakage by turning the context off for
the operations in this test. It is a temporary thing, when the context fix
work has been done, we'll be changing back.
Add functions to assist in manipulation of the advanced.config file
directly, which is required for repl which can not be configured with
Cuttlefish, when enabled.