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.

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