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 5c144b1c31c Merge integration-test/sql-parse and test/parser modules
(#22143)
5c144b1c31c is described below
commit 5c144b1c31cdd30277f864c1d281f247a5275069
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Nov 13 18:08:03 2022 +0800
Merge integration-test/sql-parse and test/parser modules (#22143)
---
.github/workflows/nightly-sql-parser.yml | 37 +++++++++-
.../external}/MySQLParserParameterizedIT.java | 8 +-
.../external}/PostgreSQLParserParameterizedIT.java | 8 +-
test/integration-test/pom.xml | 1 -
test/integration-test/sql-parser/pom.xml | 86 ----------------------
test/parser/pom.xml | 76 +++++++++++++++----
.../external}/engine/SQLParserParameterizedIT.java | 6 +-
.../env/SQLParserExternalITEnvironment.java | 2 +-
.../sql/parser/external}/loader/SQLCaseLoader.java | 8 +-
.../loader/strategy/SQLCaseLoadStrategy.java | 4 +-
.../strategy/impl/GitHubSQLCaseLoadStrategy.java | 6 +-
.../impl/LocalFileSQLCaseLoadStrategy.java | 6 +-
.../loader/summary/AssertableFileSummary.java | 2 +-
.../external}/loader/summary/FileSummary.java | 2 +-
.../external}/result/SQLParseResultReporter.java | 2 +-
.../result/SQLParseResultReporterCreator.java | 2 +-
.../SQLParseResultReporterCreatorFactory.java | 2 +-
.../result/type/csv/CsvSQLParseResultReporter.java | 6 +-
.../type/csv/CsvSQLParseResultReporterCreator.java | 6 +-
.../result/type/log/LogSQLParseResultReporter.java | 4 +-
.../type/log/LogSQLParseResultReporterCreator.java | 6 +-
....external.result.SQLParseResultReporterCreator} | 4 +-
.../env/sql-parser-external-it-env.properties | 0
23 files changed, 137 insertions(+), 147 deletions(-)
diff --git a/.github/workflows/nightly-sql-parser.yml
b/.github/workflows/nightly-sql-parser.yml
index a10d48fc07b..2db8fbc7839 100644
--- a/.github/workflows/nightly-sql-parser.yml
+++ b/.github/workflows/nightly-sql-parser.yml
@@ -15,7 +15,7 @@
# limitations under the License.
#
-name: Nightly - SQL Parser
+name: Nightly - SQL parser loading from external cases
on:
schedule:
@@ -26,7 +26,7 @@ env:
MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false
-Dmaven.wagon.http.retryHandler.class=standard
-Dmaven.wagon.http.retryHandler.count=3 -Dcheckstyle.skip=true
-Dspotless.apply.skip=true -Dmaven.javadoc.skip=true -Djacoco.skip=true
-Drat.skip=true
jobs:
- sql-parse:
+ mysql-parse:
if: github.repository == 'apache/shardingsphere'
name: CI - JDK ${{ matrix.java-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
@@ -52,7 +52,38 @@ jobs:
- name: Build prod with Maven
run: ./mvnw -T1C -B -ntp clean install
- name: Run SQL parser
- run: ./mvnw -nsu -B install -f
test/integration-test/sql-parser/pom.xml -Dsql.parser.external.it.enabled=true
+ run: ./mvnw -nsu -B install -f sql-parser/dialect/mysql/pom.xml
-Dsql.parser.external.it.enabled=true
+ - uses: actions/upload-artifact@v3
+ with:
+ name: sql-report
+ path: /tmp/*.csv
+ postgresql-parse:
+ if: github.repository == 'apache/shardingsphere'
+ name: CI - JDK ${{ matrix.java-version }} on ${{ matrix.os }}
+ runs-on: ${{ matrix.os }}
+ timeout-minutes: 90
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ ubuntu-latest ]
+ java-version: [ 8 ]
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: ${{ matrix.java-version }}
+ - uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: shardingsphere-maven-third-party-cache-${{ github.sha }}
+ restore-keys: |
+ shardingsphere-maven-third-party-cache-
+ shardingsphere-maven-third-party-
+ - name: Build prod with Maven
+ run: ./mvnw -T1C -B -ntp clean install
+ - name: Run SQL parser
+ run: ./mvnw -nsu -B install -f sql-parser/dialect/postgresql/pom.xml
-Dsql.parser.external.it.enabled=true
- uses: actions/upload-artifact@v3
with:
name: sql-report
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/engine/dialect/MySQLParserParameterizedIT.java
b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/external/MySQLParserParameterizedIT.java
similarity index 81%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/engine/dialect/MySQLParserParameterizedIT.java
rename to
sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/external/MySQLParserParameterizedIT.java
index 3ee72bcc84c..f027ab2c76f 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/engine/dialect/MySQLParserParameterizedIT.java
+++
b/sql-parser/dialect/mysql/src/test/java/org/apache/shardingsphere/sql/parser/mysql/external/MySQLParserParameterizedIT.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.engine.dialect;
+package org.apache.shardingsphere.sql.parser.mysql.external;
-import
org.apache.shardingsphere.test.integration.sql.parser.engine.SQLParserParameterizedIT;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.SQLCaseLoader;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.strategy.impl.GitHubSQLCaseLoadStrategy;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.engine.SQLParserParameterizedIT;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.SQLCaseLoader;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.strategy.impl.GitHubSQLCaseLoadStrategy;
import
org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/engine/dialect/PostgreSQLParserParameterizedIT.java
b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/external/PostgreSQLParserParameterizedIT.java
similarity index 81%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/engine/dialect/PostgreSQLParserParameterizedIT.java
rename to
sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/external/PostgreSQLParserParameterizedIT.java
index 618125074e5..c2ceeec0d92 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/engine/dialect/PostgreSQLParserParameterizedIT.java
+++
b/sql-parser/dialect/postgresql/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/external/PostgreSQLParserParameterizedIT.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.engine.dialect;
+package org.apache.shardingsphere.sql.parser.postgresql.external;
-import
org.apache.shardingsphere.test.integration.sql.parser.engine.SQLParserParameterizedIT;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.SQLCaseLoader;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.strategy.impl.GitHubSQLCaseLoadStrategy;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.engine.SQLParserParameterizedIT;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.SQLCaseLoader;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.strategy.impl.GitHubSQLCaseLoadStrategy;
import
org.apache.shardingsphere.test.runner.ShardingSphereParallelTestParameterized;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized.Parameters;
diff --git a/test/integration-test/pom.xml b/test/integration-test/pom.xml
index 556dba6d8f5..3c2e78d8edf 100644
--- a/test/integration-test/pom.xml
+++ b/test/integration-test/pom.xml
@@ -36,7 +36,6 @@
<module>transaction</module>
<module>ha</module>
<module>showprocesslist</module>
- <module>sql-parser</module>
</modules>
<properties>
diff --git a/test/integration-test/sql-parser/pom.xml
b/test/integration-test/sql-parser/pom.xml
deleted file mode 100644
index 85baf0b3c70..00000000000
--- a/test/integration-test/sql-parser/pom.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-integration-test</artifactId>
- <version>5.2.2-SNAPSHOT</version>
- </parent>
- <artifactId>shardingsphere-integration-test-sql-parser</artifactId>
- <name>${project.artifactId}</name>
-
- <properties>
- <commons-csv.version>1.9.0</commons-csv.version>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-test</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-parser-mysql</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-parser-postgresql</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-csv</artifactId>
- <version>${commons-csv.version}</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-resources</id>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <phase>validate</phase>
- <configuration>
-
<outputDirectory>target/test-classes</outputDirectory>
- <resources>
- <resource>
- <directory>src/test/resources</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/test/parser/pom.xml b/test/parser/pom.xml
index 7d332708b82..447a03456e4 100644
--- a/test/parser/pom.xml
+++ b/test/parser/pom.xml
@@ -30,9 +30,31 @@
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
<json-path.version>2.4.0</json-path.version>
+ <commons-csv.version>1.9.0</commons-csv.version>
</properties>
<dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.vintage</groupId>
+ <artifactId>junit-vintage-engine</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path</artifactId>
+ <version>${json-path.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-csv</artifactId>
+ <version>${commons-csv.version}</version>
+ </dependency>
+
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-sql-parser-engine</artifactId>
@@ -103,25 +125,49 @@
<artifactId>shardingsphere-shadow-distsql-parser</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- <scope>compile</scope>
- </dependency>
+
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-test-common</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>com.jayway.jsonpath</groupId>
- <artifactId>json-path</artifactId>
- <version>${json-path.version}</version>
- </dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>integration-tests</id>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-resources</id>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <phase>validate</phase>
+ <configuration>
+
<outputDirectory>target/test-classes</outputDirectory>
+ <resources>
+ <resource>
+ <directory>src/test/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/engine/SQLParserParameterizedIT.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/engine/SQLParserParameterizedIT.java
similarity index 89%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/engine/SQLParserParameterizedIT.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/engine/SQLParserParameterizedIT.java
index 0321072f660..ea30454a83a 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/engine/SQLParserParameterizedIT.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/engine/SQLParserParameterizedIT.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.engine;
+package org.apache.shardingsphere.test.integration.sql.parser.external.engine;
import lombok.extern.slf4j.Slf4j;
import
org.apache.shardingsphere.infra.util.exception.external.ShardingSphereExternalException;
@@ -23,8 +23,8 @@ import org.apache.shardingsphere.sql.parser.api.CacheOption;
import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
import org.apache.shardingsphere.sql.parser.api.SQLVisitorEngine;
import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
-import
org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporter;
-import
org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporterCreatorFactory;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporter;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporterCreatorFactory;
import org.junit.Test;
import java.util.Properties;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/env/SQLParserExternalITEnvironment.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/env/SQLParserExternalITEnvironment.java
similarity index 97%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/env/SQLParserExternalITEnvironment.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/env/SQLParserExternalITEnvironment.java
index f25961572d2..3db351584db 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/env/SQLParserExternalITEnvironment.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/env/SQLParserExternalITEnvironment.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.env;
+package org.apache.shardingsphere.test.integration.sql.parser.external.env;
import lombok.Getter;
import lombok.SneakyThrows;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/SQLCaseLoader.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/SQLCaseLoader.java
similarity index 93%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/SQLCaseLoader.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/SQLCaseLoader.java
index 47dc29240f9..71098051f13 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/SQLCaseLoader.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/SQLCaseLoader.java
@@ -15,13 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.loader;
+package org.apache.shardingsphere.test.integration.sql.parser.external.loader;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import
org.apache.shardingsphere.test.integration.sql.parser.env.SQLParserExternalITEnvironment;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.strategy.SQLCaseLoadStrategy;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.summary.FileSummary;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.env.SQLParserExternalITEnvironment;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.strategy.SQLCaseLoadStrategy;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.summary.FileSummary;
import java.io.BufferedReader;
import java.io.IOException;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/strategy/SQLCaseLoadStrategy.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/strategy/SQLCaseLoadStrategy.java
similarity index 85%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/strategy/SQLCaseLoadStrategy.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/strategy/SQLCaseLoadStrategy.java
index 68780430286..8374780ab5d 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/strategy/SQLCaseLoadStrategy.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/strategy/SQLCaseLoadStrategy.java
@@ -15,9 +15,9 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.loader.strategy;
+package
org.apache.shardingsphere.test.integration.sql.parser.external.loader.strategy;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.summary.FileSummary;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.summary.FileSummary;
import java.net.URI;
import java.util.Collection;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/strategy/impl/GitHubSQLCaseLoadStrategy.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/strategy/impl/GitHubSQLCaseLoadStrategy.java
similarity index 91%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/strategy/impl/GitHubSQLCaseLoadStrategy.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/strategy/impl/GitHubSQLCaseLoadStrategy.java
index 0483d3e689f..4a2d2ccfa60 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/strategy/impl/GitHubSQLCaseLoadStrategy.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/strategy/impl/GitHubSQLCaseLoadStrategy.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package
org.apache.shardingsphere.test.integration.sql.parser.loader.strategy.impl;
+package
org.apache.shardingsphere.test.integration.sql.parser.external.loader.strategy.impl;
import com.jayway.jsonpath.JsonPath;
import lombok.extern.slf4j.Slf4j;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.summary.FileSummary;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.strategy.SQLCaseLoadStrategy;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.strategy.SQLCaseLoadStrategy;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.summary.FileSummary;
import java.io.BufferedReader;
import java.io.IOException;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/strategy/impl/LocalFileSQLCaseLoadStrategy.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/strategy/impl/LocalFileSQLCaseLoadStrategy.java
similarity index 79%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/strategy/impl/LocalFileSQLCaseLoadStrategy.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/strategy/impl/LocalFileSQLCaseLoadStrategy.java
index b280ab2ae1d..b08eb1eda70 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/strategy/impl/LocalFileSQLCaseLoadStrategy.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/strategy/impl/LocalFileSQLCaseLoadStrategy.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package
org.apache.shardingsphere.test.integration.sql.parser.loader.strategy.impl;
+package
org.apache.shardingsphere.test.integration.sql.parser.external.loader.strategy.impl;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.summary.FileSummary;
-import
org.apache.shardingsphere.test.integration.sql.parser.loader.strategy.SQLCaseLoadStrategy;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.strategy.SQLCaseLoadStrategy;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.loader.summary.FileSummary;
import java.net.URI;
import java.util.Collection;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/summary/AssertableFileSummary.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/summary/AssertableFileSummary.java
similarity index 92%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/summary/AssertableFileSummary.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/summary/AssertableFileSummary.java
index 41c99cd158f..4d6c310d835 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/summary/AssertableFileSummary.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/summary/AssertableFileSummary.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.loader.summary;
+package
org.apache.shardingsphere.test.integration.sql.parser.external.loader.summary;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/summary/FileSummary.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/summary/FileSummary.java
similarity index 92%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/summary/FileSummary.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/summary/FileSummary.java
index 1f4080164d0..adb635ef20f 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/loader/summary/FileSummary.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/loader/summary/FileSummary.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.loader.summary;
+package
org.apache.shardingsphere.test.integration.sql.parser.external.loader.summary;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/SQLParseResultReporter.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/SQLParseResultReporter.java
similarity index 93%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/SQLParseResultReporter.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/SQLParseResultReporter.java
index 4f5d3dc3acc..3265614e4cd 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/SQLParseResultReporter.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/SQLParseResultReporter.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.result;
+package org.apache.shardingsphere.test.integration.sql.parser.external.result;
/**
* SQL parse result reporter.
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/SQLParseResultReporterCreator.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/SQLParseResultReporterCreator.java
similarity index 93%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/SQLParseResultReporterCreator.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/SQLParseResultReporterCreator.java
index 8ad47d995fe..fba0e15e059 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/SQLParseResultReporterCreator.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/SQLParseResultReporterCreator.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.result;
+package org.apache.shardingsphere.test.integration.sql.parser.external.result;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/SQLParseResultReporterCreatorFactory.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/SQLParseResultReporterCreatorFactory.java
similarity index 95%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/SQLParseResultReporterCreatorFactory.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/SQLParseResultReporterCreatorFactory.java
index 98f36d4db0a..fd01cd3ecb1 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/SQLParseResultReporterCreatorFactory.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/SQLParseResultReporterCreatorFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.result;
+package org.apache.shardingsphere.test.integration.sql.parser.external.result;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/csv/CsvSQLParseResultReporter.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/csv/CsvSQLParseResultReporter.java
similarity index 89%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/csv/CsvSQLParseResultReporter.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/csv/CsvSQLParseResultReporter.java
index d0cf541e94c..ddf5be068d7 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/csv/CsvSQLParseResultReporter.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/csv/CsvSQLParseResultReporter.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.result.type.csv;
+package
org.apache.shardingsphere.test.integration.sql.parser.external.result.type.csv;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
-import
org.apache.shardingsphere.test.integration.sql.parser.env.SQLParserExternalITEnvironment;
-import
org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporter;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.env.SQLParserExternalITEnvironment;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporter;
import java.io.File;
import java.io.FileWriter;
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/csv/CsvSQLParseResultReporterCreator.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/csv/CsvSQLParseResultReporterCreator.java
similarity index 80%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/csv/CsvSQLParseResultReporterCreator.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/csv/CsvSQLParseResultReporterCreator.java
index 51c7b1a3455..9209991e65a 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/csv/CsvSQLParseResultReporterCreator.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/csv/CsvSQLParseResultReporterCreator.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.result.type.csv;
+package
org.apache.shardingsphere.test.integration.sql.parser.external.result.type.csv;
-import
org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporter;
-import
org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporterCreator;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporter;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporterCreator;
/**
* SQL parse result reporter creator for CSV.
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/log/LogSQLParseResultReporter.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/log/LogSQLParseResultReporter.java
similarity index 87%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/log/LogSQLParseResultReporter.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/log/LogSQLParseResultReporter.java
index ad2045651a4..718f0df48a6 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/log/LogSQLParseResultReporter.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/log/LogSQLParseResultReporter.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.result.type.log;
+package
org.apache.shardingsphere.test.integration.sql.parser.external.result.type.log;
import lombok.extern.slf4j.Slf4j;
-import
org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporter;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporter;
/**
* SQL parse result reporter for log.
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/log/LogSQLParseResultReporterCreator.java
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/log/LogSQLParseResultReporterCreator.java
similarity index 79%
rename from
test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/log/LogSQLParseResultReporterCreator.java
rename to
test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/log/LogSQLParseResultReporterCreator.java
index 37ad9fdeb93..45fb83faa76 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/test/integration/sql/parser/result/type/log/LogSQLParseResultReporterCreator.java
+++
b/test/parser/src/main/java/org/apache/shardingsphere/test/integration/sql/parser/external/result/type/log/LogSQLParseResultReporterCreator.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.test.integration.sql.parser.result.type.log;
+package
org.apache.shardingsphere.test.integration.sql.parser.external.result.type.log;
-import
org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporter;
-import
org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporterCreator;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporter;
+import
org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporterCreator;
/**
* SQL parse result reporter creator for log.
diff --git
a/test/integration-test/sql-parser/src/test/resources/META-INF/services/org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporterCreator
b/test/parser/src/main/resources/META-INF/services/org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporterCreator
similarity index 77%
rename from
test/integration-test/sql-parser/src/test/resources/META-INF/services/org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporterCreator
rename to
test/parser/src/main/resources/META-INF/services/org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporterCreator
index 61046543150..21566802f47 100644
---
a/test/integration-test/sql-parser/src/test/resources/META-INF/services/org.apache.shardingsphere.test.integration.sql.parser.result.SQLParseResultReporterCreator
+++
b/test/parser/src/main/resources/META-INF/services/org.apache.shardingsphere.test.integration.sql.parser.external.result.SQLParseResultReporterCreator
@@ -15,5 +15,5 @@
# limitations under the License.
#
-org.apache.shardingsphere.test.integration.sql.parser.result.type.log.LogSQLParseResultReporterCreator
-org.apache.shardingsphere.test.integration.sql.parser.result.type.csv.CsvSQLParseResultReporterCreator
+org.apache.shardingsphere.test.integration.sql.parser.external.result.type.log.LogSQLParseResultReporterCreator
+org.apache.shardingsphere.test.integration.sql.parser.external.result.type.csv.CsvSQLParseResultReporterCreator
diff --git
a/test/integration-test/sql-parser/src/test/resources/env/sql-parser-external-it-env.properties
b/test/parser/src/main/resources/env/sql-parser-external-it-env.properties
similarity index 100%
rename from
test/integration-test/sql-parser/src/test/resources/env/sql-parser-external-it-env.properties
rename to
test/parser/src/main/resources/env/sql-parser-external-it-env.properties