diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2018-02-21 19:25:12 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-21 19:25:12 -0500 |
commit | 94ea0630b1b9b06459857e98f83c8b0ef5dbecc4 (patch) | |
tree | 0fbccee2040e1a152263940f8392b00109e178c9 /test | |
parent | ea79c6ad8815f6b74fc673668ba5f63f8763b2e0 (diff) | |
parent | fee322edb91bd04fc24287f28d94c08fe0632812 (diff) |
Merge pull request #1698 from campanja-forks/run-clean-hooks
fix hooks and plugins usage when cleaning build artifacts for deps
Diffstat (limited to 'test')
-rw-r--r-- | test/rebar_hooks_SUITE.erl | 27 |
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), |