This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new b8b76f69465 Use LogCaptureExtension on 
MetaDataContextsFactoryAdviceTest (#36961)
b8b76f69465 is described below

commit b8b76f694653b61c5e7792c87ad988c85f91c6b4
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Oct 29 13:34:28 2025 +0800

    Use LogCaptureExtension on MetaDataContextsFactoryAdviceTest (#36961)
    
    * Update JVM configuration to enable dynamic agent loading and set headless 
mode
    
    * Use LogCaptureExtension on MetaDataContextsFactoryAdviceTest
    
    * Use LogCaptureExtension on MetaDataContextsFactoryAdviceTest
---
 .mvn/jvm.config                                    |  2 +-
 agent/plugins/logging/type/file/pom.xml            |  9 +++++++
 .../advice/MetaDataContextsFactoryAdviceTest.java  | 31 +++++-----------------
 .../extension/log/LogCaptureExtension.java         | 15 +++++++----
 .../optimizer/src/test/resources/logback-test.xml  |  2 +-
 5 files changed, 27 insertions(+), 32 deletions(-)

diff --git a/.mvn/jvm.config b/.mvn/jvm.config
index bff5f7aafb7..ceffc9b07d1 100644
--- a/.mvn/jvm.config
+++ b/.mvn/jvm.config
@@ -1 +1 @@
--Xmx4g -XX:MaxMetaspaceSize=512m -XX:+EnableDynamicAgentLoading -Xshare:off 
-Djava.awt.headless=true
+-Xmx4g -XX:MaxMetaspaceSize=512m -Xshare:off -Djava.awt.headless=true
diff --git a/agent/plugins/logging/type/file/pom.xml 
b/agent/plugins/logging/type/file/pom.xml
index b47a669b76c..4d8fdce3389 100644
--- a/agent/plugins/logging/type/file/pom.xml
+++ b/agent/plugins/logging/type/file/pom.xml
@@ -26,6 +26,15 @@
     <artifactId>shardingsphere-agent-logging-file</artifactId>
     <name>${project.artifactId}</name>
     
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-test-infra-framework</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    
     <build>
         <plugins>
             <plugin>
diff --git 
a/agent/plugins/logging/type/file/src/test/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdviceTest.java
 
b/agent/plugins/logging/type/file/src/test/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdviceTest.java
index c8fb1e46f3e..4f32865924c 100644
--- 
a/agent/plugins/logging/type/file/src/test/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdviceTest.java
+++ 
b/agent/plugins/logging/type/file/src/test/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdviceTest.java
@@ -18,42 +18,23 @@
 package org.apache.shardingsphere.agent.plugin.logging.file.advice;
 
 import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.Logger;
-import ch.qos.logback.classic.spi.ILoggingEvent;
-import ch.qos.logback.core.read.ListAppender;
 import org.apache.shardingsphere.agent.api.advice.TargetAdviceMethod;
-import org.junit.jupiter.api.BeforeEach;
+import 
org.apache.shardingsphere.test.infra.framework.extension.log.LogCaptureExtension;
 import org.junit.jupiter.api.Test;
-import org.slf4j.LoggerFactory;
+import org.junit.jupiter.api.extension.ExtendWith;
 
-import java.util.List;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
 import static org.mockito.Mockito.mock;
 
+@ExtendWith(LogCaptureExtension.class)
 class MetaDataContextsFactoryAdviceTest {
     
-    private ListAppender<ILoggingEvent> listAppender;
-    
-    @BeforeEach
-    void setUp() {
-        Logger logger = (Logger) 
LoggerFactory.getLogger(MetaDataContextsFactoryAdvice.class);
-        listAppender = new ListAppender<>();
-        listAppender.start();
-        logger.addAppender(listAppender);
-    }
-    
     @Test
-    void assertLog() {
+    void assertLog(final LogCaptureExtension logCaptureExtension) {
         MetaDataContextsFactoryAdvice advice = new 
MetaDataContextsFactoryAdvice();
         TargetAdviceMethod method = mock(TargetAdviceMethod.class);
         advice.beforeMethod(null, method, new Object[]{}, "FIXTURE");
         advice.afterMethod(null, method, new Object[]{}, null, "FIXTURE");
-        List<ILoggingEvent> logsList = listAppender.list;
-        assertThat(logsList.size(), equalTo(1));
-        assertThat(logsList.get(0).getMessage(), is("Build meta data contexts 
finished, cost {} milliseconds."));
-        assertThat(logsList.get(0).getLevel(), is(Level.INFO));
+        logCaptureExtension.assertLogCount(1);
+        logCaptureExtension.assertLogContent(0, Level.INFO, "Build meta data 
contexts finished, cost {} milliseconds.", false);
     }
 }
diff --git 
a/test/infra/framework/src/main/java/org/apache/shardingsphere/test/infra/framework/extension/log/LogCaptureExtension.java
 
b/test/infra/framework/src/main/java/org/apache/shardingsphere/test/infra/framework/extension/log/LogCaptureExtension.java
index 8af74ae4939..2feecf40ab0 100644
--- 
a/test/infra/framework/src/main/java/org/apache/shardingsphere/test/infra/framework/extension/log/LogCaptureExtension.java
+++ 
b/test/infra/framework/src/main/java/org/apache/shardingsphere/test/infra/framework/extension/log/LogCaptureExtension.java
@@ -21,7 +21,6 @@ import ch.qos.logback.classic.Level;
 import ch.qos.logback.classic.Logger;
 import ch.qos.logback.classic.spi.ILoggingEvent;
 import ch.qos.logback.core.read.ListAppender;
-import org.hamcrest.MatcherAssert;
 import org.junit.jupiter.api.extension.AfterEachCallback;
 import org.junit.jupiter.api.extension.BeforeEachCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
@@ -29,6 +28,7 @@ import org.junit.jupiter.api.extension.ParameterContext;
 import org.junit.jupiter.api.extension.ParameterResolver;
 import org.slf4j.LoggerFactory;
 
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
 
 /**
@@ -72,7 +72,7 @@ public final class LogCaptureExtension implements 
BeforeEachCallback, AfterEachC
      * @param expectedCount expected log count
      */
     public void assertLogCount(final int expectedCount) {
-        MatcherAssert.assertThat(listAppender.list.size(), is(expectedCount));
+        assertThat(listAppender.list.size(), is(expectedCount));
     }
     
     /**
@@ -81,9 +81,14 @@ public final class LogCaptureExtension implements 
BeforeEachCallback, AfterEachC
      * @param actualLogEventIndex actual log event index
      * @param expectedLevel expected log level
      * @param expectedMessage expected log message
+     * @param isFormatMessage format message or not
      */
-    public void assertLogContent(final int actualLogEventIndex, final Level 
expectedLevel, final String expectedMessage) {
-        
MatcherAssert.assertThat(listAppender.list.get(actualLogEventIndex).getLevel(), 
is(expectedLevel));
-        
MatcherAssert.assertThat(listAppender.list.get(actualLogEventIndex).getFormattedMessage(),
 is(expectedMessage));
+    public void assertLogContent(final int actualLogEventIndex, final Level 
expectedLevel, final String expectedMessage, final boolean isFormatMessage) {
+        assertThat(listAppender.list.get(actualLogEventIndex).getLevel(), 
is(expectedLevel));
+        if (isFormatMessage) {
+            
assertThat(listAppender.list.get(actualLogEventIndex).getFormattedMessage(), 
is(expectedMessage));
+        } else {
+            
assertThat(listAppender.list.get(actualLogEventIndex).getMessage(), 
is(expectedMessage));
+        }
     }
 }
diff --git a/test/it/optimizer/src/test/resources/logback-test.xml 
b/test/it/optimizer/src/test/resources/logback-test.xml
index d17f7efbfaf..23cb4b8b539 100644
--- a/test/it/optimizer/src/test/resources/logback-test.xml
+++ b/test/it/optimizer/src/test/resources/logback-test.xml
@@ -31,4 +31,4 @@
         <level value="error" />
         <appender-ref ref="console" />
     </root>
-</configuration> 
+</configuration>

Reply via email to