您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

49 行
1.6 KiB

  1. -module(rebar_hooks_SUITE).
  2. -export([suite/0,
  3. init_per_suite/1,
  4. end_per_suite/1,
  5. init_per_testcase/2,
  6. all/0,
  7. build_and_clean_app/1,
  8. run_hooks_once/1]).
  9. -include_lib("common_test/include/ct.hrl").
  10. -include_lib("eunit/include/eunit.hrl").
  11. -include_lib("kernel/include/file.hrl").
  12. suite() ->
  13. [].
  14. init_per_suite(Config) ->
  15. Config.
  16. end_per_suite(_Config) ->
  17. ok.
  18. init_per_testcase(_, Config) ->
  19. rebar_test_utils:init_rebar_state(Config).
  20. all() ->
  21. [build_and_clean_app, run_hooks_once].
  22. %% Test post provider hook cleans compiled project app, leaving it invalid
  23. build_and_clean_app(Config) ->
  24. AppDir = ?config(apps, Config),
  25. Name = rebar_test_utils:create_random_name("app1_"),
  26. Vsn = rebar_test_utils:create_random_vsn(),
  27. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  28. rebar_test_utils:run_and_check(Config, [], ["compile"], {ok, [{app, Name, valid}]}),
  29. rebar_test_utils:run_and_check(Config, [{provider_hooks, [{post, [{compile, clean}]}]}],
  30. ["compile"], {ok, [{app, Name, invalid}]}).
  31. run_hooks_once(Config) ->
  32. AppDir = ?config(apps, Config),
  33. Name = rebar_test_utils:create_random_name("app1_"),
  34. Vsn = rebar_test_utils:create_random_vsn(),
  35. RebarConfig = [{pre_hooks, [{compile, "mkdir blah"}]}],
  36. rebar_test_utils:create_config(AppDir, RebarConfig),
  37. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  38. rebar_test_utils:run_and_check(Config, RebarConfig, ["compile"], {ok, [{app, Name, valid}]}).