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

crazyhzm pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.2 by this push:
     new 8e2eb332a1 fixed non-idempotent unit tests (#14172)
8e2eb332a1 is described below

commit 8e2eb332a1d7aece2d344daa26a8b078420b3034
Author: Kaiyao Ke <[email protected]>
AuthorDate: Fri May 10 11:27:46 2024 -0500

    fixed non-idempotent unit tests (#14172)
---
 .../apache/dubbo/common/bytecode/ClassGeneratorTest.java   |  5 +++--
 ...ultipleRegistryCenterExportMetadataIntegrationTest.java |  1 -
 ...ultipleRegistryCenterExportProviderIntegrationTest.java |  1 -
 .../injvm/MultipleRegistryCenterInjvmIntegrationTest.java  |  1 -
 ...istryCenterServiceDiscoveryRegistryIntegrationTest.java |  1 -
 .../SingleRegistryCenterExportMetadataIntegrationTest.java |  1 -
 .../SingleRegistryCenterExportProviderIntegrationTest.java |  1 -
 .../injvm/SingleRegistryCenterInjvmIntegrationTest.java    |  1 -
 .../org/apache/dubbo/config/utils/ReferenceCacheTest.java  |  1 +
 .../metrics/prometheus/PrometheusMetricsReporterTest.java  |  6 +++++-
 .../prometheus/PrometheusMetricsThreadPoolTest.java        |  7 ++++++-
 .../org/apache/dubbo/monitor/dubbo/DubboMonitorTest.java   | 14 +++++++++++---
 .../java/org/apache/dubbo/qos/command/impl/LiveTest.java   |  1 +
 .../remoting/transport/ChannelHandlerDispatcherTest.java   | 14 ++++++++++++++
 .../src/test/java/org/apache/dubbo/rpc/RpcStatusTest.java  | 12 ++++++++++++
 15 files changed, 53 insertions(+), 14 deletions(-)

diff --git 
a/dubbo-common/src/test/java/org/apache/dubbo/common/bytecode/ClassGeneratorTest.java
 
b/dubbo-common/src/test/java/org/apache/dubbo/common/bytecode/ClassGeneratorTest.java
index afaa59299f..02a1e9fd25 100644
--- 
a/dubbo-common/src/test/java/org/apache/dubbo/common/bytecode/ClassGeneratorTest.java
+++ 
b/dubbo-common/src/test/java/org/apache/dubbo/common/bytecode/ClassGeneratorTest.java
@@ -57,7 +57,8 @@ class ClassGeneratorTest {
         ClassGenerator cg = ClassGenerator.newInstance();
 
         // add className, interface, superClass
-        String className = BaseClass.class.getPackage().getName() + 
".TestClass";
+        String className = BaseClass.class.getPackage().getName() + 
".TestClass"
+                + UUID.randomUUID().toString().replace("-", "");
         cg.setClassName(className);
         cg.addInterface(BaseInterface.class);
         cg.setSuperClass(BaseClass.class);
@@ -212,7 +213,7 @@ class ClassGeneratorTest {
         fname.setAccessible(true);
 
         ClassGenerator cg = ClassGenerator.newInstance();
-        cg.setClassName(Bean.class.getName() + "$Builder2");
+        cg.setClassName(Bean.class.getName() + "$Builder2" + 
UUID.randomUUID().toString());
         cg.addInterface(Builder.class);
 
         cg.addField("FNAME", Modifier.PUBLIC | Modifier.STATIC, 
java.lang.reflect.Field.class);
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/exportmetadata/MultipleRegistryCenterExportMetadataIntegrationTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/exportmetadata/MultipleRegistryCenterExportMetadataIntegrationTest.java
index 0cc3aa81c7..78098f8c3d 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/exportmetadata/MultipleRegistryCenterExportMetadataIntegrationTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/exportmetadata/MultipleRegistryCenterExportMetadataIntegrationTest.java
@@ -172,7 +172,6 @@ class MultipleRegistryCenterExportMetadataIntegrationTest 
implements Integration
     @AfterEach
     public void tearDown() throws IOException {
         DubboBootstrap.reset();
-        PROVIDER_APPLICATION_NAME = null;
         serviceConfig = null;
         // The exported service has been unexported
         Assertions.assertTrue(serviceListener.getExportedServices().isEmpty());
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java
index 10395824f5..21ffd61150 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java
@@ -239,7 +239,6 @@ class MultipleRegistryCenterExportProviderIntegrationTest 
implements Integration
     @AfterEach
     public void tearDown() throws IOException {
         DubboBootstrap.reset();
-        PROVIDER_APPLICATION_NAME = null;
         serviceConfig = null;
         // The exported service has been unexported
         Assertions.assertTrue(serviceListener.getExportedServices().isEmpty());
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/injvm/MultipleRegistryCenterInjvmIntegrationTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/injvm/MultipleRegistryCenterInjvmIntegrationTest.java
index 3d7315a456..f0bd1ba637 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/injvm/MultipleRegistryCenterInjvmIntegrationTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/injvm/MultipleRegistryCenterInjvmIntegrationTest.java
@@ -185,7 +185,6 @@ class MultipleRegistryCenterInjvmIntegrationTest implements 
IntegrationTest {
     @AfterEach
     public void tearDown() throws IOException {
         DubboBootstrap.reset();
-        PROVIDER_APPLICATION_NAME = null;
         serviceConfig = null;
         // The exported service has been unexported
         Assertions.assertTrue(serviceListener.getExportedServices().isEmpty());
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java
index 1f89b88cc3..1816277cf8 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/servicediscoveryregistry/MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest.java
@@ -201,7 +201,6 @@ class 
MultipleRegistryCenterServiceDiscoveryRegistryIntegrationTest implements I
     @AfterEach
     public void tearDown() throws IOException {
         DubboBootstrap.reset();
-        PROVIDER_APPLICATION_NAME = null;
         serviceConfig = null;
         // TODO: we need to check whether this scenario is normal
         // TODO: the Exporter and ServiceDiscoveryRegistry are same in 
multiple registry center
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/exportmetadata/SingleRegistryCenterExportMetadataIntegrationTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/exportmetadata/SingleRegistryCenterExportMetadataIntegrationTest.java
index 996e98d892..b6e67f4a6e 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/exportmetadata/SingleRegistryCenterExportMetadataIntegrationTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/exportmetadata/SingleRegistryCenterExportMetadataIntegrationTest.java
@@ -169,7 +169,6 @@ class SingleRegistryCenterExportMetadataIntegrationTest 
implements IntegrationTe
     @AfterEach
     public void tearDown() throws IOException {
         DubboBootstrap.reset();
-        PROVIDER_APPLICATION_NAME = null;
         serviceConfig = null;
         // The exported service has been unexported
         Assertions.assertTrue(serviceListener.getExportedServices().isEmpty());
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java
index d866f40d6e..b411670349 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java
@@ -240,7 +240,6 @@ class SingleRegistryCenterExportProviderIntegrationTest 
implements IntegrationTe
     @AfterEach
     public void tearDown() throws IOException {
         DubboBootstrap.reset();
-        PROVIDER_APPLICATION_NAME = null;
         serviceConfig = null;
         // The exported service has been unexported
         Assertions.assertTrue(serviceListener.getExportedServices().isEmpty());
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/injvm/SingleRegistryCenterInjvmIntegrationTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/injvm/SingleRegistryCenterInjvmIntegrationTest.java
index 95090fd8ff..fd68e3367e 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/injvm/SingleRegistryCenterInjvmIntegrationTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/injvm/SingleRegistryCenterInjvmIntegrationTest.java
@@ -185,7 +185,6 @@ class SingleRegistryCenterInjvmIntegrationTest implements 
IntegrationTest {
     @AfterEach
     public void tearDown() throws IOException {
         DubboBootstrap.reset();
-        PROVIDER_APPLICATION_NAME = null;
         serviceConfig = null;
         // The exported service has been unexported
         Assertions.assertTrue(serviceListener.getExportedServices().isEmpty());
diff --git 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/utils/ReferenceCacheTest.java
 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/utils/ReferenceCacheTest.java
index c231d892bc..c324c53e06 100644
--- 
a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/utils/ReferenceCacheTest.java
+++ 
b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/utils/ReferenceCacheTest.java
@@ -35,6 +35,7 @@ class ReferenceCacheTest {
     public void setUp() throws Exception {
         DubboBootstrap.reset();
         MockReferenceConfig.setCounter(0);
+        XxxMockReferenceConfig.setCounter(0);
         SimpleReferenceCache.CACHE_HOLDER.clear();
     }
 
diff --git 
a/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterTest.java
 
b/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterTest.java
index 5304963a04..e8198a3d05 100644
--- 
a/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterTest.java
+++ 
b/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterTest.java
@@ -51,6 +51,7 @@ class PrometheusMetricsReporterTest {
     private MetricsConfig metricsConfig;
     private ApplicationModel applicationModel;
     private FrameworkModel frameworkModel;
+    HttpServer prometheusExporterHttpServer;
 
     @BeforeEach
     public void setup() {
@@ -64,6 +65,9 @@ class PrometheusMetricsReporterTest {
     @AfterEach
     public void teardown() {
         applicationModel.destroy();
+        if (prometheusExporterHttpServer != null) {
+            prometheusExporterHttpServer.stop(0);
+        }
     }
 
     @Test
@@ -146,7 +150,7 @@ class PrometheusMetricsReporterTest {
     private void exportHttpServer(PrometheusMetricsReporter reporter, int 
port) {
 
         try {
-            HttpServer prometheusExporterHttpServer = HttpServer.create(new 
InetSocketAddress(port), 0);
+            prometheusExporterHttpServer = HttpServer.create(new 
InetSocketAddress(port), 0);
             prometheusExporterHttpServer.createContext("/metrics", 
httpExchange -> {
                 reporter.resetIfSamplesChanged();
                 String response = reporter.getPrometheusRegistry().scrape();
diff --git 
a/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsThreadPoolTest.java
 
b/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsThreadPoolTest.java
index 5591cd8c54..83b062e1c1 100644
--- 
a/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsThreadPoolTest.java
+++ 
b/dubbo-metrics/dubbo-metrics-prometheus/src/test/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsThreadPoolTest.java
@@ -62,6 +62,8 @@ public class PrometheusMetricsThreadPoolTest {
 
     DefaultMetricsCollector metricsCollector;
 
+    HttpServer prometheusExporterHttpServer;
+
     @BeforeEach
     public void setup() {
         applicationModel = ApplicationModel.defaultModel();
@@ -77,6 +79,9 @@ public class PrometheusMetricsThreadPoolTest {
     @AfterEach
     public void teardown() {
         applicationModel.destroy();
+        if (prometheusExporterHttpServer != null) {
+            prometheusExporterHttpServer.stop(0);
+        }
     }
 
     @Test
@@ -121,7 +126,7 @@ public class PrometheusMetricsThreadPoolTest {
 
     private void exportHttpServer(PrometheusMetricsReporter reporter, int 
port) {
         try {
-            HttpServer prometheusExporterHttpServer = HttpServer.create(new 
InetSocketAddress(port), 0);
+            prometheusExporterHttpServer = HttpServer.create(new 
InetSocketAddress(port), 0);
             prometheusExporterHttpServer.createContext("/metrics", 
httpExchange -> {
                 reporter.resetIfSamplesChanged();
                 String response = reporter.getPrometheusRegistry().scrape();
diff --git 
a/dubbo-monitor/dubbo-monitor-default/src/test/java/org/apache/dubbo/monitor/dubbo/DubboMonitorTest.java
 
b/dubbo-monitor/dubbo-monitor-default/src/test/java/org/apache/dubbo/monitor/dubbo/DubboMonitorTest.java
index 891a45e107..c6f7c26541 100644
--- 
a/dubbo-monitor/dubbo-monitor-default/src/test/java/org/apache/dubbo/monitor/dubbo/DubboMonitorTest.java
+++ 
b/dubbo-monitor/dubbo-monitor-default/src/test/java/org/apache/dubbo/monitor/dubbo/DubboMonitorTest.java
@@ -30,6 +30,8 @@ import org.apache.dubbo.rpc.ProxyFactory;
 import org.apache.dubbo.rpc.Result;
 import org.apache.dubbo.rpc.RpcException;
 
+import java.io.IOException;
+import java.net.ServerSocket;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
@@ -139,7 +141,13 @@ class DubboMonitorTest {
     }
 
     @Test
-    void testMonitorFactory() {
+    void testMonitorFactory() throws IOException {
+        int port;
+        try (ServerSocket socket = new ServerSocket(0)) {
+            port = socket.getLocalPort();
+            socket.close();
+        }
+
         MockMonitorService monitorService = new MockMonitorService();
         URL statistics = new URLBuilder(DUBBO_PROTOCOL, "10.20.153.10", 0)
                 .addParameter(APPLICATION_KEY, "morgan")
@@ -163,12 +171,12 @@ class DubboMonitorTest {
         Exporter<MonitorService> exporter = 
protocol.export(proxyFactory.getInvoker(
                 monitorService,
                 MonitorService.class,
-                URL.valueOf("dubbo://127.0.0.1:17979/" + 
MonitorService.class.getName())));
+                URL.valueOf("dubbo://127.0.0.1:" + port + "/" + 
MonitorService.class.getName())));
         try {
             Monitor monitor = null;
             long start = System.currentTimeMillis();
             while (System.currentTimeMillis() - start < 60000) {
-                monitor = 
monitorFactory.getMonitor(URL.valueOf("dubbo://127.0.0.1:17979?interval=10"));
+                monitor = 
monitorFactory.getMonitor(URL.valueOf("dubbo://127.0.0.1:" + port + 
"?interval=10"));
                 if (monitor == null) {
                     continue;
                 }
diff --git 
a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/LiveTest.java
 
b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/LiveTest.java
index 60da31680a..70a90986b8 100644
--- 
a/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/LiveTest.java
+++ 
b/dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/LiveTest.java
@@ -35,6 +35,7 @@ class LiveTest {
     @AfterEach
     public void reset() {
         frameworkModel.destroy();
+        MockLivenessProbe.setCheckReturnValue(false);
     }
 
     @Test
diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/org/apache/dubbo/remoting/transport/ChannelHandlerDispatcherTest.java
 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/org/apache/dubbo/remoting/transport/ChannelHandlerDispatcherTest.java
index 2e7fdf2838..df6b3559e0 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/test/java/org/apache/dubbo/remoting/transport/ChannelHandlerDispatcherTest.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/test/java/org/apache/dubbo/remoting/transport/ChannelHandlerDispatcherTest.java
@@ -24,12 +24,18 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 
+import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
 class ChannelHandlerDispatcherTest {
 
+    @AfterEach
+    public void tearDown() {
+        MockChannelHandler.reset();
+    }
+
     @Test
     void test() {
         ChannelHandlerDispatcher channelHandlerDispatcher = new 
ChannelHandlerDispatcher();
@@ -138,4 +144,12 @@ class MockChannelHandler extends ChannelHandlerAdapter {
     public static int getCaughtCount() {
         return caughtCount;
     }
+
+    public static void reset() {
+        sentCount = 0;
+        connectedCount = 0;
+        disconnectedCount = 0;
+        receivedCount = 0;
+        caughtCount = 0;
+    }
 }
diff --git 
a/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/RpcStatusTest.java 
b/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/RpcStatusTest.java
index efa938e803..de0eaab48a 100644
--- 
a/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/RpcStatusTest.java
+++ 
b/dubbo-rpc/dubbo-rpc-api/src/test/java/org/apache/dubbo/rpc/RpcStatusTest.java
@@ -39,6 +39,10 @@ class RpcStatusTest {
         URL url = new ServiceConfigURL("dubbo", "127.0.0.1", 91031, 
DemoService.class.getName());
         String methodName = "testBeginCountEndCount";
         int max = 2;
+
+        RpcStatus.removeStatus(url);
+        RpcStatus.removeStatus(url, methodName);
+
         boolean flag = RpcStatus.beginCount(url, methodName, max);
         RpcStatus urlRpcStatus = RpcStatus.getStatus(url);
         RpcStatus methodRpcStatus = RpcStatus.getStatus(url, methodName);
@@ -65,6 +69,10 @@ class RpcStatusTest {
     void testBeginCountEndCountInMultiThread() throws Exception {
         URL url = new ServiceConfigURL("dubbo", "127.0.0.1", 91032, 
DemoService.class.getName());
         String methodName = "testBeginCountEndCountInMultiThread";
+
+        RpcStatus.removeStatus(url);
+        RpcStatus.removeStatus(url, methodName);
+
         int max = 50;
         int threadNum = 10;
         AtomicInteger successCount = new AtomicInteger();
@@ -99,6 +107,10 @@ class RpcStatusTest {
         URL url = new ServiceConfigURL("dubbo", "127.0.0.1", 91033, 
DemoService.class.getName());
         String methodName = "testStatistics";
         int max = 0;
+
+        RpcStatus.removeStatus(url);
+        RpcStatus.removeStatus(url, methodName);
+
         RpcStatus.beginCount(url, methodName, max);
         RpcStatus.beginCount(url, methodName, max);
         RpcStatus.beginCount(url, methodName, max);

Reply via email to