This is an automated email from the ASF dual-hosted git repository.
zhangyonglun 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 beb863f Print exception context for integration test (#7005)
beb863f is described below
commit beb863f7a49603cd49ca4cdff14b36f1eea5236d
Author: sandynz <[email protected]>
AuthorDate: Mon Aug 24 23:36:42 2020 +0800
Print exception context for integration test (#7005)
---
.../test/java/org/apache/shardingsphere/dbtest/engine/BaseIT.java | 6 +++++-
.../java/org/apache/shardingsphere/dbtest/engine/SingleIT.java | 4 ++++
.../org/apache/shardingsphere/dbtest/engine/dcl/GeneralDCLIT.java | 6 ++++++
.../org/apache/shardingsphere/dbtest/engine/ddl/GeneralDDLIT.java | 3 +++
.../org/apache/shardingsphere/dbtest/engine/dml/GeneralDMLIT.java | 6 ++++++
.../org/apache/shardingsphere/dbtest/engine/dql/GeneralDQLIT.java | 6 ++++++
.../dbtest/env/authority/AuthorityEnvironmentManager.java | 8 ++++++--
7 files changed, 36 insertions(+), 3 deletions(-)
diff --git
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BaseIT.java
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BaseIT.java
index 02877c7..f1e88ff 100644
---
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BaseIT.java
+++
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/BaseIT.java
@@ -100,7 +100,11 @@ public abstract class BaseIT {
if (new File(result).exists()) {
return result;
}
- return Joiner.on("/").join(prefix, "dataset", expectedDataFile);
+ result = Joiner.on("/").join(prefix, "dataset", expectedDataFile);
+ if (new File(result).exists()) {
+ return result;
+ }
+ throw new IllegalArgumentException(String.format("%s not found,
path=%s, ruleType=%s, databaseType=%s, expectedDataFile=%s", result, path,
ruleType, databaseType.getName(), expectedDataFile));
}
protected static void createDatabasesAndTables() {
diff --git
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/SingleIT.java
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/SingleIT.java
index c8e291b..7f19c1f 100644
---
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/SingleIT.java
+++
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/SingleIT.java
@@ -66,4 +66,8 @@ public abstract class SingleIT extends BaseIT {
return String.format(sql.replace("%", "$").replace("?", "%s"),
parameters.toArray()).replace("$", "%")
.replace("%%", "%").replace("'%'", "'%%'");
}
+
+ protected void printExceptionContext(final Exception ex) {
+ System.err.println(String.format("ruleType=%s, databaseType=%s,
expectedDataFile=%s, sql=%s, ex.msg=%s", getRuleType(),
getDatabaseType().getName(), expectedDataFile, sql, ex.getMessage()));
+ }
}
diff --git
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dcl/GeneralDCLIT.java
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dcl/GeneralDCLIT.java
index 123ecba..ca4d298 100644
---
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dcl/GeneralDCLIT.java
+++
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dcl/GeneralDCLIT.java
@@ -52,6 +52,9 @@ public final class GeneralDCLIT extends BaseDCLIT {
} else {
connection.prepareStatement(getSql()).executeUpdate();
}
+ } catch (final SQLException ex) {
+ printExceptionContext(ex);
+ throw ex;
}
}
@@ -63,6 +66,9 @@ public final class GeneralDCLIT extends BaseDCLIT {
} else {
connection.prepareStatement(getSql()).execute();
}
+ } catch (final SQLException ex) {
+ printExceptionContext(ex);
+ throw ex;
}
}
}
diff --git
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/ddl/GeneralDDLIT.java
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/ddl/GeneralDDLIT.java
index 6487a9f..8bdef80 100644
---
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/ddl/GeneralDDLIT.java
+++
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/ddl/GeneralDDLIT.java
@@ -82,6 +82,9 @@ public final class GeneralDDLIT extends BaseDDLIT {
}
assertMetadata(connection);
dropTableIfExisted(connection);
+ } catch (final SQLException ex) {
+ printExceptionContext(ex);
+ throw ex;
}
}
}
diff --git
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/GeneralDMLIT.java
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/GeneralDMLIT.java
index 68ef469..c1a560e 100644
---
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/GeneralDMLIT.java
+++
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dml/GeneralDMLIT.java
@@ -68,6 +68,9 @@ public final class GeneralDMLIT extends BaseDMLIT {
int actualUpdateCount;
try (Connection connection = getDataSource().getConnection()) {
actualUpdateCount = SQLCaseType.Literal == getCaseType() ?
executeUpdateForStatement(connection) :
executeUpdateForPreparedStatement(connection);
+ } catch (final SQLException ex) {
+ printExceptionContext(ex);
+ throw ex;
}
assertDataSet(actualUpdateCount);
}
@@ -100,6 +103,9 @@ public final class GeneralDMLIT extends BaseDMLIT {
int actualUpdateCount;
try (Connection connection = getDataSource().getConnection()) {
actualUpdateCount = SQLCaseType.Literal == getCaseType() ?
executeForStatement(connection) : executeForPreparedStatement(connection);
+ } catch (final SQLException ex) {
+ printExceptionContext(ex);
+ throw ex;
}
assertDataSet(actualUpdateCount);
}
diff --git
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/GeneralDQLIT.java
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/GeneralDQLIT.java
index 417e5ad..5df5315 100644
---
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/GeneralDQLIT.java
+++
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/GeneralDQLIT.java
@@ -61,6 +61,9 @@ public final class GeneralDQLIT extends BaseDQLIT {
} else {
assertExecuteQueryForPreparedStatement(connection);
}
+ } catch (final SQLException ex) {
+ printExceptionContext(ex);
+ throw ex;
}
}
@@ -91,6 +94,9 @@ public final class GeneralDQLIT extends BaseDQLIT {
} else {
assertExecuteForPreparedStatement(connection);
}
+ } catch (final SQLException ex) {
+ printExceptionContext(ex);
+ throw ex;
}
}
diff --git
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/env/authority/AuthorityEnvironmentManager.java
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/env/authority/AuthorityEnvironmentManager.java
index 8c0f70b..1ff10fd 100644
---
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/env/authority/AuthorityEnvironmentManager.java
+++
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/env/authority/AuthorityEnvironmentManager.java
@@ -83,8 +83,12 @@ public final class AuthorityEnvironmentManager {
try (Connection connection = dataSource.getConnection()) {
for (String each : sqls) {
try (Statement statement = connection.createStatement()) {
- statement.execute(each);
- } catch (final SQLException ignored) {
+ boolean executeRet = statement.execute(each);
+ if (!executeRet) {
+ System.err.println("execute '" + each + "' failed");
+ }
+ } catch (final SQLException ex) {
+ System.err.println("execute '" + each + "' failed,
ex.msg=" + ex.getMessage());
}
}
}