提交 ae7a4e72 authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Do not gather statemets in TestScript in normal execution mode

上级 e93e6ad0
...@@ -40,8 +40,8 @@ public class TestScript extends TestBase { ...@@ -40,8 +40,8 @@ public class TestScript extends TestBase {
/** If set to true, the test will exit at the first failure. */ /** If set to true, the test will exit at the first failure. */
private boolean failFast; private boolean failFast;
private final ArrayList<String> statements = new ArrayList<>(); /** If set to a value the test will add all executed statements to this list */
private boolean getAllStatementsMode; private ArrayList<String> statements;
private boolean reconnectOften; private boolean reconnectOften;
private Connection conn; private Connection conn;
...@@ -72,15 +72,14 @@ public class TestScript extends TestBase { ...@@ -72,15 +72,14 @@ public class TestScript extends TestBase {
*/ */
public ArrayList<String> getAllStatements(TestAll conf) throws Exception { public ArrayList<String> getAllStatements(TestAll conf) throws Exception {
config = conf; config = conf;
if (statements.isEmpty()) { ArrayList<String> result = new ArrayList<>(4000);
try { try {
getAllStatementsMode = true; statements = result;
test(); test();
} finally { } finally {
getAllStatementsMode = false; this.statements = null;
}
} }
return statements; return result;
} }
@Override @Override
...@@ -187,7 +186,7 @@ public class TestScript extends TestBase { ...@@ -187,7 +186,7 @@ public class TestScript extends TestBase {
putBack = null; putBack = null;
errors = null; errors = null;
if (!getAllStatementsMode) { if (statements == null) {
println("Running commands in " + scriptFileName); println("Running commands in " + scriptFileName);
} }
final String outFile = "test.out.txt"; final String outFile = "test.out.txt";
...@@ -310,7 +309,9 @@ public class TestScript extends TestBase { ...@@ -310,7 +309,9 @@ public class TestScript extends TestBase {
} }
} }
} }
statements.add(sql); if (statements != null) {
statements.add(sql);
}
if (sql.indexOf('?') == -1) { if (sql.indexOf('?') == -1) {
processStatement(sql); processStatement(sql);
} else { } else {
......
...@@ -66,7 +66,7 @@ public class TestCrashAPI extends TestBase implements Runnable { ...@@ -66,7 +66,7 @@ public class TestCrashAPI extends TestBase implements Runnable {
private final HashMap<Class <?>, ArrayList<Method>> classMethods = private final HashMap<Class <?>, ArrayList<Method>> classMethods =
new HashMap<>(); new HashMap<>();
private RandomGen random = new RandomGen(); private RandomGen random = new RandomGen();
private final ArrayList<String> statements = new ArrayList<>(); private ArrayList<String> statements;
private int openCount; private int openCount;
private long callCount; private long callCount;
private volatile long maxWait = 60; private volatile long maxWait = 60;
...@@ -536,10 +536,9 @@ public class TestCrashAPI extends TestBase implements Runnable { ...@@ -536,10 +536,9 @@ public class TestCrashAPI extends TestBase implements Runnable {
} }
startServerIfRequired(); startServerIfRequired();
TestScript script = new TestScript(); TestScript script = new TestScript();
ArrayList<String> add = script.getAllStatements(config); statements = script.getAllStatements(config);
initMethods(); initMethods();
org.h2.Driver.load(); org.h2.Driver.load();
statements.addAll(add);
return this; return this;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论