diff options
-rw-r--r-- | test/rebar_hooks_SUITE.erl | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/test/rebar_hooks_SUITE.erl b/test/rebar_hooks_SUITE.erl index 7df4ea3..3908ca1 100644 --- a/test/rebar_hooks_SUITE.erl +++ b/test/rebar_hooks_SUITE.erl @@ -7,6 +7,7 @@ end_per_testcase/2, all/0, build_and_clean_app/1, + escriptize_artifacts/1, run_hooks_once/1, run_hooks_for_plugins/1, deps_hook_namespace/1]). @@ -31,7 +32,7 @@ end_per_testcase(_, _Config) -> catch meck:unload(). all() -> - [build_and_clean_app, run_hooks_once, + [build_and_clean_app, run_hooks_once, escriptize_artifacts, run_hooks_for_plugins, deps_hook_namespace]. %% Test post provider hook cleans compiled project app, leaving it invalid @@ -45,6 +46,33 @@ build_and_clean_app(Config) -> rebar_test_utils:run_and_check(Config, [{provider_hooks, [{post, [{compile, clean}]}]}], ["compile"], {ok, [{app, Name, invalid}]}). +escriptize_artifacts(Config) -> + AppDir = ?config(apps, Config), + + Name = rebar_test_utils:create_random_name("app1_"), + Vsn = rebar_test_utils:create_random_vsn(), + rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]), + + Artifact = "bin/"++Name, + RConfFile = + rebar_test_utils:create_config(AppDir, + [ + {escript_name, list_to_atom(Name)} + ,{artifacts, [Artifact]} + ]), + {ok, RConf} = file:consult(RConfFile), + + try rebar_test_utils:run_and_check(Config, RConf, ["compile"], []) + catch + {error, + {rebar_prv_compile, + {missing_artifact, Artifact}}} -> + ok + end, + rebar_test_utils:run_and_check(Config, RConf++[{provider_hooks, [{post, [{compile, escriptize}]}]}], + ["compile"], {ok, [{app, Name, valid} + ,{file, filename:join([AppDir, "_build/default/", Artifact])}]}). + run_hooks_once(Config) -> AppDir = ?config(apps, Config), |