On Mar 1, 2010, at 10:48 AM, Caleb James DeLisle
wrote:
By clearing the XWikiContext in the tearDown of
the unit test, I can
stop the memory leak and stop running the tests in isolation. I am
proposing we apply this change because the XWikiContext is created
per test and the worst problem which can be created is tests
erroneously passing which I don't think is very likely from a change
like this.
+1 for the main reason that this improves build times. The second reason is that it
makes memory leaks more visible which gives us a better chance to find them (although this
won't replace performance tests running over a few days for ex).
However please add a comment just above the getContext().clear() to explain why this is
needed. BTW why is it needed? :)
I will do that. The reason it's needed is because (it seems) the
context is referenced by a static variable which isn't cleared and
rather than pick through the tests looking for where the reference
was (and hoping no test ever does it again) I opted to clear the
context and let the tests use the context as they wish. This is my
understanding of the situation.
Thanks
-Vincent
Jira issue:
http://jira.xwiki.org/jira/browse/XWIKI-4953
Patch:
http://jira.xwiki.org/jira/secure/attachment/16788/XWIKI-4496-patchTestMemo…
Patch content:
Index: core/xwiki-core/pom.xml
===================================================================
--- core/xwiki-core/pom.xml (revision 27357)
+++ core/xwiki-core/pom.xml (working copy)
@@ -823,10 +823,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <!-- Prevent Out Of Memory errors resulting from tests
that do no free up the memory correctly -->
- <forkMode>pertest</forkMode>
- </configuration>
</plugin>
<!-- Publish a Core Test JAR -->
<plugin>
Index:
core/xwiki-core/src/test/java/com/xpn/xwiki/test/AbstractBridgedXWikiComponentTestCase.java
===================================================================
---
core/xwiki-core/src/test/java/com/xpn/xwiki/test/AbstractBridgedXWikiComponentTestCase.java
(revision 27357)
+++
core/xwiki-core/src/test/java/com/xpn/xwiki/test/AbstractBridgedXWikiComponentTestCase.java
(working copy)
@@ -80,6 +80,7 @@
protected void tearDown() throws Exception
{
Utils.setComponentManager(null);
+ getContext().clear();
super.tearDown();
}
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs