You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
4.1 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_comma_then_space/1,
  13. as_dir_name/1]).
  14. -include_lib("common_test/include/ct.hrl").
  15. -include_lib("eunit/include/eunit.hrl").
  16. -include_lib("kernel/include/file.hrl").
  17. suite() -> [].
  18. init_per_suite(Config) -> Config.
  19. end_per_suite(_Config) -> ok.
  20. init_per_testcase(_, Config) ->
  21. rebar_test_utils:init_rebar_state(Config, "as_").
  22. all() -> [as_basic, as_multiple_profiles, as_multiple_tasks,
  23. as_multiple_profiles_multiple_tasks,
  24. as_comma_placement, as_comma_then_space,
  25. as_dir_name].
  26. as_basic(Config) ->
  27. AppDir = ?config(apps, Config),
  28. Name = rebar_test_utils:create_random_name("as_basic_"),
  29. Vsn = rebar_test_utils:create_random_vsn(),
  30. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  31. rebar_test_utils:run_and_check(Config,
  32. [],
  33. ["as", "default", "compile"],
  34. {ok, [{app, Name}]}).
  35. as_multiple_profiles(Config) ->
  36. AppDir = ?config(apps, Config),
  37. Name = rebar_test_utils:create_random_name("as_multiple_profiles_"),
  38. Vsn = rebar_test_utils:create_random_vsn(),
  39. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  40. rebar_test_utils:run_and_check(Config,
  41. [],
  42. ["as", "foo", ",", "bar", "compile"],
  43. {ok, [{app, Name}]}).
  44. as_multiple_tasks(Config) ->
  45. AppDir = ?config(apps, Config),
  46. Name = rebar_test_utils:create_random_name("as_multiple_tasks_"),
  47. Vsn = rebar_test_utils:create_random_vsn(),
  48. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  49. rebar_test_utils:run_and_check(Config,
  50. [],
  51. ["as", "foo", "clean", ",", "compile"],
  52. {ok, [{app, Name}]}).
  53. as_multiple_profiles_multiple_tasks(Config) ->
  54. AppDir = ?config(apps, Config),
  55. Name = rebar_test_utils:create_random_name("as_multiple_profiles_multiple_tasks_"),
  56. Vsn = rebar_test_utils:create_random_vsn(),
  57. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  58. rebar_test_utils:run_and_check(Config,
  59. [],
  60. ["as", "foo", ",", "bar", "clean", ",", "compile"],
  61. {ok, [{app, Name}]}).
  62. as_comma_placement(Config) ->
  63. AppDir = ?config(apps, Config),
  64. Name = rebar_test_utils:create_random_name("as_comma_placement_"),
  65. Vsn = rebar_test_utils:create_random_vsn(),
  66. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  67. rebar_test_utils:run_and_check(Config,
  68. [],
  69. ["as", "foo,bar", ",", "baz", ",qux", "compile"],
  70. {ok, [{app, Name}]}).
  71. as_comma_then_space(Config) ->
  72. AppDir = ?config(apps, Config),
  73. Name = rebar_test_utils:create_random_name("as_comma_then_space_"),
  74. Vsn = rebar_test_utils:create_random_vsn(),
  75. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  76. rebar_test_utils:run_and_check(Config,
  77. [],
  78. ["as", "foo,", "bar,", "baz", "compile"],
  79. {ok, [{app, Name}]}).
  80. as_dir_name(Config) ->
  81. AppDir = ?config(apps, Config),
  82. Name = rebar_test_utils:create_random_name("as_dir_name_"),
  83. Vsn = rebar_test_utils:create_random_vsn(),
  84. rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
  85. rebar_test_utils:run_and_check(Config,
  86. [],
  87. ["as", "foo,bar,baz", "compile"],
  88. {ok, [{app, Name}]}),
  89. true = filelib:is_dir(filename:join([AppDir, "_build", "foo+bar+baz"])).