summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl-Johan Kjellander <cjk@campanja.com>2018-01-02 15:24:07 +0100
committerCarl-Johan Kjellander <cjk@campanja.com>2018-01-19 16:11:15 +0100
commita3b5846b49f034854a7ea585d826ab69869320ef (patch)
treeacbcec7e038d835a6ee9ec554b7c127da5bf2cbf /test
parentb5d7d358ffe68c0cd87715033427b55cd6b2dc4b (diff)
add test for provider_hook clean
Diffstat (limited to 'test')
-rw-r--r--test/rebar_hooks_SUITE.erl27
1 files changed, 25 insertions, 2 deletions
diff --git a/test/rebar_hooks_SUITE.erl b/test/rebar_hooks_SUITE.erl
index f7fcb82..a36dbe1 100644
--- a/test/rebar_hooks_SUITE.erl
+++ b/test/rebar_hooks_SUITE.erl
@@ -12,7 +12,8 @@
run_hooks_once_profiles/1,
run_hooks_for_plugins/1,
eunit_app_hooks/1,
- deps_hook_namespace/1]).
+ deps_hook_namespace/1,
+ deps_clean_hook_namespace/1]).
-include_lib("common_test/include/ct.hrl").
-include_lib("eunit/include/eunit.hrl").
@@ -36,7 +37,7 @@ end_per_testcase(_, _Config) ->
all() ->
[build_and_clean_app, run_hooks_once, run_hooks_once_profiles,
escriptize_artifacts, run_hooks_for_plugins, deps_hook_namespace,
- eunit_app_hooks].
+ deps_clean_hook_namespace, eunit_app_hooks].
%% Test post provider hook cleans compiled project app, leaving it invalid
build_and_clean_app(Config) ->
@@ -134,6 +135,28 @@ deps_hook_namespace(Config) ->
{ok, [{dep, "some_dep"}]}
).
+deps_clean_hook_namespace(Config) ->
+ mock_git_resource:mock([{deps, [{some_dep, "0.0.1"}]}]),
+ Deps = rebar_test_utils:expand_deps(git, [{"some_dep", "0.0.1", []}]),
+ TopDeps = rebar_test_utils:top_level_deps(Deps),
+
+ RebarConfig = [
+ {deps, TopDeps},
+ {overrides, [
+ {override, some_dep, [
+ {provider_hooks, [
+ {pre, [
+ {compile, clean}
+ ]}
+ ]}
+ ]}
+ ]}
+ ],
+ rebar_test_utils:run_and_check(
+ Config, RebarConfig, ["clean"],
+ {ok, [{dep, "some_dep"}]}
+ ).
+
%% Checks that a hook that is defined on an app (not a top level hook of a project with subapps) is run
eunit_app_hooks(Config) ->
AppDir = ?config(apps, Config),