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