The old path handling routine would force loading a bunch of
applications, but it did not necessarily unload them aside from specific
calls that the other test handlers used to need to do, but no longer
needed under the updated path management of 3.7.0.
The leftover calls in the cover compilation bits caused some apps to be
loaded and to remain loaded before tests started.
emacs creates temp files that ends with tilde (~).
These temp files should never be commited.
It is therefore safe to ignore them.
Signed-off-by: Niklas Johansson <raphexion@gmail.com>
This is mostly useful for tests, where a test suite of any kind can be
interrupted halfway through so that the user can probe the running
system to see what is happening.
This is done as follows:
1. the user must call `r3:break()` in a test suite
2. the user runs the task as `r3:async_do(ct)`
3. the test holds up and the user can do whatever
4. the user calls `r3:resume()` and the test proceeds as normal
A safeguard is added so that breakpoints are only triggered in the shell
in async mode
Sample session:
$ rebar3 shell
...
1> rebar_agent:async_do(ct).
ok
...
Running Common Test suites...
%%% rebar_alias_SUITE: .
=== BREAK ===
2> % <do some checks>
2> r3:resume().
ok
3> .....
%%% rebar_as_SUITE: ...........
%%% rebar_compile_SUITE: ......
...
This PR is a simpler and mergeable version of #1853 by @shamis, since
the provider changed format enough to make merging difficult.
Compared to #1853, this also puts the responsibility on each resource to
check rather than adding a new optional callback.
The process dictionary is use as a warning/check cache.