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