Browse Source

Skip SQLExecTest if the testcase and the <sql> implementation would be

loaded by different classloaders.

package private access is only allowed if the classes belong to the
same "runtime package", which is the fully qualified package name plus
the defining classloader.  Enough reading of JLS and VMSPEC for me for
today 8-)

We probably could code around the problem by placing a subclass of
SQLExec into the same classloader as SQLExecTest and invoke methods on
this subclass.


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270618 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 23 years ago
parent
commit
e6d08dfeb2
1 changed files with 23 additions and 8 deletions
  1. +23
    -8
      build.xml

+ 23
- 8
build.xml View File

@@ -207,6 +207,13 @@
<isset property="jdk1.2+" /> <isset property="jdk1.2+" />
</and> </and>
</condition> </condition>

<condition property="run.sqlexec.test">
<or>
<equals arg1="${junit.fork}" arg2="true" />
<equals arg1="${build.sysclasspath}" arg2="only" />
</or>
</condition>
</target> </target>


<!-- <!--
@@ -885,16 +892,20 @@
<exclude name="${optional.package}/sitraka/*.java" unless="jakarta.oro.present" /> <exclude name="${optional.package}/sitraka/*.java" unless="jakarta.oro.present" />
<exclude name="${optional.package}/ReplaceRegExpTest.java" <exclude name="${optional.package}/ReplaceRegExpTest.java"
unless="some.regexp.support" /> unless="some.regexp.support" />

<!-- it's an abstract class, not a test -->
<exclude name="org/apache/tools/ant/taskdefs/optional/AbstractXSLTLiaisonTest.java" />
<exclude name="org/apache/tools/ant/taskdefs/optional/XslpLiaisonTest.java" unless="xslp.present"/>
<exclude name="org/apache/tools/ant/taskdefs/optional/XalanLiaisonTest.java" unless="xalan.present"/>
<exclude name="org/apache/tools/ant/taskdefs/optional/XslpLiaisonTest.java"
unless="xslp.present"/>
<exclude name="org/apache/tools/ant/taskdefs/optional/XalanLiaisonTest.java"
unless="xalan.present"/>


<exclude name="org/apache/tools/ant/taskdefs/optional/AdaptxLiaisonTest.java" <exclude name="org/apache/tools/ant/taskdefs/optional/AdaptxLiaisonTest.java"
unless="adaptx.present"/> unless="adaptx.present"/>
<exclude name="org/apache/tools/ant/taskdefs/optional/AdaptxLiaisonTest.java" <exclude name="org/apache/tools/ant/taskdefs/optional/AdaptxLiaisonTest.java"
unless="xerces.present"/> unless="xerces.present"/>
<exclude name="${optional.package}/perforce/*.java"
unless="jakarta.oro.present" />

<!-- it's an abstract class, not a test -->
<exclude name="org/apache/tools/ant/taskdefs/optional/AbstractXSLTLiaisonTest.java" />


<!-- ehm, this is not really a TraX test but rather a xalan2 test..--> <!-- ehm, this is not really a TraX test but rather a xalan2 test..-->
<exclude name="org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java" unless="xalan2.present"/> <exclude name="org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java" unless="xalan2.present"/>
@@ -905,11 +916,15 @@
<exclude name="${optional.package}/junit/JUnitTestRunnerTest.java" <exclude name="${optional.package}/junit/JUnitTestRunnerTest.java"
unless="jdk1.2+" /> unless="jdk1.2+" />


<exclude name="${optional.package}/perforce/*.java"
unless="jakarta.oro.present" />

<!-- interactive test --> <!-- interactive test -->
<exclude name="org/apache/tools/ant/taskdefs/TestProcess.java" /> <exclude name="org/apache/tools/ant/taskdefs/TestProcess.java" />

<!-- This test only passes if SQLExecTest and SQLExec have
been loaded by the same classloader - will throw
IllegalAccessExceptions otherwise. -->
<exclude name="org/apache/tools/ant/taskdefs/SQLExecTest.java"
unless="run.sqlexec.test" />

</fileset> </fileset>
</batchtest> </batchtest>




Loading…
Cancel
Save