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

tyrantlucifer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new b3392cb9d [Bug] Fix path split exception in win10,not check file 
existed (#2715)
b3392cb9d is described below

commit b3392cb9d1c2769fa3e235c39eb8c60c992c304d
Author: Laglangyue <[email protected]>
AuthorDate: Sun Sep 11 22:39:01 2022 +0800

    [Bug] Fix path split exception in win10,not check file existed (#2715)
    
    * [Bug]fix path split exception in win10,not check file existed
    
    * improve code
    
    Co-authored-by: laglangyue <[email protected]>
---
 .../apache/seatunnel/e2e/common/AbstractContainer.java   | 16 +++++++---------
 .../seatunnel/e2e/common/AbstractSparkContainer.java     |  3 ++-
 .../org/apache/seatunnel/e2e/common/ContainerUtil.java   | 11 +++++++++--
 .../org/apache/seatunnel/e2e/flink/FlinkContainer.java   |  2 +-
 .../org/apache/seatunnel/e2e/flink/FlinkContainer.java   |  2 +-
 .../apache/seatunnel/e2e/flink/sql/FlinkContainer.java   |  2 +-
 .../org/apache/seatunnel/e2e/spark/SparkContainer.java   |  2 +-
 .../org/apache/seatunnel/e2e/spark/SparkContainer.java   |  2 +-
 8 files changed, 23 insertions(+), 17 deletions(-)

diff --git 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/AbstractContainer.java
 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/AbstractContainer.java
index f4fb9d116..71e93ab92 100644
--- 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/AbstractContainer.java
+++ 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/AbstractContainer.java
@@ -34,6 +34,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 public abstract class AbstractContainer {
+
     protected static final Logger LOG = 
LoggerFactory.getLogger(AbstractContainer.class);
     protected static final String START_ROOT_MODULE_NAME = "seatunnel-core";
 
@@ -42,15 +43,14 @@ public abstract class AbstractContainer {
     protected final String startModuleFullPath;
 
     public AbstractContainer() {
-        String[] modules = getStartModulePath().split(File.separator);
-        this.startModuleName = modules[modules.length - 1];
-        this.startModuleFullPath = PROJECT_ROOT_PATH + File.separator +
-            START_ROOT_MODULE_NAME + File.separator + getStartModulePath();
+        this.startModuleName = getStartModuleName();
+        this.startModuleFullPath = PROJECT_ROOT_PATH + File.separator + 
START_ROOT_MODULE_NAME + File.separator + this.startModuleName;
+        ContainerUtil.checkPathExist(startModuleFullPath);
     }
 
     protected abstract String getDockerImage();
 
-    protected abstract String getStartModulePath();
+    protected abstract String getStartModuleName();
 
     protected abstract String getStartShellName();
 
@@ -65,11 +65,9 @@ public abstract class AbstractContainer {
     protected abstract List<String> getExtraStartShellCommands();
 
     protected void copySeaTunnelStarter(GenericContainer<?> container) {
-        String[] modules = getStartModulePath().split(File.separator);
-        final String startModuleName = modules[modules.length - 1];
         ContainerUtil.copySeaTunnelStarter(container,
-            startModuleName,
-            PROJECT_ROOT_PATH + File.separator + START_ROOT_MODULE_NAME + 
File.separator + getStartModulePath(),
+            this.startModuleName,
+            this.startModuleFullPath,
             getSeaTunnelHomeInContainer(),
             getStartShellName());
     }
diff --git 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/AbstractSparkContainer.java
 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/AbstractSparkContainer.java
index fc16846c1..6cb49b5a0 100644
--- 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/AbstractSparkContainer.java
+++ 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/AbstractSparkContainer.java
@@ -35,6 +35,7 @@ import java.util.stream.Stream;
 
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public abstract class AbstractSparkContainer extends AbstractContainer {
+
     private static final Logger LOG = 
LoggerFactory.getLogger(AbstractSparkContainer.class);
 
     private static final String SPARK_SEATUNNEL_HOME = "/tmp/spark/seatunnel";
@@ -78,7 +79,7 @@ public abstract class AbstractSparkContainer extends 
AbstractContainer {
     @Override
     protected List<String> getExtraStartShellCommands() {
         return Arrays.asList("--master local",
-            "--deploy-mode client");
+                             "--deploy-mode client");
     }
 
     public Container.ExecResult executeSeaTunnelSparkJob(String confFile) 
throws IOException, InterruptedException {
diff --git 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/ContainerUtil.java
 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/ContainerUtil.java
index 237e30f09..764839b15 100644
--- 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/ContainerUtil.java
+++ 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/ContainerUtil.java
@@ -23,6 +23,7 @@ import org.apache.seatunnel.shade.com.typesafe.config.Config;
 import org.apache.seatunnel.shade.com.typesafe.config.ConfigFactory;
 import org.apache.seatunnel.shade.com.typesafe.config.ConfigResolveOptions;
 
+import org.junit.jupiter.api.Assertions;
 import org.testcontainers.containers.GenericContainer;
 import org.testcontainers.utility.MountableFile;
 
@@ -44,7 +45,7 @@ public final class ContainerUtil {
     /**
      * An error occurs when the user is not a submodule of seatunnel-e2e.
      */
-    public static final String PROJECT_ROOT_PATH = 
System.getProperty("user.dir").split("/seatunnel-e2e/")[0];
+    public static final String PROJECT_ROOT_PATH = 
Paths.get(System.getProperty("user.dir")).getParent().getParent().getParent().toString();
 
     public static void copyConnectorJarToContainer(GenericContainer<?> 
container,
                                                    String confFile,
@@ -83,12 +84,14 @@ public final class ContainerUtil {
         final String startJarName = startModuleName + ".jar";
         // copy lib
         final String startJarPath = startModulePath + File.separator + 
"target" + File.separator + startJarName;
+        checkPathExist(startJarPath);
         container.copyFileToContainer(
             MountableFile.forHostPath(startJarPath),
             Paths.get(Paths.get(seatunnelHomeInContainer, "lib").toString(), 
startJarName).toString());
 
         // copy bin
-        final String startBinPath = startModulePath + File.separator + 
"/src/main/bin/" + startShellName;
+        final String startBinPath = startModulePath + File.separator + 
"src/main/bin/" + startShellName;
+        checkPathExist(startBinPath);
         container.copyFileToContainer(
             MountableFile.forHostPath(startBinPath),
             Paths.get(Paths.get(seatunnelHomeInContainer, "bin").toString(), 
startShellName).toString());
@@ -162,4 +165,8 @@ public final class ContainerUtil {
             .resolve(ConfigResolveOptions.defaults().setAllowUnresolved(true))
             .resolveWith(ConfigFactory.systemProperties(), 
ConfigResolveOptions.defaults().setAllowUnresolved(true));
     }
+
+    public static void checkPathExist(String path) {
+        Assertions.assertTrue(new File(path).exists(), path + "must exist");
+    }
 }
diff --git 
a/seatunnel-e2e/seatunnel-flink-connector-v2-e2e/connector-flink-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
 
b/seatunnel-e2e/seatunnel-flink-connector-v2-e2e/connector-flink-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
index 6ecaa77cb..f6f02cce7 100644
--- 
a/seatunnel-e2e/seatunnel-flink-connector-v2-e2e/connector-flink-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
+++ 
b/seatunnel-e2e/seatunnel-flink-connector-v2-e2e/connector-flink-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
@@ -32,7 +32,7 @@ public abstract class FlinkContainer extends 
AbstractFlinkContainer {
     }
 
     @Override
-    protected String getStartModulePath() {
+    protected String getStartModuleName() {
         return "seatunnel-flink-starter";
     }
 
diff --git 
a/seatunnel-e2e/seatunnel-flink-e2e/seatunnel-connector-flink-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
 
b/seatunnel-e2e/seatunnel-flink-e2e/seatunnel-connector-flink-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
index ab62a623d..787032799 100644
--- 
a/seatunnel-e2e/seatunnel-flink-e2e/seatunnel-connector-flink-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
+++ 
b/seatunnel-e2e/seatunnel-flink-e2e/seatunnel-connector-flink-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/FlinkContainer.java
@@ -27,7 +27,7 @@ import org.apache.seatunnel.e2e.common.AbstractFlinkContainer;
 public abstract class FlinkContainer extends AbstractFlinkContainer {
 
     @Override
-    protected String getStartModulePath() {
+    protected String getStartModuleName() {
         return "seatunnel-core-flink";
     }
 
diff --git 
a/seatunnel-e2e/seatunnel-flink-sql-e2e/setunnel-connector-flink-sql-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/sql/FlinkContainer.java
 
b/seatunnel-e2e/seatunnel-flink-sql-e2e/setunnel-connector-flink-sql-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/sql/FlinkContainer.java
index e195b4aa9..e92c23a1a 100644
--- 
a/seatunnel-e2e/seatunnel-flink-sql-e2e/setunnel-connector-flink-sql-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/sql/FlinkContainer.java
+++ 
b/seatunnel-e2e/seatunnel-flink-sql-e2e/setunnel-connector-flink-sql-e2e-base/src/test/java/org/apache/seatunnel/e2e/flink/sql/FlinkContainer.java
@@ -33,7 +33,7 @@ import java.io.IOException;
 public abstract class FlinkContainer extends AbstractFlinkContainer {
 
     @Override
-    protected String getStartModulePath() {
+    protected String getStartModuleName() {
         return "seatunnel-core-flink-sql";
     }
 
diff --git 
a/seatunnel-e2e/seatunnel-spark-connector-v2-e2e/connector-spark-e2e-base/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
 
b/seatunnel-e2e/seatunnel-spark-connector-v2-e2e/connector-spark-e2e-base/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
index 7ad7c69f5..a26271655 100644
--- 
a/seatunnel-e2e/seatunnel-spark-connector-v2-e2e/connector-spark-e2e-base/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
+++ 
b/seatunnel-e2e/seatunnel-spark-connector-v2-e2e/connector-spark-e2e-base/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
@@ -26,7 +26,7 @@ import org.apache.seatunnel.e2e.common.AbstractSparkContainer;
 public abstract class SparkContainer extends AbstractSparkContainer {
 
     @Override
-    protected String getStartModulePath() {
+    protected String getStartModuleName() {
         return "seatunnel-spark-starter";
     }
 
diff --git 
a/seatunnel-e2e/seatunnel-spark-e2e/seatunnel-connector-spark-e2e-base/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
 
b/seatunnel-e2e/seatunnel-spark-e2e/seatunnel-connector-spark-e2e-base/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
index 8811c06a4..56c07c4fe 100644
--- 
a/seatunnel-e2e/seatunnel-spark-e2e/seatunnel-connector-spark-e2e-base/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
+++ 
b/seatunnel-e2e/seatunnel-spark-e2e/seatunnel-connector-spark-e2e-base/src/test/java/org/apache/seatunnel/e2e/spark/SparkContainer.java
@@ -26,7 +26,7 @@ import org.apache.seatunnel.e2e.common.AbstractSparkContainer;
 public abstract class SparkContainer extends AbstractSparkContainer {
 
     @Override
-    protected String getStartModulePath() {
+    protected String getStartModuleName() {
         return "seatunnel-core-spark";
     }
 

Reply via email to