Don't run testcases in parallel when using Bazel

[Why]
Testcases fail with various system errors in CI, like the inability to
spawn system processes or to open a TCP port.

[How]
We check if the `$RABBITMQ_RUN` environment variable is set. It is only
set by Bazel and not make(1). Based on that, we compute the test group
options to include `parallel` or not.
This commit is contained in:
Jean-Sébastien Pédron 2023-07-25 11:14:50 +02:00
parent becdbe95e5
commit ca1a583120
No known key found for this signature in database
GPG Key ID: 39E99761A5FD94CC
2 changed files with 33 additions and 11 deletions

View File

@ -61,18 +61,29 @@ all() ->
].
groups() ->
%% Don't run testcases in parallel when Bazel is used because they fail
%% with various system errors in CI, like the inability to spawn system
%% processes or to open a TCP port.
UsesBazel = case os:getenv("RABBITMQ_RUN") of
false -> false;
_ -> true
end,
GroupOptions = case UsesBazel of
false -> [parallel];
true -> []
end,
Groups =
[
{direct, [parallel],
{direct, GroupOptions,
[
rpc_calls
]},
{cluster_size_1, [parallel],
{cluster_size_1, GroupOptions,
[
enable_unknown_feature_flag_on_a_single_node,
enable_supported_feature_flag_on_a_single_node
]},
{cluster_size_3, [parallel],
{cluster_size_3, GroupOptions,
[
enable_unknown_feature_flag_in_a_3node_cluster,
enable_supported_feature_flag_in_a_3node_cluster,

View File

@ -24,6 +24,17 @@ all() ->
].
groups() ->
%% Don't run testcases in parallel when Bazel is used because they fail
%% with various system errors in CI, like the inability to spawn system
%% processes or to open a TCP port.
UsesBazel = case os:getenv("RABBITMQ_RUN") of
false -> false;
_ -> true
end,
GroupOptions = case UsesBazel of
false -> [parallel];
true -> []
end,
AllTests = [publish,
consume,
consume_first_empty,
@ -56,14 +67,14 @@ groups() ->
],
[
{parallel_tests, [], [
{classic_queue, [parallel], AllTests ++ [delete_immediately_by_pid_succeeds,
trigger_message_store_compaction]},
{mirrored_queue, [parallel], AllTests ++ [delete_immediately_by_pid_succeeds,
trigger_message_store_compaction]},
{quorum_queue, [parallel], AllTests ++ ExtraBccTests ++ [delete_immediately_by_pid_fails]},
{quorum_queue_in_memory_limit, [parallel], AllTests ++ [delete_immediately_by_pid_fails]},
{quorum_queue_in_memory_bytes, [parallel], AllTests ++ [delete_immediately_by_pid_fails]},
{stream_queue, [parallel], ExtraBccTests ++ [publish, subscribe]}
{classic_queue, GroupOptions, AllTests ++ [delete_immediately_by_pid_succeeds,
trigger_message_store_compaction]},
{mirrored_queue, GroupOptions, AllTests ++ [delete_immediately_by_pid_succeeds,
trigger_message_store_compaction]},
{quorum_queue, GroupOptions, AllTests ++ ExtraBccTests ++ [delete_immediately_by_pid_fails]},
{quorum_queue_in_memory_limit, GroupOptions, AllTests ++ [delete_immediately_by_pid_fails]},
{quorum_queue_in_memory_bytes, GroupOptions, AllTests ++ [delete_immediately_by_pid_fails]},
{stream_queue, GroupOptions, ExtraBccTests ++ [publish, subscribe]}
]}
].