diff options
author | spingel | 2009-09-23 07:13:44 +0000 |
---|---|---|
committer | spingel | 2009-09-23 07:13:44 +0000 |
commit | 6659979febe99142ebe1c9bc9a7f828f6d10dac9 (patch) | |
tree | 08e84595d9680110fc1946383f722aa6a0ae3d8b /org.eclipse.mylyn.tests.util/src | |
parent | 1e6cc032fd7e445ddc75eb35f51f6a13c304c8ba (diff) | |
download | org.eclipse.mylyn.tasks-6659979febe99142ebe1c9bc9a7f828f6d10dac9.tar.gz org.eclipse.mylyn.tasks-6659979febe99142ebe1c9bc9a7f828f6d10dac9.tar.xz org.eclipse.mylyn.tasks-6659979febe99142ebe1c9bc9a7f828f6d10dac9.zip |
NEW - bug 290198: move test utilities to a separate plug-in
https://bugs.eclipse.org/bugs/show_bug.cgi?id=290198
Diffstat (limited to 'org.eclipse.mylyn.tests.util/src')
-rw-r--r-- | org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/TestFixture.java | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/TestFixture.java b/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/TestFixture.java index f46bc10eb..bdb41c48b 100644 --- a/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/TestFixture.java +++ b/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/TestFixture.java @@ -16,6 +16,7 @@ import java.net.Proxy; import junit.framework.TestCase; import junit.framework.TestSuite; +import org.eclipse.core.runtime.Assert; import org.eclipse.mylyn.commons.net.AbstractWebLocation; import org.eclipse.mylyn.commons.net.AuthenticationCredentials; import org.eclipse.mylyn.commons.net.AuthenticationType; @@ -36,6 +37,24 @@ import org.eclipse.mylyn.tests.util.TestUtil.PrivilegeLevel; */ public abstract class TestFixture { + private final class Activation extends TestCase { + private final boolean activate; + + private Activation(String name, boolean activate) { + super(name); + this.activate = activate; + } + + @Override + protected void runTest() throws Throwable { + if (activate) { + activate(); + } else { + getDefault().activate(); + } + } + } + /** * Clears all tasks. */ @@ -80,6 +99,8 @@ public abstract class TestFixture { protected final String repositoryUrl; + private TestSuite suite; + public TestFixture(String connectorKind, String repositoryUrl) { this.connectorKind = connectorKind; this.repositoryUrl = repositoryUrl; @@ -87,7 +108,10 @@ public abstract class TestFixture { protected abstract TestFixture activate(); - public void add(TestSuite suite, Class<? extends TestCase> clazz) { + protected abstract TestFixture getDefault(); + + public void add(Class<? extends TestCase> clazz) { + Assert.isNotNull(suite, "Invoke createSuite() first"); if (Boolean.parseBoolean(System.getProperty("mylyn.tests.annotate")) && getInfo() != null) { suite.addTest(new TestSuite(clazz, clazz.getName() + " [" + getInfo() + "]")); } else { @@ -99,17 +123,19 @@ public abstract class TestFixture { return connector; } - public TestSuite createSuite() { - TestSuite suite = new TestSuite("Testing on " + getInfo()); - suite.addTest(new TestCase("activiating " + getRepositoryUrl()) { - @Override - protected void runTest() throws Throwable { - activate(); - } - }); + public TestSuite createSuite(TestSuite parentSuite) { + suite = new TestSuite("Testing on " + getInfo()); + parentSuite.addTest(suite); + suite.addTest(new Activation("repository: " + getRepositoryUrl() + " [" + getInfo() + "]", true)); return suite; } + public void done() { + Assert.isNotNull(suite, "Invoke createSuite() first"); + suite.addTest(new Activation("done", false)); + suite = null; + } + public String getConnectorKind() { return connectorKind; } |