diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2015-07-26 07:52:18 +0100 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2015-07-26 07:52:18 +0100 |
commit | e2b4dcdb4c68c8142aba9835a5ee4c644aef4e9b (patch) | |
tree | 5312e3762996feb316a813880b85aada69bdb173 /test | |
parent | be1b16aea5650b57e28a77db044be27096b60c64 (diff) | |
parent | c983675b9ef8499a41e18ee6b8d83d11d75bd6b7 (diff) |
Merge pull request #642 from tsloughter/validate-otp-version
Validate otp version
Diffstat (limited to 'test')
-rw-r--r-- | test/rebar_utils_SUITE.erl | 69 |
1 files changed, 68 insertions, 1 deletions
diff --git a/test/rebar_utils_SUITE.erl b/test/rebar_utils_SUITE.erl index f04ab63..24e8afe 100644 --- a/test/rebar_utils_SUITE.erl +++ b/test/rebar_utils_SUITE.erl @@ -1,6 +1,8 @@ -module(rebar_utils_SUITE). -export([all/0, + init_per_testcase/2, + end_per_testcase/2, groups/0, init_per_group/2, end_per_group/2, @@ -22,12 +24,23 @@ task_with_flag_with_commas/1, task_with_multiple_flags/1, special_task_do/1, + valid_otp_version/1, + valid_old_format_otp_version/1, + valid_otp_version_equal/1, + invalid_otp_version/1, + nonblacklisted_otp_version/1, + blacklisted_otp_version/1, sh_does_not_miss_messages/1]). -include_lib("common_test/include/ct.hrl"). -include_lib("eunit/include/eunit.hrl"). -include_lib("kernel/include/file.hrl"). +init_per_testcase(_, Config) -> + rebar_test_utils:init_rebar_state(Config). + +end_per_testcase(_, _Config) -> + catch meck:unload(). all() -> [{group, args_to_tasks}, @@ -51,7 +64,14 @@ groups() -> task_with_flag_with_trailing_comma, task_with_flag_with_commas, task_with_multiple_flags, - special_task_do]}]. + special_task_do, + valid_otp_version, + valid_old_format_otp_version, + valid_otp_version_equal, + invalid_otp_version, + nonblacklisted_otp_version, + blacklisted_otp_version + ]}]. init_per_group(_, Config) -> Config. end_per_group(_, Config) -> Config. @@ -120,6 +140,53 @@ special_task_do(_Config) -> "do", "bar,", "baz"]). + +valid_otp_version(_Config) -> + meck:new(rebar_utils, [passthrough]), + meck:expect(rebar_utils, otp_release, fun() -> "42.4" end), + rebar_utils:check_min_otp_version("42.3"), + meck:unload(rebar_utils). + +valid_old_format_otp_version(_Config) -> + meck:new(rebar_utils, [passthrough]), + meck:expect(rebar_utils, otp_release, fun() -> "R15B03-1" end), + rebar_utils:check_min_otp_version("14"), + + meck:expect(rebar_utils, otp_release, fun() -> "R16B03" end), + rebar_utils:check_min_otp_version("16.0"), + + meck:expect(rebar_utils, otp_release, fun() -> "18.0.1" end), + rebar_utils:check_min_otp_version("17.5.4"), + + meck:expect(rebar_utils, otp_release, fun() -> "18.0-rc1" end), + ?assertException(throw, rebar_abort, rebar_utils:check_min_otp_version("19")), + + meck:unload(rebar_utils). + +valid_otp_version_equal(_Config) -> + meck:new(rebar_utils, [passthrough]), + meck:expect(rebar_utils, otp_release, fun() -> "42.3" end), + rebar_utils:check_min_otp_version("42.3"), + meck:unload(rebar_utils). + +invalid_otp_version(_Config) -> + meck:new(rebar_utils, [passthrough]), + meck:expect(rebar_utils, otp_release, fun() -> "17.4" end), + ?assertException(throw, rebar_abort, rebar_utils:check_min_otp_version("42.3")), + meck:unload(rebar_utils). + +nonblacklisted_otp_version(_Config) -> + meck:new(rebar_utils, [passthrough]), + meck:expect(rebar_utils, otp_release, fun() -> "42.4" end), + rebar_utils:check_blacklisted_otp_versions(["1\\.2", "42\\.3"]), + meck:unload(rebar_utils). + +blacklisted_otp_version(_Config) -> + meck:new(rebar_utils, [passthrough]), + meck:expect(rebar_utils, otp_release, fun() -> "42.4" end), + ?assertException(throw, rebar_abort, rebar_utils:check_blacklisted_otp_versions(["1\\.2", "42\\.[1-4]"])), + meck:unload(rebar_utils). + sh_does_not_miss_messages(_Config) -> Source = "~nmain(_) ->~n io:format(\"donotmissme\").~n", file:write_file("do_not_miss_messages", io_lib:format(Source,[])), |