summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Fenoll <pierrefenoll@gmail.com>2018-02-23 04:07:24 +0100
committerPierre Fenoll <pierrefenoll@gmail.com>2018-03-02 12:53:22 +0100
commitabad0e14bb5a6ea5df21f2732bd72bf6efb0ca1e (patch)
tree478ff00e88bc1e730414fa4c87aee4430ddbd6bd
parente504ba71e152a1e47719269f0108ad47c8f3f8b9 (diff)
sort-as: show issue more clearly
-rw-r--r--src/rebar_state.erl4
-rw-r--r--test/rebar_profiles_SUITE.erl19
2 files changed, 20 insertions, 3 deletions
diff --git a/src/rebar_state.erl b/src/rebar_state.erl
index 7ebe6da..8c100aa 100644
--- a/src/rebar_state.erl
+++ b/src/rebar_state.erl
@@ -43,6 +43,10 @@
allow_provider_overrides/1, allow_provider_overrides/2
]).
+-ifdef(TEST).
+-export([deduplicate/1]).
+-endif.
+
-include("rebar.hrl").
-include_lib("providers/include/providers.hrl").
diff --git a/test/rebar_profiles_SUITE.erl b/test/rebar_profiles_SUITE.erl
index 6afdc39..9f7912d 100644
--- a/test/rebar_profiles_SUITE.erl
+++ b/test/rebar_profiles_SUITE.erl
@@ -28,7 +28,8 @@
test_profile_erl_opts_order_4/1,
test_profile_erl_opts_order_5/1,
test_erl_opts_debug_info/1,
- first_files_exception/1]).
+ first_files_exception/1,
+ deduplication_stability/1]).
-include_lib("common_test/include/ct.hrl").
-include_lib("eunit/include/eunit.hrl").
@@ -52,7 +53,8 @@ all() ->
test_profile_erl_opts_order_4,
test_profile_erl_opts_order_5,
test_erl_opts_debug_info,
- first_files_exception].
+ first_files_exception,
+ deduplication_stability].
init_per_suite(Config) ->
application:start(meck),
@@ -133,7 +135,7 @@ profile_merge_umbrella_keys(Config) ->
{profiles,
[{ct,
[{vals, [{a,1},{b,2}]}]}]}],
-
+
SubRebarConfig = [{vals, []},
{profiles, [{ct, [{vals, [{c,1}]}]}]}],
@@ -546,6 +548,17 @@ first_files_exception(_Config) ->
?assertEqual(["c","a","b","a","e"], rebar_state:get(State1, mib_first_files)),
ok.
+deduplication_stability(_Config) ->
+ ?assertEqual([default,all_deps_test], rebar_state:deduplicate([default,all_deps_test])),
+ ?assertEqual([default,profile1,profile2], rebar_state:deduplicate([default,profile1,profile2])),
+ ?assertEqual([default,bar,foo], rebar_state:deduplicate([default,bar,foo,bar])), %% master wants [default,foo,bar]
+ ?assertEqual([default,test,bar], rebar_state:deduplicate([default,test,bar])),
+ ?assertEqual([default,test,bar], rebar_state:deduplicate([default,test,bar,test])),
+ ?assertEqual([default,profile1], rebar_state:deduplicate([default,profile1,profile1,profile1])),
+ ?assertEqual([default,a,b,c,d,e], rebar_state:deduplicate([default,a,b,c,d,e,a,e,b])),
+ ?assertEqual([default,test], rebar_state:deduplicate([default,test])),
+ ok.
+
get_compiled_profile_erl_opts(Profiles, Config) ->
AppDir = ?config(apps, Config),
PStrs = [atom_to_list(P) || P <- Profiles],