[ https://issues.apache.org/jira/browse/AXIOM311?page=com.atlassian.jira.plugin.system.issuetabpanels:commenttabpanel&focusedCommentId=14536630#comment14536630
]
Hudson commented on AXIOM311:

SUCCESS: Integrated in wsaxiomtrunk #2008 (See [https://builds.apache.org/job/wsaxiomtrunk/2008/])
AXIOM311: Reduce the number of dependencies between axiomtestsuite and axiomapi:tests.
(veithen: rev 1678491)
* /webservices/axiom/trunk/modules/axiomapi/src/test/java/org/apache/axiom/om/impl/DocumentElementExtractor.java
* /webservices/axiom/trunk/modules/axiomapi/src/test/java/org/apache/axiom/om/impl/RootWhitespaceFilter.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCloseWithInputStream.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/builder/TestCloseWithXMLStreamReader.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/builder/TestInvalidXML.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/container/DocumentElementExtractor.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/container/OMContainerFactory.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/container/OMElementFactory.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/container/RootWhitespaceFilter.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/document/TestBuild.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetChildElements.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetChildren.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetChildrenRemove1.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetChildrenRemove2.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetChildrenRemove3.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetChildrenRemove4.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/java/org/apache/axiom/ts/om/xpath/AXIOMXPathTestCase.java
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/resources/invalid_xml.xml
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/resources/org/apache/axiom/ts/om/builder
* /webservices/axiom/trunk/testing/axiomtestsuite/src/main/resources/org/apache/axiom/ts/om/builder/invalid_xml.xml
* /webservices/axiom/trunk/testing/xmltestsuite/src/main/java/org/apache/axiom/ts/xml/XMLSample.java
* /webservices/axiom/trunk/testing/xmltestsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/test.xml
* /webservices/axiom/trunk/testing/xmltestsuite/src/main/resources/org/apache/axiom/ts/xml/simple.xml
> Improve the Axiom test suite
> 
>
> Key: AXIOM311
> URL: https://issues.apache.org/jira/browse/AXIOM311
> Project: Axiom
> Issue Type: Improvement
> Reporter: Andreas Veithen
> Fix For: 1.2.16
>
>
> axiomtests contains a rich set of unit tests, but things could still be improved by
applying a common set of tests to both LLOM and DOOM. Indeed the test coverage of DOOM is
much lower than that of LLOM. I already refactored some of the tests so that they are applied
to both OM implementations, but we should push things further.
> One specific problem is that since all tests are in a common Maven module which depends
on both axiomimpl and axiomdom, it happens that some DOOM tests accidentally use the LLOM
implementation (which is the default). This could be avoided by moving the tests out of axiomtests
into the axiomapi, axiomimpl and axiomdom. Looking at the description in axiomtests/pom.xml,
It seems that this was actually the original intention:
> [quote] The Axiom test suite. This ought to be split into several parts and be made a
part of axiomapi, axiomimpl and axiomdom. However, that's not as easy as it seems. The
intention is to start with axiomtest and continuosly move parts to the actual projects. [/quote]
> It is indeed true that this is not as easy as it seems. I can see the following difficulties:
> 1) In Maven, the fact that module B depends on module A doesn't imply that the unit tests
of module B can refer to code in the unit tests of module A. If we want to avoid creating
new modules for the test code shared among several other modules, we need to get around this
problem. We had the same issue in Synapse and it can be solved by using the testjar goal
in mavenjarplugin which attaches a JAR with the unit test code. It is then sufficient to
add this as a dependency (in scope test) to the other modules.
> 2) We not only need to split the code, but also the test messages and documents in axiomtests/testresources.
As with the code, some of these documents would be used by several modules. The problem here
is that the tests don't access them as classpath resources but as files (see AbstractTestCase).
If we change that, i.e. if we load them using Class#getResourceAsStream, then the solution
for item 1 will also solves this problem. But maybe there is a particular reason why AbstractTestCase
uses file access?
> 3) Currently axiomtests overrides the JavaMail dependency of axiomapi (see WSCOMMONS417).
If we move the tests to the module to which they apply, we can no longer do this, but I think
it is a bad practice anyway.
> Does anyone see other difficulties that block us from splitting axiomtests?

This message was sent by Atlassian JIRA
(v6.3.4#6332)

To unsubscribe, email: devunsubscribe@ws.apache.org
For additional commands, email: devhelp@ws.apache.org
