Merge pull request #13717 from rabbitmq/mergify/bp/v4.1.x/pr-13470
Fix test flakes in various testsuites (backport #13470)
This commit is contained in:
commit
2a70d36710
|
|
@ -57,7 +57,7 @@
|
||||||
logging_to_syslog_works/1]).
|
logging_to_syslog_works/1]).
|
||||||
|
|
||||||
suite() ->
|
suite() ->
|
||||||
[{timetrap, {minutes, 1}}].
|
[{timetrap, {minutes, 3}}].
|
||||||
|
|
||||||
all() ->
|
all() ->
|
||||||
[
|
[
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,10 @@ end_per_suite(Config) ->
|
||||||
rabbit_ct_helpers:run_teardown_steps(Config).
|
rabbit_ct_helpers:run_teardown_steps(Config).
|
||||||
|
|
||||||
init_per_group(_, Config) ->
|
init_per_group(_, Config) ->
|
||||||
|
Suffix = rabbit_ct_helpers:testcase_absname(Config, "", "-"),
|
||||||
Config1 = rabbit_ct_helpers:set_config(Config, [
|
Config1 = rabbit_ct_helpers:set_config(Config, [
|
||||||
{rmq_nodes_count, 2}
|
{rmq_nodes_count, 2},
|
||||||
|
{rmq_nodename_suffix, Suffix}
|
||||||
]),
|
]),
|
||||||
rabbit_ct_helpers:run_steps(Config1,
|
rabbit_ct_helpers:run_steps(Config1,
|
||||||
rabbit_ct_broker_helpers:setup_steps() ++
|
rabbit_ct_broker_helpers:setup_steps() ++
|
||||||
|
|
|
||||||
|
|
@ -323,10 +323,13 @@ start-background-broker: node-tmpdir $(DIST_TARGET)
|
||||||
$(BASIC_SCRIPT_ENV_SETTINGS) \
|
$(BASIC_SCRIPT_ENV_SETTINGS) \
|
||||||
$(RABBITMQ_SERVER) \
|
$(RABBITMQ_SERVER) \
|
||||||
$(REDIRECT_STDIO) &
|
$(REDIRECT_STDIO) &
|
||||||
|
trap 'test "$$?" = 0 || $(MAKE) stop-node' EXIT && \
|
||||||
ERL_LIBS="$(DIST_ERL_LIBS)" \
|
ERL_LIBS="$(DIST_ERL_LIBS)" \
|
||||||
$(RABBITMQCTL) -n $(RABBITMQ_NODENAME) wait --timeout $(RMQCTL_WAIT_TIMEOUT) $(RABBITMQ_PID_FILE) && \
|
$(RABBITMQCTL) -n $(RABBITMQ_NODENAME) wait --timeout $(RMQCTL_WAIT_TIMEOUT) $(RABBITMQ_PID_FILE) && \
|
||||||
ERL_LIBS="$(DIST_ERL_LIBS)" \
|
for i in $$(seq 1 10); do \
|
||||||
$(RABBITMQCTL) --node $(RABBITMQ_NODENAME) await_startup
|
ERL_LIBS="$(DIST_ERL_LIBS)" $(RABBITMQCTL) -n $(RABBITMQ_NODENAME) await_startup || sleep 1; \
|
||||||
|
done && \
|
||||||
|
ERL_LIBS="$(DIST_ERL_LIBS)" $(RABBITMQCTL) -n $(RABBITMQ_NODENAME) await_startup
|
||||||
|
|
||||||
start-rabbit-on-node:
|
start-rabbit-on-node:
|
||||||
$(exec_verbose) ERL_LIBS="$(DIST_ERL_LIBS)" \
|
$(exec_verbose) ERL_LIBS="$(DIST_ERL_LIBS)" \
|
||||||
|
|
|
||||||
|
|
@ -206,10 +206,27 @@ end_per_testcase(T, Config) ->
|
||||||
end_per_testcase0(T, Config).
|
end_per_testcase0(T, Config).
|
||||||
|
|
||||||
end_per_testcase0(Testcase, Config) ->
|
end_per_testcase0(Testcase, Config) ->
|
||||||
|
%% Terminate all connections and wait for sessions to terminate before
|
||||||
|
%% starting the next test case.
|
||||||
|
_ = rabbit_ct_broker_helpers:rpc(
|
||||||
|
Config, 0,
|
||||||
|
rabbit_networking, close_all_connections, [<<"test finished">>]),
|
||||||
|
_ = rabbit_ct_broker_helpers:rpc_all(
|
||||||
|
Config,
|
||||||
|
rabbit_mqtt, close_local_client_connections, [normal]),
|
||||||
|
eventually(?_assertEqual(
|
||||||
|
[],
|
||||||
|
rpc(Config, rabbit_mqtt, local_connection_pids, []))),
|
||||||
%% Assert that every testcase cleaned up their MQTT sessions.
|
%% Assert that every testcase cleaned up their MQTT sessions.
|
||||||
|
rabbit_ct_broker_helpers:rpc(Config, 0, ?MODULE, delete_queues, []),
|
||||||
eventually(?_assertEqual([], rpc(Config, rabbit_amqqueue, list, []))),
|
eventually(?_assertEqual([], rpc(Config, rabbit_amqqueue, list, []))),
|
||||||
rabbit_ct_helpers:testcase_finished(Config, Testcase).
|
rabbit_ct_helpers:testcase_finished(Config, Testcase).
|
||||||
|
|
||||||
|
delete_queues() ->
|
||||||
|
_ = [catch rabbit_amqqueue:delete(Q, false, false, <<"test finished">>)
|
||||||
|
|| Q <- rabbit_amqqueue:list()],
|
||||||
|
ok.
|
||||||
|
|
||||||
%% -------------------------------------------------------------------
|
%% -------------------------------------------------------------------
|
||||||
%% Testsuite cases
|
%% Testsuite cases
|
||||||
%% -------------------------------------------------------------------
|
%% -------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -221,6 +221,7 @@ public class FailureTest {
|
||||||
() -> {
|
() -> {
|
||||||
connected.set(false);
|
connected.set(false);
|
||||||
|
|
||||||
|
try { Thread.sleep(2000); } catch (Exception e) {}
|
||||||
Client locator =
|
Client locator =
|
||||||
cf.get(new Client.ClientParameters().port(streamPortNode2()));
|
cf.get(new Client.ClientParameters().port(streamPortNode2()));
|
||||||
// wait until there's a new leader
|
// wait until there's a new leader
|
||||||
|
|
@ -467,6 +468,7 @@ public class FailureTest {
|
||||||
// avoid long-running task in the IO thread
|
// avoid long-running task in the IO thread
|
||||||
executorService.submit(
|
executorService.submit(
|
||||||
() -> {
|
() -> {
|
||||||
|
try { Thread.sleep(2000); } catch (Exception e) {}
|
||||||
Client.StreamMetadata m = metadataClient.metadata(stream).get(stream);
|
Client.StreamMetadata m = metadataClient.metadata(stream).get(stream);
|
||||||
int newReplicaPort = m.getReplicas().get(0).getPort();
|
int newReplicaPort = m.getReplicas().get(0).getPort();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ import com.rabbitmq.stream.impl.Client.ClientParameters;
|
||||||
import com.rabbitmq.stream.impl.Client.Response;
|
import com.rabbitmq.stream.impl.Client.Response;
|
||||||
import com.rabbitmq.stream.impl.Client.StreamMetadata;
|
import com.rabbitmq.stream.impl.Client.StreamMetadata;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.time.Duration;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
@ -57,7 +58,9 @@ public class LeaderLocatorTest {
|
||||||
void clientLocalLocatorShouldMakeLeaderOnConnectedNode() {
|
void clientLocalLocatorShouldMakeLeaderOnConnectedNode() {
|
||||||
int[] ports = new int[] {TestUtils.streamPortNode1(), TestUtils.streamPortNode2()};
|
int[] ports = new int[] {TestUtils.streamPortNode1(), TestUtils.streamPortNode2()};
|
||||||
for (int port : ports) {
|
for (int port : ports) {
|
||||||
Client client = cf.get(new Client.ClientParameters().port(port));
|
Client client = cf.get(new Client.ClientParameters()
|
||||||
|
.port(port)
|
||||||
|
.rpcTimeout(Duration.ofSeconds(30)));
|
||||||
String s = UUID.randomUUID().toString();
|
String s = UUID.randomUUID().toString();
|
||||||
try {
|
try {
|
||||||
Response response =
|
Response response =
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue