summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2016-11-29 15:29:57 +0300
committerGitHub <noreply@github.com>2016-11-29 15:29:57 +0300
commitb907d34689879da7e9f2f4991d61e344a48cce30 (patch)
treebe201bd9e72908cb83dce452a8a450fc62209560 /test
parentb2141bde48add4f3281e5667c8d7835dbd62601a (diff)
parenta31bb2e166229230b91a88ce206dae046d2c158c (diff)
downloadrabbitmq-server-git-b907d34689879da7e9f2f4991d61e344a48cce30.tar.gz
Merge pull request #1042 from rabbitmq/rabbitmq-server-1040
Add background GC settings to new config format
Diffstat (limited to 'test')
-rw-r--r--test/config_schema_SUITE_data/snippets.config14
-rw-r--r--test/unit_SUITE.erl34
2 files changed, 47 insertions, 1 deletions
diff --git a/test/config_schema_SUITE_data/snippets.config b/test/config_schema_SUITE_data/snippets.config
index a64b6e06c9..f5832981bc 100644
--- a/test/config_schema_SUITE_data/snippets.config
+++ b/test/config_schema_SUITE_data/snippets.config
@@ -772,5 +772,19 @@ autocluster.node_type = ram",
[{rabbit, [
{autocluster, [{peer_discovery_backend, rabbit_peer_discovery_classic_config},
{node_type, ram}]}
+]}],[]},
+{77,
+"background_gc_enabled = true
+background_gc_target_interval = 30000",
+[{rabbit, [
+ {background_gc_enabled, true},
+ {background_gc_target_interval, 30000}
+]}],[]},
+{77.1,
+"background_gc_enabled = false
+background_gc_target_interval = 30000",
+[{rabbit, [
+ {background_gc_enabled, false},
+ {background_gc_target_interval, 30000}
]}],[]}
].
diff --git a/test/unit_SUITE.erl b/test/unit_SUITE.erl
index 8ac3d41afe..8499fd2abc 100644
--- a/test/unit_SUITE.erl
+++ b/test/unit_SUITE.erl
@@ -32,7 +32,6 @@ groups() ->
[
{parallel_tests, [parallel], [
arguments_parser,
- mutually_exclusive_flags_parsing,
{basic_header_handling, [parallel], [
write_table_with_invalid_existing_type,
invalid_existing_headers,
@@ -43,6 +42,8 @@ groups() ->
content_framing,
content_transcoding,
decrypt_config,
+ listing_plugins_from_multiple_directories,
+ mutually_exclusive_flags_parsing,
rabbitmqctl_encode,
pg_local,
pmerge,
@@ -968,3 +969,34 @@ unfold(_Config) ->
(N) -> {true, N*2, N-1}
end, 10),
passed.
+
+listing_plugins_from_multiple_directories(Config) ->
+ %% Generate some fake plugins in .ez files
+ FirstDir = filename:join([?config(priv_dir, Config), "listing_plugins_from_multiple_directories-1"]),
+ SecondDir = filename:join([?config(priv_dir, Config), "listing_plugins_from_multiple_directories-2"]),
+ ok = file:make_dir(FirstDir),
+ ok = file:make_dir(SecondDir),
+ lists:foreach(fun({Dir, AppName, Vsn}) ->
+ EzName = filename:join([Dir, io_lib:format("~s-~s.ez", [AppName, Vsn])]),
+ AppFileName = lists:flatten(io_lib:format("~s-~s/ebin/~s.app", [AppName, Vsn, AppName])),
+ AppFileContents = list_to_binary(io_lib:format("~p.", [{application, AppName, [{vsn, Vsn}]}])),
+ {ok, {_, EzData}} = zip:zip(EzName, [{AppFileName, AppFileContents}], [memory]),
+ ok = file:write_file(EzName, EzData)
+ end,
+ [{FirstDir, plugin_first_dir, "3"},
+ {SecondDir, plugin_second_dir, "4"},
+ {FirstDir, plugin_both, "1"},
+ {SecondDir, plugin_both, "2"}]),
+
+ %% Everything was collected from both directories, plugin with higher version should take precedence
+ Path = FirstDir ++ ":" ++ SecondDir,
+ Got = lists:sort([{Name, Vsn} || #plugin{name = Name, version = Vsn} <- rabbit_plugins:list(Path)]),
+ Expected = [{plugin_both, "2"}, {plugin_first_dir, "3"}, {plugin_second_dir, "4"}],
+ case Got of
+ Expected ->
+ ok;
+ _ ->
+ ct:pal("Got ~p~nExpected: ~p", [Got, Expected]),
+ exit({wrong_plugins_list, Got})
+ end,
+ ok.