[jboss-svn-commits] JBoss Common SVN: r4705 - in arquillian/trunk: junit/src/main/java/org/jboss/arquillian/junit and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 8 10:29:36 EDT 2010
Author: aslak
Date: 2010-07-08 10:29:34 -0400 (Thu, 08 Jul 2010)
New Revision: 4705
Modified:
arquillian/trunk/examples/testng/src/test/java/com/acme/jms/InjectionTestCase.java
arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java
arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/JUnitTestRunner.java
arquillian/trunk/testng/src/main/java/org/jboss/arquillian/testng/Arquillian.java
arquillian/trunk/testng/src/main/java/org/jboss/arquillian/testng/TestDataProviderTransformer.java
Log:
ARQ-203 Remove ThreadLocal variables when done to prevent leakage.
Modified: arquillian/trunk/examples/testng/src/test/java/com/acme/jms/InjectionTestCase.java
===================================================================
--- arquillian/trunk/examples/testng/src/test/java/com/acme/jms/InjectionTestCase.java 2010-07-08 13:57:06 UTC (rev 4704)
+++ arquillian/trunk/examples/testng/src/test/java/com/acme/jms/InjectionTestCase.java 2010-07-08 14:29:34 UTC (rev 4705)
@@ -63,18 +63,26 @@
String messageBody = "ping";
- Connection connection = factory.createConnection();
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- QueueRequestor requestor = new QueueRequestor((QueueSession)session, dlq);
+ Connection connection = null;
+ try
+ {
+ connection = factory.createConnection();
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ QueueRequestor requestor = new QueueRequestor((QueueSession)session, dlq);
- connection.start();
-
- Message request = session.createTextMessage(messageBody);
- Message response = requestor.request(request, 5000);
-
- Assert.assertEquals(
- ((TextMessage)response).getText(),
- messageBody,
- "Should have responded with same message");
+ connection.start();
+
+ Message request = session.createTextMessage(messageBody);
+ Message response = requestor.request(request, 5000);
+
+ Assert.assertEquals(
+ "Should have responded with same message",
+ messageBody,
+ ((TextMessage)response).getText());
+ }
+ finally
+ {
+ connection.close();
+ }
}
}
Modified: arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java
===================================================================
--- arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java 2010-07-08 13:57:06 UTC (rev 4704)
+++ arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java 2010-07-08 14:29:34 UTC (rev 4705)
@@ -25,7 +25,6 @@
import org.jboss.arquillian.impl.DeployableTestBuilder;
import org.jboss.arquillian.impl.XmlConfigurationBuilder;
import org.jboss.arquillian.spi.Configuration;
-import org.jboss.arquillian.spi.ContainerProfile;
import org.jboss.arquillian.spi.TestMethodExecutor;
import org.jboss.arquillian.spi.TestResult;
import org.jboss.arquillian.spi.TestRunnerAdaptor;
@@ -54,6 +53,7 @@
* Exception back to the client so the client side can throw it again. This to avoid a incontainer working but failing
* on client side due to no Exception thrown.
*/
+ // Cleaned up in JUnitTestRunner
public static ThreadLocal<Throwable> caughtTestException = new ThreadLocal<Throwable>();
/*
@@ -85,21 +85,6 @@
throw new InitializationError(Arrays.asList((Throwable)e));
}
}
- /* @HACK
- * If in-container, the Thread will be reused between multiple TestRuns.
- * We need to call BeginSuite before everyone. But only once if not.
- */
- else if(ContainerProfile.CONTAINER == DeployableTestBuilder.getProfile())
- {
- try
- {
- deployableTest.get().beforeSuite();
- }
- catch (Exception e)
- {
- throw new InitializationError(Arrays.asList((Throwable)e));
- }
- }
}
@Override
@@ -117,6 +102,7 @@
{
deployableTest.get().afterSuite();
lastCreatedRunner.set(null);
+ deployableTest.set(null);
}
}
catch (Exception e)
Modified: arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/JUnitTestRunner.java
===================================================================
--- arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/JUnitTestRunner.java 2010-07-08 13:57:06 UTC (rev 4704)
+++ arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/JUnitTestRunner.java 2010-07-08 14:29:34 UTC (rev 4705)
@@ -110,6 +110,7 @@
if (test != null && test.expected() != Test.None.class)
{
exception = Arquillian.caughtTestException.get();
+ Arquillian.caughtTestException.set(null);
}
}
}
Modified: arquillian/trunk/testng/src/main/java/org/jboss/arquillian/testng/Arquillian.java
===================================================================
--- arquillian/trunk/testng/src/main/java/org/jboss/arquillian/testng/Arquillian.java 2010-07-08 13:57:06 UTC (rev 4704)
+++ arquillian/trunk/testng/src/main/java/org/jboss/arquillian/testng/Arquillian.java 2010-07-08 14:29:34 UTC (rev 4705)
@@ -67,6 +67,7 @@
return;
}
deployableTest.get().afterSuite();
+ deployableTest.set(null);
}
@BeforeClass(alwaysRun = true)
Modified: arquillian/trunk/testng/src/main/java/org/jboss/arquillian/testng/TestDataProviderTransformer.java
===================================================================
--- arquillian/trunk/testng/src/main/java/org/jboss/arquillian/testng/TestDataProviderTransformer.java 2010-07-08 13:57:06 UTC (rev 4704)
+++ arquillian/trunk/testng/src/main/java/org/jboss/arquillian/testng/TestDataProviderTransformer.java 2010-07-08 14:29:34 UTC (rev 4705)
@@ -18,22 +18,23 @@
* @author <a href="mailto:aknutsen at redhat.com">Aslak Knutsen</a>
* @version $Revision: $
*/
-public class TestDataProviderTransformer implements IAnnotationTransformer {
+public class TestDataProviderTransformer implements IAnnotationTransformer
+{
- /* (non-Javadoc)
- * @see org.testng.IAnnotationTransformer#transform(org.testng.annotations.ITestAnnotation, java.lang.Class, java.lang.reflect.Constructor, java.lang.reflect.Method)
- */
- @SuppressWarnings("unchecked")
- public void transform(ITestAnnotation testAnnotation, Class clazz, Constructor constructor, Method method)
- {
- if(testAnnotation.getDataProviderClass() == null)
- {
- if(testAnnotation instanceof TestAnnotation)
- {
- TestAnnotation annoation = (TestAnnotation)testAnnotation;
- annoation.setDataProviderClass(TestEnricherDataProvider.class);
- annoation.setDataProvider(TestEnricherDataProvider.PROVIDER_NAME);
- }
- }
- }
+ /* (non-Javadoc)
+ * @see org.testng.IAnnotationTransformer#transform(org.testng.annotations.ITestAnnotation, java.lang.Class, java.lang.reflect.Constructor, java.lang.reflect.Method)
+ */
+ @SuppressWarnings("rawtypes")
+ public void transform(ITestAnnotation testAnnotation, Class clazz, Constructor constructor, Method method)
+ {
+ if (testAnnotation.getDataProviderClass() == null)
+ {
+ if (testAnnotation instanceof TestAnnotation)
+ {
+ TestAnnotation annoation = (TestAnnotation) testAnnotation;
+ annoation.setDataProviderClass(TestEnricherDataProvider.class);
+ annoation.setDataProvider(TestEnricherDataProvider.PROVIDER_NAME);
+ }
+ }
+ }
}
More information about the jboss-svn-commits
mailing list