You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by gp...@apache.org on 2013/12/05 13:16:21 UTC
git commit: DELTASPIKE-459 optional global container bootstrapping
added
Updated Branches:
refs/heads/master b1cdf8765 -> e1aeb3acb
DELTASPIKE-459 optional global container bootstrapping added
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/e1aeb3ac
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/e1aeb3ac
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/e1aeb3ac
Branch: refs/heads/master
Commit: e1aeb3acb640d25a639bc4e3d6de7c111cf0af38
Parents: b1cdf87
Author: gpetracek <gp...@apache.org>
Authored: Thu Dec 5 13:10:49 2013 +0100
Committer: gpetracek <gp...@apache.org>
Committed: Thu Dec 5 13:16:03 2013 +0100
----------------------------------------------------------------------
.../testcontrol/api/junit/CdiTestRunner.java | 14 +++++++--
.../api/junit/CdiTestSuiteRunner.java | 32 +++++++++++++++++---
2 files changed, 39 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/e1aeb3ac/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestRunner.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestRunner.java b/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestRunner.java
index 19698d9..fcd85c8 100644
--- a/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestRunner.java
+++ b/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestRunner.java
@@ -400,8 +400,11 @@ public class CdiTestRunner extends BlockJUnit4ClassRunner
if (!isContainerStarted())
{
- container.boot();
- setContainerStarted();
+ if (!CdiTestSuiteRunner.isContainerStarted())
+ {
+ container.boot();
+ setContainerStarted();
+ }
}
List<Class<? extends Annotation>> restrictedScopes = new ArrayList<Class<? extends Annotation>>();
@@ -428,7 +431,11 @@ public class CdiTestRunner extends BlockJUnit4ClassRunner
if (this.containerStarted)
{
- container.shutdown(); //stop the container on the same level which started it
+ if (CdiTestSuiteRunner.isStopContainerAllowed())
+ {
+ container.shutdown(); //stop the container on the same level which started it
+ CdiTestSuiteRunner.setContainerStarted(false);
+ }
}
}
@@ -456,6 +463,7 @@ public class CdiTestRunner extends BlockJUnit4ClassRunner
void setContainerStarted()
{
this.containerStarted = true;
+ CdiTestSuiteRunner.setContainerStarted(true);
}
private void startContexts(CdiContainer container, Class<? extends Annotation>... restrictedScopes)
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/e1aeb3ac/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestSuiteRunner.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestSuiteRunner.java b/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestSuiteRunner.java
index 1d795c5..7b25a72 100644
--- a/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestSuiteRunner.java
+++ b/deltaspike/modules/test-control/api/src/main/java/org/apache/deltaspike/testcontrol/api/junit/CdiTestSuiteRunner.java
@@ -20,6 +20,7 @@ package org.apache.deltaspike.testcontrol.api.junit;
import org.apache.deltaspike.cdise.api.CdiContainer;
import org.apache.deltaspike.cdise.api.CdiContainerLoader;
+import org.apache.deltaspike.core.api.config.ConfigResolver;
import org.junit.runner.Description;
import org.junit.runner.Runner;
import org.junit.runner.notification.Failure;
@@ -36,10 +37,17 @@ import java.util.logging.Logger;
@SuppressWarnings("UnusedDeclaration")
public class CdiTestSuiteRunner extends Suite
{
+ private static final boolean STOP_CONTAINER;
private static boolean containerStarted; //TODO
private final Class<?> testSuiteClass;
+ static
+ {
+ String stopContainerConfigValue = ConfigResolver.getPropertyValue("testcontrol.stop_container", "true");
+ STOP_CONTAINER = Boolean.parseBoolean(stopContainerConfigValue.trim());
+ }
+
public CdiTestSuiteRunner(Class<?> klass, RunnerBuilder builder) throws InitializationError
{
super(klass, builder);
@@ -75,8 +83,11 @@ public class CdiTestSuiteRunner extends Suite
CdiContainer container = CdiContainerLoader.getCdiContainer();
- container.boot();
- containerStarted = true;
+ if (!containerStarted)
+ {
+ container.boot();
+ containerStarted = true;
+ }
notifier.addListener(new LogRunListener());
@@ -86,8 +97,11 @@ public class CdiTestSuiteRunner extends Suite
}
finally
{
- container.shutdown();
- containerStarted = false;
+ if (STOP_CONTAINER)
+ {
+ container.shutdown();
+ containerStarted = false;
+ }
}
}
@@ -96,6 +110,16 @@ public class CdiTestSuiteRunner extends Suite
return containerStarted;
}
+ static Boolean isStopContainerAllowed()
+ {
+ return STOP_CONTAINER;
+ }
+
+ static void setContainerStarted(boolean containerStarted)
+ {
+ CdiTestSuiteRunner.containerStarted = containerStarted;
+ }
+
static class LogRunListener extends RunListener
{
private final Logger logger = Logger.getLogger(LogRunListener.class.getName());