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() -> 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 = Groups =
[ [
{direct, [parallel], {direct, GroupOptions,
[ [
rpc_calls rpc_calls
]}, ]},
{cluster_size_1, [parallel], {cluster_size_1, GroupOptions,
[ [
enable_unknown_feature_flag_on_a_single_node, enable_unknown_feature_flag_on_a_single_node,
enable_supported_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_unknown_feature_flag_in_a_3node_cluster,
enable_supported_feature_flag_in_a_3node_cluster, enable_supported_feature_flag_in_a_3node_cluster,

View File

@ -24,6 +24,17 @@ all() ->
]. ].
groups() -> 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, AllTests = [publish,
consume, consume,
consume_first_empty, consume_first_empty,
@ -56,14 +67,14 @@ groups() ->
], ],
[ [
{parallel_tests, [], [ {parallel_tests, [], [
{classic_queue, [parallel], AllTests ++ [delete_immediately_by_pid_succeeds, {classic_queue, GroupOptions, AllTests ++ [delete_immediately_by_pid_succeeds,
trigger_message_store_compaction]}, trigger_message_store_compaction]},
{mirrored_queue, [parallel], AllTests ++ [delete_immediately_by_pid_succeeds, {mirrored_queue, GroupOptions, AllTests ++ [delete_immediately_by_pid_succeeds,
trigger_message_store_compaction]}, trigger_message_store_compaction]},
{quorum_queue, [parallel], AllTests ++ ExtraBccTests ++ [delete_immediately_by_pid_fails]}, {quorum_queue, GroupOptions, AllTests ++ ExtraBccTests ++ [delete_immediately_by_pid_fails]},
{quorum_queue_in_memory_limit, [parallel], AllTests ++ [delete_immediately_by_pid_fails]}, {quorum_queue_in_memory_limit, GroupOptions, AllTests ++ [delete_immediately_by_pid_fails]},
{quorum_queue_in_memory_bytes, [parallel], AllTests ++ [delete_immediately_by_pid_fails]}, {quorum_queue_in_memory_bytes, GroupOptions, AllTests ++ [delete_immediately_by_pid_fails]},
{stream_queue, [parallel], ExtraBccTests ++ [publish, subscribe]} {stream_queue, GroupOptions, ExtraBccTests ++ [publish, subscribe]}
]} ]}
]. ].