Skip to content

Commit 1758179

Browse files
authored
Replace fixed delay with polling in SyslogAppenderCustomLayoutTest (#3944)
1 parent 4852d12 commit 1758179

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/SyslogAppenderTestBase.java

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
*/
1717
package org.apache.logging.log4j.core.appender;
1818

19+
import static java.util.concurrent.TimeUnit.MILLISECONDS;
20+
import static org.awaitility.Awaitility.await;
1921
import static org.junit.jupiter.api.Assertions.assertEquals;
2022
import static org.junit.jupiter.api.Assertions.assertNotNull;
2123
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -49,7 +51,7 @@ abstract class SyslogAppenderTestBase {
4951
"TestApp - Audit [Transfer@18060 Amount=\"200.00\" FromAccount=\"123457\" ToAccount=\"123456\"]"
5052
+ "[RequestContext@18060 ipAddress=\"192.168.0.120\" loginId=\"JohnDoe\"] Transfer Complete";
5153
protected LoggerContext ctx = LoggerContext.getContext();
52-
protected static final int DEFAULT_TIMEOUT_IN_MS = 100;
54+
protected static final int DEFAULT_TIMEOUT_IN_MS = 3000;
5355
protected MockSyslogServer syslogServer;
5456
protected SyslogAppender appender;
5557
protected Logger root = ctx.getLogger("SyslogAppenderTest");
@@ -61,15 +63,15 @@ public static void setupClass() {
6163
LoggerContext.getContext().reconfigure();
6264
}
6365

64-
protected void sendAndCheckLegacyBsdMessages(final List<String> messagesToSend) throws InterruptedException {
66+
protected void sendAndCheckLegacyBsdMessages(final List<String> messagesToSend) {
6567
for (final String message : messagesToSend) {
6668
sendDebugLegacyBsdMessage(message);
6769
}
6870
checkTheNumberOfSentAndReceivedMessages();
6971
checkTheEqualityOfSentAndReceivedMessages(Level.DEBUG);
7072
}
7173

72-
protected void sendAndCheckLegacyBsdMessage(final String message) throws InterruptedException {
74+
protected void sendAndCheckLegacyBsdMessage(final String message) {
7375
sendDebugLegacyBsdMessage(message);
7476
checkTheNumberOfSentAndReceivedMessages();
7577
checkTheEqualityOfSentAndReceivedMessages(Level.DEBUG);
@@ -80,15 +82,15 @@ protected void sendDebugLegacyBsdMessage(final String message) {
8082
root.debug(message);
8183
}
8284

83-
protected void sendAndCheckStructuredMessages(final int numberOfMessages) throws InterruptedException {
85+
protected void sendAndCheckStructuredMessages(final int numberOfMessages) {
8486
for (int i = 0; i < numberOfMessages; i++) {
8587
sendInfoStructuredMessage();
8688
}
8789
checkTheNumberOfSentAndReceivedMessages();
8890
checkTheEqualityOfSentAndReceivedMessages(Level.INFO);
8991
}
9092

91-
protected void sendAndCheckStructuredMessage() throws InterruptedException {
93+
protected void sendAndCheckStructuredMessage() {
9294
sendInfoStructuredMessage();
9395
checkTheNumberOfSentAndReceivedMessages();
9496
checkTheEqualityOfSentAndReceivedMessages(Level.INFO);
@@ -108,15 +110,13 @@ protected void sendInfoStructuredMessage() {
108110
root.info(MarkerManager.getMarker("EVENT"), msg);
109111
}
110112

111-
protected void checkTheNumberOfSentAndReceivedMessages() throws InterruptedException {
112-
assertEquals(
113-
sentMessages.size(),
114-
getReceivedMessages(DEFAULT_TIMEOUT_IN_MS).size(),
115-
"The number of received messages should be equal with the number of sent messages");
113+
protected void checkTheNumberOfSentAndReceivedMessages() {
114+
await().atMost(DEFAULT_TIMEOUT_IN_MS, MILLISECONDS)
115+
.until(() -> syslogServer.getMessageList().size() == sentMessages.size());
116116
}
117117

118-
protected void checkTheEqualityOfSentAndReceivedMessages(final Level expectedLevel) throws InterruptedException {
119-
final List<String> receivedMessages = getReceivedMessages(DEFAULT_TIMEOUT_IN_MS);
118+
protected void checkTheEqualityOfSentAndReceivedMessages(final Level expectedLevel) {
119+
final List<String> receivedMessages = getReceivedMessages();
120120

121121
assertNotNull(receivedMessages, "No messages received");
122122
for (int i = 0; i < receivedMessages.size(); i++) {
@@ -148,10 +148,7 @@ protected void initRootLogger(final Appender appender) {
148148
root.setLevel(Level.DEBUG);
149149
}
150150

151-
protected List<String> getReceivedMessages(final int timeOutInMs) throws InterruptedException {
152-
synchronized (syslogServer) {
153-
syslogServer.wait(timeOutInMs);
154-
}
151+
protected List<String> getReceivedMessages() {
155152
return syslogServer.getMessageList();
156153
}
157154

0 commit comments

Comments
 (0)