You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2023/04/03 01:58:48 UTC

[shardingsphere] branch master updated: Split test case docker container to fix ci error. (#24950)

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

duanzhengqiang 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 36b2e1fd8bb Split test case docker container to fix ci error. (#24950)
36b2e1fd8bb is described below

commit 36b2e1fd8bbd816d7091d8ee468c135938428a63
Author: Chuxin Chen <ch...@qq.com>
AuthorDate: Mon Apr 3 09:58:39 2023 +0800

    Split test case docker container to fix ci error. (#24950)
---
 .../e2e/engine/arg/E2ETestCaseArgumentsProvider.java    |  4 ++--
 .../param/array/E2ETestParameterGenerator.java          | 17 +++++++++--------
 .../framework/param/model/AssertionTestParameter.java   |  3 +++
 .../e2e/framework/param/model/CaseTestParameter.java    |  3 +++
 .../e2e/framework/param/model/E2ETestParameter.java     | 10 +++++++++-
 5 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/arg/E2ETestCaseArgumentsProvider.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/arg/E2ETestCaseArgumentsProvider.java
index fac024a5cc7..07afb9ea6d3 100644
--- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/arg/E2ETestCaseArgumentsProvider.java
+++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/engine/arg/E2ETestCaseArgumentsProvider.java
@@ -45,12 +45,12 @@ public final class E2ETestCaseArgumentsProvider implements ArgumentsProvider {
     private Stream<Arguments> getBatchTestCaseArguments(final SQLCommandType type) {
         Collection<E2ETestParameter> result = E2ETestParameterFactory.getCaseTestParameters(type);
         // TODO make sure test case can not be null
-        return result.isEmpty() ? Stream.of(Arguments.of(new CaseTestParameter(null, null, null, null, null))) : result.stream().map(Arguments::of);
+        return result.isEmpty() ? Stream.of(Arguments.of(new CaseTestParameter(null, null, null, null, null, null))) : result.stream().map(Arguments::of);
     }
     
     private Stream<Arguments> getSingleTestCaseArguments(final SQLCommandType type) {
         Collection<AssertionTestParameter> result = E2ETestParameterFactory.getAssertionTestParameters(type);
         // TODO make sure test case can not be null
-        return result.isEmpty() ? Stream.of(Arguments.of(new AssertionTestParameter(null, null, null, null, null, null, null))) : result.stream().map(Arguments::of);
+        return result.isEmpty() ? Stream.of(Arguments.of(new AssertionTestParameter(null, null, null, null, null, null, null, null))) : result.stream().map(Arguments::of);
     }
 }
diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/array/E2ETestParameterGenerator.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/array/E2ETestParameterGenerator.java
index 60810887ec2..af244a2f786 100644
--- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/array/E2ETestParameterGenerator.java
+++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/array/E2ETestParameterGenerator.java
@@ -117,7 +117,7 @@ public final class E2ETestParameterGenerator {
                                                                          final SQLExecuteType sqlExecuteType, final SQLCommandType sqlCommandType) {
         Collection<String> scenarios = null == testCaseContext.getTestCase().getScenarioTypes() ? Collections.emptyList() : Arrays.asList(testCaseContext.getTestCase().getScenarioTypes().split(","));
         return envScenarios.stream().filter(each -> filterScenarios(each, scenarios, sqlCommandType.getSqlStatementClass()))
-                .map(each -> new AssertionTestParameter(testCaseContext, assertion, adapter, each, envMode, databaseType, sqlExecuteType)).collect(Collectors.toList());
+                .map(each -> new AssertionTestParameter(testCaseContext, assertion, adapter, each, envMode, databaseType, sqlExecuteType, sqlCommandType)).collect(Collectors.toList());
     }
     
     private Collection<String> getEnvAdapters(final String envAdapters) {
@@ -146,33 +146,34 @@ public final class E2ETestParameterGenerator {
     public Collection<E2ETestParameter> getCaseTestParameter(final SQLCommandType sqlCommandType) {
         Collection<E2ETestParameter> result = new LinkedList<>();
         for (IntegrationTestCaseContext each : TEST_CASES_LOADER.getTestCaseContexts(sqlCommandType)) {
-            result.addAll(getCaseTestParameter(each));
+            result.addAll(getCaseTestParameter(each, sqlCommandType));
         }
         return result;
     }
     
-    private Collection<E2ETestParameter> getCaseTestParameter(final IntegrationTestCaseContext testCaseContext) {
+    private Collection<E2ETestParameter> getCaseTestParameter(final IntegrationTestCaseContext testCaseContext, final SQLCommandType sqlCommandType) {
         Collection<E2ETestParameter> result = new LinkedList<>();
         for (DatabaseType each : getDatabaseTypes(testCaseContext.getTestCase().getDbTypes())) {
             if (envDatabaseTypes.contains(each)) {
-                result.addAll(getCaseTestParameter(testCaseContext, each));
+                result.addAll(getCaseTestParameter(testCaseContext, each, sqlCommandType));
             }
         }
         return result;
     }
     
-    private Collection<E2ETestParameter> getCaseTestParameter(final IntegrationTestCaseContext testCaseContext, final DatabaseType databaseType) {
+    private Collection<E2ETestParameter> getCaseTestParameter(final IntegrationTestCaseContext testCaseContext, final DatabaseType databaseType, final SQLCommandType sqlCommandType) {
         Collection<E2ETestParameter> result = new LinkedList<>();
         for (String adapter : envAdapters) {
-            result.addAll(getCaseTestParameter(testCaseContext, adapter, databaseType));
+            result.addAll(getCaseTestParameter(testCaseContext, adapter, databaseType, sqlCommandType));
         }
         return result;
     }
     
-    private Collection<E2ETestParameter> getCaseTestParameter(final IntegrationTestCaseContext testCaseContext, final String adapter, final DatabaseType databaseType) {
+    private Collection<E2ETestParameter> getCaseTestParameter(final IntegrationTestCaseContext testCaseContext, final String adapter,
+                                                              final DatabaseType databaseType, final SQLCommandType sqlCommandType) {
         Collection<String> scenarios = null == testCaseContext.getTestCase().getScenarioTypes() ? Collections.emptyList() : Arrays.asList(testCaseContext.getTestCase().getScenarioTypes().split(","));
         return envScenarios.stream().filter(each -> scenarios.isEmpty() || scenarios.contains(each))
-                .map(each -> new CaseTestParameter(testCaseContext, adapter, each, envMode, databaseType)).collect(Collectors.toList());
+                .map(each -> new CaseTestParameter(testCaseContext, adapter, each, envMode, databaseType, sqlCommandType)).collect(Collectors.toList());
     }
     
     private static Collection<DatabaseType> getDatabaseTypes(final String databaseTypes) {
diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/AssertionTestParameter.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/AssertionTestParameter.java
index 282262787e4..41a4453af18 100644
--- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/AssertionTestParameter.java
+++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/AssertionTestParameter.java
@@ -21,6 +21,7 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.e2e.cases.IntegrationTestCaseContext;
+import org.apache.shardingsphere.test.e2e.cases.SQLCommandType;
 import org.apache.shardingsphere.test.e2e.cases.SQLExecuteType;
 import org.apache.shardingsphere.test.e2e.cases.assertion.IntegrationTestCaseAssertion;
 
@@ -45,6 +46,8 @@ public final class AssertionTestParameter implements E2ETestParameter {
     
     private final SQLExecuteType sqlExecuteType;
     
+    private final SQLCommandType sqlCommandType;
+    
     @Override
     public String toString() {
         return String.format("%s: %s -> %s -> %s -> %s", adapter, scenario, databaseType.getType(), sqlExecuteType, testCaseContext.getTestCase().getSql());
diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/CaseTestParameter.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/CaseTestParameter.java
index 14636fb99bd..912b3042c9c 100644
--- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/CaseTestParameter.java
+++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/CaseTestParameter.java
@@ -21,6 +21,7 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.e2e.cases.IntegrationTestCaseContext;
+import org.apache.shardingsphere.test.e2e.cases.SQLCommandType;
 
 /**
  * Case test parameter.
@@ -39,6 +40,8 @@ public final class CaseTestParameter implements E2ETestParameter {
     
     private final DatabaseType databaseType;
     
+    private final SQLCommandType sqlCommandType;
+    
     @Override
     public String toString() {
         return String.format("%s: %s -> %s -> %s", adapter, scenario, databaseType.getType(), testCaseContext.getTestCase().getSql());
diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/E2ETestParameter.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/E2ETestParameter.java
index 00da0442fa4..8fc9d24a25f 100644
--- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/E2ETestParameter.java
+++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/framework/param/model/E2ETestParameter.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.test.e2e.framework.param.model;
 
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.e2e.cases.IntegrationTestCaseContext;
+import org.apache.shardingsphere.test.e2e.cases.SQLCommandType;
 
 /**
  * E2E test parameter.
@@ -60,12 +61,19 @@ public interface E2ETestParameter {
      */
     String getMode();
     
+    /**
+     * Get sql command type.
+     * 
+     * @return sql command type
+     */
+    SQLCommandType getSqlCommandType();
+    
     /**
      * Get key.
      * 
      * @return key of test parameter
      */
     default String getKey() {
-        return String.join("-", getScenario(), getAdapter(), getDatabaseType().getType());
+        return String.join("-", getSqlCommandType().toString(), getScenario(), getAdapter(), getDatabaseType().getType());
     }
 }