From 4ad1db97336a3ac070880876ada07d4c7b769327 Mon Sep 17 00:00:00 2001 From: Pierre Fenoll Date: Fri, 23 Feb 2018 04:07:24 +0100 Subject: [PATCH] sort-as: show issue more clearly --- src/rebar_state.erl | 4 ++++ test/rebar_profiles_SUITE.erl | 19 ++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/rebar_state.erl b/src/rebar_state.erl index 7ebe6dad2..8c100aa58 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 6afdc393b..9f7912d6f 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],