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

Do not write each SQL error three times in TestScript

上级 f3ac8c41
......@@ -464,6 +464,17 @@ public abstract class TestBase {
throw new AssertionError(string);
}
/**
* Log an error message.
*
* @param s the message
*/
public static void logErrorMessage(String s) {
System.out.flush();
System.err.println("ERROR: " + s + "------------------------------");
logThrowable(s, null);
}
/**
* Log an error message.
*
......@@ -478,6 +489,10 @@ public abstract class TestBase {
System.err.println("ERROR: " + s + " " + e.toString()
+ " ------------------------------");
e.printStackTrace();
logThrowable(null, e);
}
private static void logThrowable(String s, Throwable e) {
// synchronize on this class, because file locks are only visible to
// other JVMs
synchronized (TestBase.class) {
......@@ -494,9 +509,14 @@ public abstract class TestBase {
}
// append
FileWriter fw = new FileWriter("error.txt", true);
PrintWriter pw = new PrintWriter(fw);
e.printStackTrace(pw);
pw.close();
if (s != null) {
fw.write(s);
}
if (e != null) {
PrintWriter pw = new PrintWriter(fw);
e.printStackTrace(pw);
pw.close();
}
fw.close();
// unlock
lock.release();
......
......@@ -172,7 +172,7 @@ public class TestScript extends TestBase {
conn.close();
out.close();
if (errors.length() > 0) {
throw new Exception("errors:\n" + errors.toString());
throw new Exception("errors found");
}
// new File(outFile).delete();
}
......@@ -445,7 +445,7 @@ public class TestScript extends TestBase {
if (e != null) {
TestBase.logError("script", e);
}
TestBase.logError(errors.toString(), null);
TestBase.logErrorMessage(errors.toString());
if (failFast) {
conn.close();
System.exit(1);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论