You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by gs...@apache.org on 2009/01/22 20:30:59 UTC
svn commit: r736754 -
/ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/AntUnit.java
Author: gscokart
Date: Thu Jan 22 11:30:59 2009
New Revision: 736754
URL: http://svn.apache.org/viewvc?rev=736754&view=rev
Log:
extract suiteSetup, suiteTearDown and target execution
Modified:
ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/AntUnit.java
Modified: ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/AntUnit.java
URL: http://svn.apache.org/viewvc/ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/AntUnit.java?rev=736754&r1=736753&r2=736754&view=diff
==============================================================================
--- ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/AntUnit.java (original)
+++ ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/AntUnit.java Thu Jan 22 11:30:59 2009
@@ -224,6 +224,71 @@
}
+ private boolean runSuiteSetup(boolean suiteSetUp) {
+ if (suiteSetUp) {
+ try {
+ newProject.executeTarget(SUITESETUP);
+ } catch (AssertionFailedException e) {
+ fireStartTest(SUITESETUP);
+ fireFail(SUITESETUP, e);
+ return false;
+ } catch (BuildException e) {
+ fireStartTest(SUITESETUP);
+ fireFailOrError(SUITESETUP, e);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private void runTarget(boolean setUp, boolean tearDown, String name) {
+ Vector v = new Vector();
+ if (setUp) {
+ v.add(SETUP);
+ }
+ v.add(name);
+ // create and register a logcapturer on the newProject
+ LogCapturer lc = new LogCapturer(newProject);
+ try {
+ fireStartTest(name);
+ newProject.executeTargets(v);
+ } catch (AssertionFailedException e) {
+ fireFail(name, e);
+ } catch (BuildException e) {
+ fireFailOrError(name, e);
+ } finally {
+ // fire endTest here instead of the endTarget
+ // event, otherwise an error would be
+ // registered after the endTest event -
+ // endTarget is called before this method's catch block
+ // is reached.
+ fireEndTest(name);
+ // clean up
+ if (tearDown) {
+ try {
+ newProject.executeTarget(TEARDOWN);
+ } catch (final AssertionFailedException e) {
+ fireFail(name, e);
+ } catch (final BuildException e) {
+ fireFailOrError(name, e);
+ }
+ }
+ }
+ }
+
+ private void runSuiteTearDown(boolean suiteTearDown) {
+ if (suiteTearDown) {
+ try {
+ newProject.executeTarget(SUITETEARDOWN);
+ } catch (AssertionFailedException e) {
+ fireStartTest(SUITETEARDOWN);
+ fireFail(SUITETEARDOWN, e);
+ } catch (BuildException e) {
+ fireStartTest(SUITETEARDOWN);
+ fireFailOrError(SUITETEARDOWN, e);
+ }
+ }
+ }
/**
* Processes a single build file.
@@ -254,76 +319,21 @@
Throwable caught = null;
try {
- if (suiteSetUp) {
- boolean success = false;
- try {
- newProject.executeTarget(SUITESETUP);
- success = true;
- } catch (AssertionFailedException e) {
- fireStartTest(SUITESETUP);
- fireFail(SUITESETUP, e);
- } catch (BuildException e) {
- fireStartTest(SUITESETUP);
- fireFailOrError(SUITESETUP, e);
- }
- if (!success) {
- return;
- }
+ if (!runSuiteSetup(suiteSetUp)) {
+ return;
}
Iterator iter = testTargets.iterator();
while (iter.hasNext()) {
String name = (String) iter.next();
- Vector v = new Vector();
- if (setUp) {
- v.add(SETUP);
- }
- v.add(name);
- // create and register a logcapturer on the newProject
- LogCapturer lc = new LogCapturer(newProject);
- try {
- fireStartTest(name);
- newProject.executeTargets(v);
- } catch (AssertionFailedException e) {
- fireFail(name, e);
- } catch (BuildException e) {
- fireFailOrError(name, e);
- } finally {
- // fire endTest here instead of the endTarget
- // event, otherwise an error would be
- // registered after the endTest event -
- // endTarget is called before this method's catch block
- // is reached.
- fireEndTest(name);
- // clean up
- if (tearDown) {
- try {
- newProject.executeTarget(TEARDOWN);
- } catch (final AssertionFailedException e) {
- fireFail(name, e);
- } catch (final BuildException e) {
- fireFailOrError(name, e);
- }
- }
- if (iter.hasNext()) {
- newProject = createProjectForFile(f);
- }
- }
+ runTarget(setUp, tearDown, name);
+ if (iter.hasNext()) {
+ newProject = createProjectForFile(f);
+ }
}
} catch (Throwable e) {
caught = e;
} finally {
- if (suiteTearDown) {
- try {
- newProject.executeTarget(SUITETEARDOWN);
- } catch (AssertionFailedException e) {
- fireStartTest(SUITETEARDOWN);
- fireFail(SUITETEARDOWN, e);
- } catch (BuildException e) {
- fireStartTest(SUITETEARDOWN);
- fireFailOrError(SUITETEARDOWN, e);
- }
- }
-
+ runSuiteTearDown(suiteTearDown);
newProject.fireBuildFinished(caught);
newProject = null;
}