25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
3.6 KiB

  1. -module(rebar_as_SUITE).
  2. -export([suite/0,
  3. init_per_suite/1,
  4. end_per_suite/1,
  5. init_per_testcase/2,
  6. all/0,
  7. as_basic/1,
  8. as_multiple_profiles/1,
  9. as_multiple_tasks/1,
  10. as_multiple_profiles_multiple_tasks/1,
  11. as_comma_placement/1,
  12. as_dir_name/1]).
  13. -include_lib("common_test/include/ct.hrl").
  14. -include_lib("eunit/include/eunit.hrl").
  15. -include_lib("kernel/include/file.hrl").
  16. suite() -> [].
  17. init_per_suite(Config) -> Config.
  18. end_per_suite(_Config) -> ok.
  19. init_per_testcase(_, Config) ->
  20. rebar_test_utils:init_rebar_state(Config, "as_").
  21. all() -> [as_basic, as_multiple_profiles, as_multiple_tasks,
  22. as_multiple_profiles_multiple_tasks, as_comma_placement,
  23. as_dir_name].
  24. as_basic(Config) ->
  25. AppDir = ?config(apps, Config),
  26. Name = rebar_test_utils:create_random_name("as_basic_"),
  27. Vsn = rebar_test_utils:create_random_vsn(),
  28. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  29. rebar_test_utils:run_and_check(Config,
  30. [],
  31. ["as", "default", "compile"],
  32. {ok, [{app, Name}]}).
  33. as_multiple_profiles(Config) ->
  34. AppDir = ?config(apps, Config),
  35. Name = rebar_test_utils:create_random_name("as_multiple_profiles_"),
  36. Vsn = rebar_test_utils:create_random_vsn(),
  37. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  38. rebar_test_utils:run_and_check(Config,
  39. [],
  40. ["as", "foo", ",", "bar", "compile"],
  41. {ok, [{app, Name}]}).
  42. as_multiple_tasks(Config) ->
  43. AppDir = ?config(apps, Config),
  44. Name = rebar_test_utils:create_random_name("as_multiple_tasks_"),
  45. Vsn = rebar_test_utils:create_random_vsn(),
  46. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  47. rebar_test_utils:run_and_check(Config,
  48. [],
  49. ["as", "foo", "clean", ",", "compile"],
  50. {ok, [{app, Name}]}).
  51. as_multiple_profiles_multiple_tasks(Config) ->
  52. AppDir = ?config(apps, Config),
  53. Name = rebar_test_utils:create_random_name("as_multiple_profiles_multiple_tasks_"),
  54. Vsn = rebar_test_utils:create_random_vsn(),
  55. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  56. rebar_test_utils:run_and_check(Config,
  57. [],
  58. ["as", "foo", ",", "bar", "clean", ",", "compile"],
  59. {ok, [{app, Name}]}).
  60. as_comma_placement(Config) ->
  61. AppDir = ?config(apps, Config),
  62. Name = rebar_test_utils:create_random_name("as_comma_placement_"),
  63. Vsn = rebar_test_utils:create_random_vsn(),
  64. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  65. rebar_test_utils:run_and_check(Config,
  66. [],
  67. ["as", "foo,bar", ",", "baz", ",qux", "compile"],
  68. {ok, [{app, Name}]}).
  69. as_dir_name(Config) ->
  70. AppDir = ?config(apps, Config),
  71. Name = rebar_test_utils:create_random_name("as_dir_name_"),
  72. Vsn = rebar_test_utils:create_random_vsn(),
  73. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  74. rebar_test_utils:run_and_check(Config,
  75. [],
  76. ["as", "foo,bar,baz", "compile"],
  77. {ok, [{app, Name}]}),
  78. true = filelib:is_dir(filename:join([AppDir, "_build", "foo+bar+baz"])).