public final void execute(CommandContext commandContext) { int numberOfTests = this.tests.size(); for (int i = 0, size = numberOfTests; i < size; i++) { Test test = (Test) this.tests.elementAt(i); String startMessage = "Executing [" + test.getInfo() + "]"; System.out.println(startMessage); StringBuilder buffer = new StringBuilder(startMessage + "\n\n"); buffer.append("(" + (i + 1) + " out of " + numberOfTests + ")"); this.publishMessage(buffer.toString(), commandContext); try { test.setTestSuite(this); test.setUp(); test.runTest(); test.tearDown(); test.setTestSuite(null); } catch (Exception e) { // eat this and keep going this.reportError("Exception:" + test.getInfo() + ":" + e.toString() + ":" + e.getMessage()); } } // Report the errors StringBuilder buffer = new StringBuilder(); if (this.errors.size() > 0) { System.out.println("Errors---------------------------------"); for (int i = 0, errSize = this.errors.size(); i < errSize; i++) { String errorStr = this.errors.elementAt(i).toString(); buffer.append(errorStr + "\n\n\n"); } } else { buffer.append("TestSuite successfully executed all tests..."); } this.status = buffer.toString(); System.out.println(status); commandContext.setAttribute("status", this.status); }