From 249be4985c130f8cc096033e2aa8305b99817aa5 Mon Sep 17 00:00:00 2001 From: Fred Hebert Date: Mon, 23 Feb 2015 15:44:52 +0000 Subject: Reuse test code and drop duplicated stuff --- test/rebar_test_utils.erl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'test/rebar_test_utils.erl') diff --git a/test/rebar_test_utils.erl b/test/rebar_test_utils.erl index acefd8b..e1fb050 100644 --- a/test/rebar_test_utils.erl +++ b/test/rebar_test_utils.erl @@ -2,7 +2,7 @@ -include_lib("common_test/include/ct.hrl"). -include_lib("eunit/include/eunit.hrl"). -export([init_rebar_state/1, init_rebar_state/2, run_and_check/4]). --export([expand_deps/2, flat_deps/1, top_level_deps/1]). +-export([expand_deps/2, flat_deps/1, flat_pkgdeps/1, top_level_deps/1]). -export([create_app/4, create_empty_app/4, create_config/2]). -export([create_random_name/1, create_random_vsn/0]). @@ -120,6 +120,15 @@ flat_deps([{{Name,_Vsn,Ref}, Deps} | Rest]) -> ++ flat_deps(Rest). +flat_pkgdeps([]) -> []; +flat_pkgdeps([{{pkg, Name, Vsn}, Deps} | Rest]) -> + [{{iolist_to_binary(Name),iolist_to_binary(Vsn)}, top_level_deps(Deps)}] + ++ + flat_pkgdeps(Deps) + ++ + flat_pkgdeps(Rest). + + vsn_from_ref({git, _, {_, Vsn}}) -> Vsn; vsn_from_ref({git, _, Vsn}) -> Vsn. -- cgit v1.1 From c283dd2c69174586e5964654a5fec8eeb66f6b6c Mon Sep 17 00:00:00 2001 From: Fred Hebert Date: Mon, 23 Feb 2015 22:57:34 +0000 Subject: Add tests and fixes for packages upgrades - Track level of packages properly, they're not level 0 anymore (this could yield an issue where a src dep takes precedence over a pkg dep) - Proper stable sort of vertices in the digraph module - PkgDeps no longer 'see themselves' when fetching and upgrading after locking themselves - Pkg Locks are added to pkg deps rather than source deps - Updating test cases to support pkg mocking on top of src mocking --- test/rebar_test_utils.erl | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test/rebar_test_utils.erl') diff --git a/test/rebar_test_utils.erl b/test/rebar_test_utils.erl index e1fb050..a036619 100644 --- a/test/rebar_test_utils.erl +++ b/test/rebar_test_utils.erl @@ -205,6 +205,9 @@ check_results(AppDir, Expected) -> case lists:keyfind(iolist_to_binary(Name), 1, Locks) of false -> error({lock_not_found, Name}); + {_LockName, {pkg, _, LockVsn}, _} -> + ?assertEqual(iolist_to_binary(Vsn), + iolist_to_binary(LockVsn)); {_LockName, {_, _, {ref, LockVsn}}, _} -> ?assertEqual(iolist_to_binary(Vsn), iolist_to_binary(LockVsn)) -- cgit v1.1