This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jxpath.git
The following commit(s) were added to refs/heads/master by this push: new 42da558 Some tests do not clean up after themselves and cause random failures 42da558 is described below commit 42da558a34ef30b965c43f981315559bdd24e938 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Tue Oct 18 10:13:53 2022 -0400 Some tests do not clean up after themselves and cause random failures --- .../commons/jxpath/ri/JXPathContextReferenceImpl.java | 15 +++++++++++++++ .../java/org/apache/commons/jxpath/BasicNodeSetTest.java | 4 ---- .../jxpath/ri/JXPathContextReferenceImplTestCase.java | 8 +++++++- .../jxpath/ri/model/dynabeans/LazyDynaBeanTest.java | 8 ++++++-- .../apache/commons/jxpath/util/ClassLoaderUtilTest.java | 2 -- 5 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java b/src/main/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java index e25a8d1..999a471 100644 --- a/src/main/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java +++ b/src/main/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java @@ -142,6 +142,21 @@ public class JXPathContextReferenceImpl extends JXPathContext { } } + /** + * Removes support for additional types of objects. + * + * @param factory NodePointerFactory to remove + * @return true if this implementation contained the specified element + * @since 1.4.0 + */ + public static boolean removeNodePointerFactory(NodePointerFactory factory) { + synchronized (nodeFactories) { + final boolean remove = nodeFactories.remove(factory); + nodeFactoryArray = null; + return remove; + } + } + /** * Get the registered NodePointerFactories. * @return NodePointerFactory[] diff --git a/src/test/java/org/apache/commons/jxpath/BasicNodeSetTest.java b/src/test/java/org/apache/commons/jxpath/BasicNodeSetTest.java index 64a2cd3..193df85 100644 --- a/src/test/java/org/apache/commons/jxpath/BasicNodeSetTest.java +++ b/src/test/java/org/apache/commons/jxpath/BasicNodeSetTest.java @@ -23,10 +23,6 @@ import org.w3c.dom.Element; /** * Test BasicNodeSet - * - * @author - * @version $Revision$ $Date: 2007-12-10 15:15:27 -0600 (Mon, 10 Dec - * 2007) $ */ public class BasicNodeSetTest extends JXPathTestCase { diff --git a/src/test/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImplTestCase.java b/src/test/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImplTestCase.java index 8d97d70..05204e0 100644 --- a/src/test/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImplTestCase.java +++ b/src/test/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImplTestCase.java @@ -27,6 +27,12 @@ public class JXPathContextReferenceImplTestCase extends TestCase { * https://issues.apache.org/jira/browse/JXPATH-166 */ public void testInit() { - JXPathContextReferenceImpl.addNodePointerFactory(new ContainerPointerFactory()); + final ContainerPointerFactory factory = new ContainerPointerFactory(); + try { + JXPathContextReferenceImpl.addNodePointerFactory(factory); + } finally { + while (JXPathContextReferenceImpl.removeNodePointerFactory(factory)) + ; + } } } diff --git a/src/test/java/org/apache/commons/jxpath/ri/model/dynabeans/LazyDynaBeanTest.java b/src/test/java/org/apache/commons/jxpath/ri/model/dynabeans/LazyDynaBeanTest.java index 9588fcc..36988d5 100644 --- a/src/test/java/org/apache/commons/jxpath/ri/model/dynabeans/LazyDynaBeanTest.java +++ b/src/test/java/org/apache/commons/jxpath/ri/model/dynabeans/LazyDynaBeanTest.java @@ -34,12 +34,16 @@ public class LazyDynaBeanTest extends JXPathTestCase { } public void testStrictLazyDynaBeanPropertyFactory() { - JXPathContextReferenceImpl.addNodePointerFactory(new StrictLazyDynaBeanPointerFactory()); + final StrictLazyDynaBeanPointerFactory factory = new StrictLazyDynaBeanPointerFactory(); + JXPathContextReferenceImpl.addNodePointerFactory(factory); try { testLazyProperty(); fail(); } catch (JXPathNotFoundException e) { - //okay + // okay + } finally { + while (JXPathContextReferenceImpl.removeNodePointerFactory(factory)) + ; } } } diff --git a/src/test/java/org/apache/commons/jxpath/util/ClassLoaderUtilTest.java b/src/test/java/org/apache/commons/jxpath/util/ClassLoaderUtilTest.java index 1c82549..7c0bdfa 100644 --- a/src/test/java/org/apache/commons/jxpath/util/ClassLoaderUtilTest.java +++ b/src/test/java/org/apache/commons/jxpath/util/ClassLoaderUtilTest.java @@ -30,8 +30,6 @@ import junit.framework.TestCase; /** * Tests org.apache.commons.jxpath.util.ClassLoaderUtil. - * - * @author */ public class ClassLoaderUtilTest extends TestCase {