private void runTests(ModuleEnvironment env, List<AbstractFunction> tests) {
testResultListener.start(tests.size());
// try {
for (int i = tests.size() - 1; i >= 0; i--) {
AbstractFunction test = tests.get(i);
if (test.hasTag("ignore") || test.hasTag("Ignore") || test.hasTag("ignoreInterpreter") || test.hasTag("IgnoreInterpreter")) {
continue;
}
try{
QuickCheck qc = QuickCheck.getInstance();
StringWriter sw = new StringWriter();
PrintWriter out = new PrintWriter(sw);
int maxDepth = Cobra.readIntTag(test, Cobra.MAXDEPTH, 5);
int tries = Cobra.readIntTag(test, Cobra.TRIES, 500);
boolean result = qc.quickcheck(test, maxDepth, tries, false, out);
if (!result) {
out.flush();
testResultListener.report(false, test.getName(), test.getAst().getLocation(), sw.getBuffer()
.toString(), null);
} else {
testResultListener.report(true, test.getName(), test.getAst().getLocation(), sw.getBuffer()
.toString(), null);
}
}
catch(StaticError e) {
testResultListener.report(false, test.getName(), test.getAst().getLocation(), e.getMessage(), e);
}
catch(Throw e){
testResultListener.report(false, test.getName(), test.getAst().getLocation(), e.getMessage(), e);
}
catch(Throwable e){
testResultListener.report(false, test.getName(), test.getAst().getLocation(), e.getMessage(), e);
}
}
// }
// finally {
testResultListener.done();