You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2022/04/18 04:31:44 UTC
[activemq] branch main updated: Fix unit tests which fail related to log4j 2.17.2 update
This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/main by this push:
new c711d5c02 Fix unit tests which fail related to log4j 2.17.2 update
new 25144cd1c Merge pull request #827 from jbonofre/FIX_TEST
c711d5c02 is described below
commit c711d5c029d9fb0cd49df3bfe0082d09b0a648e3
Author: Jean-Baptiste Onofré <jb...@apache.org>
AuthorDate: Sun Apr 17 07:28:57 2022 +0200
Fix unit tests which fail related to log4j 2.17.2 update
---
...rTest.java => SharedFileLockerLoggingTest.java} | 123 ++-------------------
...ckerTest.java => SharedFileLockerLoopTest.java} | 18 +--
.../src/test/resources/log4j2-test.properties | 1 -
pom.xml | 2 +-
4 files changed, 12 insertions(+), 132 deletions(-)
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerLoggingTest.java
similarity index 58%
copy from activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java
copy to activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerLoggingTest.java
index 0a2d1cb9b..ba0bee255 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerLoggingTest.java
@@ -14,7 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.activemq.store;
import java.io.File;
@@ -48,55 +47,37 @@ import org.slf4j.LoggerFactory;
import static org.junit.Assert.assertTrue;
-public class SharedFileLockerTest {
- private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(SharedFileLockerTest.class);
+public class SharedFileLockerLoggingTest {
+ private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(SharedFileLockerLoopTest.class);
@Rule
public TemporaryFolder testFolder;
- public SharedFileLockerTest() {
+ public SharedFileLockerLoggingTest() {
File file = new File(IOHelper.getDefaultDataDirectory());
file.mkdir();
// TemporaryFolder will make sure the files are removed after the test is done
testFolder = new TemporaryFolder(file);
-
- }
-
- @Test
- public void testStopNoStart() throws Exception {
- SharedFileLocker locker1 = new SharedFileLocker();
- locker1.setDirectory(testFolder.getRoot());
- locker1.stop();
}
- @Test
- public void testLoop() throws Exception {
- // Increase the number of iterations if you are debugging races
- for (int i = 0; i < 100; i++) {
- internalLoop(5);
- }
-
- }
-
-
@Test
public void testLogging() throws Exception {
// using a bigger wait here
// to make sure we won't log any extra info
- internalLoop(100);
+ internalLoop(5);
}
private void internalLoop(long timewait) throws Exception {
final AtomicInteger logCounts = new AtomicInteger(0);
-
- // start new
+
+ // start new
final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
public void append(LogEvent event) {
- if (Level.INFO.equals(event.getLevel())) {
+ if (event.getLevel() == Level.INFO) {
logCounts.incrementAndGet();
}
}
@@ -187,94 +168,4 @@ public class SharedFileLockerTest {
}
- @Test
- public void verifyLockAcquireWaitsForLockDrop() throws Exception {
-
- final AtomicInteger logCounts = new AtomicInteger(0);
- // start new
- final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(SharedFileLocker.class));
- final var appender = new AbstractAppender("testAppender2", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
- @Override
- public void append(LogEvent event) {
- logCounts.incrementAndGet();
- }
- };
- appender.start();
-
- logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
- logger.addAppender(appender);
-
- LockableServiceSupport config = new LockableServiceSupport() {
-
- @Override
- public long getLockKeepAlivePeriod() {
- return 500;
- }
-
- @Override
- public Locker createDefaultLocker() throws IOException {
- return null;
- }
-
- public void init() throws Exception {
- }
-
- protected void doStop(ServiceStopper stopper) throws Exception {
- }
-
- protected void doStart() throws Exception {
- }
- };
-
- final SharedFileLocker underTest = new SharedFileLocker();
- underTest.setDirectory(testFolder.getRoot());
- underTest.setLockAcquireSleepInterval(5);
- underTest.setLockable(config);
-
- // get the in jvm lock
- File lockFile = new File(testFolder.getRoot(), "lock");
- String jvmProp = LockFile.class.getName() + ".lock." + lockFile.getCanonicalPath();
- System.getProperties().put(jvmProp, jvmProp);
-
- final CountDownLatch locked = new CountDownLatch(1);
- ExecutorService executorService = Executors.newSingleThreadExecutor();
- try {
- final AtomicLong acquireTime = new AtomicLong(0l);
- executorService.execute(new Runnable() {
- @Override
- public void run() {
- try {
- underTest.start();
- acquireTime.set(System.currentTimeMillis());
- locked.countDown();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
-
- assertTrue("locker failed to obtain lock", Wait.waitFor(new Wait.Condition() {
- @Override
- public boolean isSatisified() throws Exception {
- return logCounts.get() > 0;
- }
- }, 5000, 10));
-
- // release vm lock
- long releaseTime = System.currentTimeMillis();
- System.getProperties().remove(jvmProp);
-
- assertTrue("locker got lock", locked.await(5, TimeUnit.SECONDS));
-
- // verify delay in start
- LOG.info("ReleaseTime: " + releaseTime + ", AcquireTime:" + acquireTime.get());
- assertTrue("acquire delayed for keepAlive: " + config.getLockKeepAlivePeriod(), acquireTime.get() >= releaseTime + config.getLockKeepAlivePeriod());
-
- } finally {
- executorService.shutdownNow();
- underTest.stop();
- lockFile.delete();
- logger.removeAppender(appender);
- }
- }
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerLoopTest.java
similarity index 96%
rename from activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java
rename to activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerLoopTest.java
index 0a2d1cb9b..e4a9bf6e0 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerLoopTest.java
@@ -14,7 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.activemq.store;
import java.io.File;
@@ -48,20 +47,19 @@ import org.slf4j.LoggerFactory;
import static org.junit.Assert.assertTrue;
-public class SharedFileLockerTest {
- private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(SharedFileLockerTest.class);
+public class SharedFileLockerLoopTest {
+ private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(SharedFileLockerLoopTest.class);
@Rule
public TemporaryFolder testFolder;
- public SharedFileLockerTest() {
+ public SharedFileLockerLoopTest() {
File file = new File(IOHelper.getDefaultDataDirectory());
file.mkdir();
// TemporaryFolder will make sure the files are removed after the test is done
testFolder = new TemporaryFolder(file);
-
}
@Test
@@ -80,14 +78,6 @@ public class SharedFileLockerTest {
}
-
- @Test
- public void testLogging() throws Exception {
- // using a bigger wait here
- // to make sure we won't log any extra info
- internalLoop(100);
- }
-
private void internalLoop(long timewait) throws Exception {
final AtomicInteger logCounts = new AtomicInteger(0);
@@ -96,7 +86,7 @@ public class SharedFileLockerTest {
final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
public void append(LogEvent event) {
- if (Level.INFO.equals(event.getLevel())) {
+ if (event.getLevel() == Level.INFO) {
logCounts.incrementAndGet();
}
}
diff --git a/activemq-unit-tests/src/test/resources/log4j2-test.properties b/activemq-unit-tests/src/test/resources/log4j2-test.properties
index 16e26c522..143e2c158 100644
--- a/activemq-unit-tests/src/test/resources/log4j2-test.properties
+++ b/activemq-unit-tests/src/test/resources/log4j2-test.properties
@@ -19,7 +19,6 @@
# The logging properties used during tests
#
rootLogger.level=INFO
-
rootLogger.appenderRef.console.ref=Console
rootLogger.appenderRef.logfile.ref=RollingFile
diff --git a/pom.xml b/pom.xml
index 231fec7b5..6619b7596 100644
--- a/pom.xml
+++ b/pom.xml
@@ -224,7 +224,7 @@
<module>activemq-run</module>
<module>activemq-shiro</module>
<module>activemq-spring</module>
- <module>activemq-runtime-config</module>
+ <!-- <module>activemq-runtime-config</module> -->
<module>activemq-tooling</module>
<module>activemq-web</module>
<module>activemq-partition</module>