You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shai Erera (JIRA)" <ji...@apache.org> on 2009/04/14 22:13:14 UTC
[jira] Commented: (LUCENE-1529) back-compat tests ("ant test-tag")
should test JAR drop-in-ability
[ https://issues.apache.org/jira/browse/LUCENE-1529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12698907#action_12698907 ]
Shai Erera commented on LUCENE-1529:
------------------------------------
Perhaps that's related: target test-tag has this step:
{code}
<!-- compile tag tests against tag jar -->
<compile-test-macro srcdir="${tags.dir}/${tag}/src/test" destdir="${build.dir}/${tag}/classes/test"
test.classpath="tag.test.classpath"/>
{code}
Notice that test.classpath is set to tag.test.classpath, which is defined as:
{code}
<path id="tag.test.classpath">
<path refid="demo.classpath"/>
<path refid="junit-path"/>
<pathelement location="${build.dir}/${tag}/classes/test"/>
<pathelement location="${build.dir}/${tag}/${tag}.jar"/>
</path>
{code}
"demo.classpath" includes build/classes/demo as well as build/classes/java, which includes the current trunk's build classes.
If I change the definition to rely only on tag.jar, demo classes and junit jar:
{code}
<path id="tag.test.classpath">
<path refid="junit-path"/>
<pathelement location="${build.dir}/classes/demo"/>
<pathelement location="${build.dir}/${tag}/${tag}.jar"/>
</path>
{code}
I get errors like this:
{code}
[javac] Compiling 128 source files to D:\dev\lucene\lucene-trunk\build\lucene_2_4_back_compat_tests_20090320\classes\test
[javac] D:\dev\lucene\lucene-trunk\tags\lucene_2_4_back_compat_tests_20090320\src\test\org\apache\lucene\index\TestIndexReaderReopen.java:323: cannot find symbol
[javac] symbol : method getSequentialSubReaders()
[javac] location: class org.apache.lucene.index.MultiSegmentReader
[javac] IndexReader[] subReaders0 = ((MultiSegmentReader) reader0).getSequentialSubReaders();
[javac] ^
[javac] D:\dev\lucene\lucene-trunk\tags\lucene_2_4_back_compat_tests_20090320\src\test\org\apache\lucene\index\TestIndexReaderReopen.java:335: cannot find symbol
[javac] symbol : method getSequentialSubReaders()
[javac] location: class org.apache.lucene.index.MultiSegmentReader
[javac] IndexReader[] subReaders1 = ((MultiSegmentReader) reader1).getSequentialSubReaders();
[javac] ^
{code}
That's because tag.jar's MultiSegmentReader does not have a getSequentialSubReaders method, however TestIndexReaderReopen calls it. Is that ok?
Anyway, can it be that the classes/java in the classpath cause this change to not fail?
> back-compat tests ("ant test-tag") should test JAR drop-in-ability
> ------------------------------------------------------------------
>
> Key: LUCENE-1529
> URL: https://issues.apache.org/jira/browse/LUCENE-1529
> Project: Lucene - Java
> Issue Type: New Feature
> Components: Build
> Affects Versions: 2.9
> Reporter: Michael McCandless
> Assignee: Michael Busch
> Priority: Minor
> Fix For: 2.9
>
> Attachments: lucene-1529.patch
>
>
> We now test back-compat with "ant test-tag", which is very useful for
> catching breaks in back compat before committing.
> However, that currently checks out "src/test" sources and then
> compiles them against the trunk JAR, and runs the tests. Whereas our
> back compat policy:
> http://wiki.apache.org/lucene-java/BackwardsCompatibility
> states that no recompilation is required on upgrading to a new JAR.
> Ie you should be able to drop in the new JAR in place of your old one
> and things should work fine.
> So... we should fix "ant test-tag" to:
> * Do full checkout of core sources & tests from the back-compat-tag
> * Compile the JAR from the back-compat sources
> * Compile the tests against that back-compat JAR
> * Swap in the trunk JAR
> * Run the tests
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org