Skip to content

Commit 8be5f90

Browse files
committed
Enhance test expectation message
1 parent f4a73ac commit 8be5f90

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

src/test/java/com/rabbitmq/perf/TestUtils.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.util.Locale;
2626
import java.util.concurrent.ThreadFactory;
2727
import java.util.function.BooleanSupplier;
28+
import java.util.function.Supplier;
2829
import javax.xml.parsers.DocumentBuilder;
2930
import javax.xml.parsers.DocumentBuilderFactory;
3031
import org.assertj.core.api.Condition;
@@ -44,7 +45,11 @@ static int randomNetworkPort() throws IOException {
4445
return port;
4546
}
4647

47-
public static void waitAtMost(int timeoutInSeconds, BooleanSupplier condition)
48+
public static void waitAtMost(int timeoutInSeconds, BooleanSupplier condition) throws InterruptedException {
49+
waitAtMost(timeoutInSeconds, condition, null);
50+
}
51+
52+
public static void waitAtMost(int timeoutInSeconds, BooleanSupplier condition, Supplier<String> message)
4853
throws InterruptedException {
4954
if (condition.getAsBoolean()) {
5055
return;
@@ -59,7 +64,13 @@ public static void waitAtMost(int timeoutInSeconds, BooleanSupplier condition)
5964
}
6065
waitedTime += waitTime;
6166
}
62-
fail("Waited " + timeoutInSeconds + " second(s), condition never got true");
67+
String msg;
68+
if (message == null) {
69+
msg = "Waited " + timeoutInSeconds + " second(s), condition never got true";
70+
} else {
71+
msg = "Waited " + timeoutInSeconds + " second(s), " + message.get();
72+
}
73+
fail(msg);
6374
}
6475

6576
public static ThreadFactory threadFactory(TestInfo info) {

src/test/java/com/rabbitmq/perf/it/ConnectionRecoveryIT.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,9 @@ public void shouldRecoverWhenConnectionsAreKilledAndUsingPublishingInterval(
288288
waitAtMost(10, () -> msgConsumed.get() >= 3 * producerConsumerCount);
289289
long messageCountBeforeClosing = msgConsumed.get();
290290
closeAllConnections();
291-
waitAtMost(20, () -> msgConsumed.get() >= 2 * messageCountBeforeClosing);
291+
long expectedMessageCount = 2 * messageCountBeforeClosing;
292+
waitAtMost(20, () -> msgConsumed.get() >= expectedMessageCount,
293+
() -> String.format("Expecting at least %d messages, got %d", expectedMessageCount, msgConsumed.get()));
292294
assertThat(testIsDone.get()).isFalse();
293295
}
294296

src/test/java/com/rabbitmq/perf/it/Host.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626

2727
public class Host {
2828

29+
private static final String DOCKER_PREFIX = "DOCKER:";
30+
2931
public static String capture(InputStream is) throws IOException {
3032
BufferedReader br = new BufferedReader(new InputStreamReader(is));
3133
String line;
@@ -101,9 +103,9 @@ public static void startBrokerApp() throws IOException {
101103
public static String rabbitmqctlCommand() {
102104
String rabbitmqCtl = System.getProperty("rabbitmqctl.bin");
103105
if (rabbitmqCtl == null) {
104-
throw new IllegalStateException("Please define the rabbitmqctl.bin system property");
106+
rabbitmqCtl = DOCKER_PREFIX + "rabbitmq";
105107
}
106-
if (rabbitmqCtl.startsWith("DOCKER:")) {
108+
if (rabbitmqCtl.startsWith(DOCKER_PREFIX)) {
107109
String containerId = rabbitmqCtl.split(":")[1];
108110
return "docker exec " + containerId + " rabbitmqctl";
109111
} else {

0 commit comments

Comments
 (0)