summaryrefslogtreecommitdiff
path: root/systest
Commit message (Collapse)AuthorAgeFilesLines
* Fixing systest to use up to date pluginFred Hebert2018-12-081-1/+1
| | | | prevents some failures when running
* make systest suite work on linuxFred Hebert2018-03-301-7/+6
|
* add test in systesthommeabeil2018-03-246-2/+56
|
* Safer purge switchFred Hebert2017-12-061-0/+1
| | | | | | | | | Rather than the caller having to think of what to purge or not, use erlang:check_process_code/2 to detect if the caller (rebar3) may die because of the operation. If so, do a soft purge with a conditional delete instead of a hard purge with a mandatory delete.
* Run a soft purge while within the compiler stepFred Hebert2017-12-056-1/+86
| | | | Prevents the killing of a plugin with itself
* Alias plugin promoted to built-in commandFred Hebert2017-12-054-3/+53
| | | | | | | | | | - Uses the code at https://github.com/tsloughter/rebar_alias and brings it within rebar3 - adds safety checks to prevent redefining built-in commands or obvious circular dependencies between commands (indirect circular deps are still possible) - adds tests - adds a systest to ensure no clash with the existing plugin
* Fix Plugin path handling (again!)Fred Hebert2017-12-042-0/+98
The path reloading of plugins had been fixed properly, but the problem is that the paths it was using to re-load only considered the current compile step, rather than the overall state of plugins. As such, the reloaded paths after plugin compilation only reloaded the *latest* plugin and not the other ones. This fix forces the addition of all built plugin paths to the code paths after a plugin compile job is run. This ensures that the path is clean for initial plugin deps (only add those that are required), and is re-made total after the fact (add all the plugins possible). This commit also includes a system tests suite that can be run optionally; the problem with this plugin mechanism was impossible to find through mocked dependencies, and a working counterexample was provided to us. The systest suite can be run against real projects without conflict to make sure no regressions are hit.