lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <...@thetaphi.de>
Subject RE: svn commit: r828334 - /lucene/java/branches/lucene_2_9_back_compat_tests/src/test/org/apache/lucene/index/TestCheckIndex.java
Date Thu, 22 Oct 2009 09:31:13 GMT
> Putting the LUCENE_VERSION in front of the string instead of in back seems
> fine?

I would prefer this, as it makes it possible to do compareTo() comparisons
and so on, which may be used in client code, too (not only test). OK, client
code should not use trunk versions from Hudson, but it would be better.

> Or we could relax the test to simply assert that the expected version
> appears anywhere as a substring?  (ie, .contains instead of
> .startsWith)

This would only fix this test. I prefer the first.

Uwe

> Mike
> 
> On Thu, Oct 22, 2009 at 4:13 AM, Uwe Schindler <uwe@thetaphi.de> wrote:
> > I found a solution for this problem!
> >
> > First the explaination:
> > The test CheckIndexTest compares the version numbers from Constants with
> the
> > current compilation (ant settings). There are two constants
> > Constants.LUCENE_MAIN_VERSION which is hard coded into Constants.java.
> This
> > version had  a problem, because it was a static final String constant,
> which
> > is inlined by javac, so that code compiled against that version of the
> class
> > file will always see the static string even when you replace the JAR.
> >
> > The second constant LUCENE_VERSION contains the same like in the
> manifest,
> > and if no manifest is available (no JAR file at all), it contains the
> > LUCENE_MAIN_VERSION constant. The code has some intelligence to add
> > LUCENE_MAIN_VERSION also to this constant (but at the end and in []
> > brackets), if the string from the manifest contains no version.
> >
> > E.g. Hudson compiles Lucene and puts just a date code into the manifest
> > ("-Dversion=200910xxxx" ANT parameter). LUCENE_MAIN_VERSION will
> contains
> > this string, bud as "3.0-dev" does not appear in this string, it is
> appended
> > as "[3.0-dev]".
> >
> > The test CheckIndex checks these version and tests if LUCENE_VERSION
> starts
> > with LUCENE_MAIN_VERSION, which is not correct in this case. The test
> works
> > for trunk, because the tests are run without JAR file (against the class
> > files direct), but not for backwards (as the test is run against the
> > lucene-core.jar, which contains the manifest).
> >
> > The easy fix would be to change Constants.LUCENE_VERSION to not append
> the
> > string, but places it in front of the manifest string, if the manifest
> > string does not start with LUCENE_MAIN_VERSION. We could also fix
> Hudson,
> > but then test will fail if somebody uses a strange version string when
> > calling ANT. The first solution is 100% secure.
> >
> > Opinions?
> >
> > -----
> > Uwe Schindler
> > H.-H.-Meier-Allee 63, D-28213 Bremen
> > http://www.thetaphi.de
> > eMail: uwe@thetaphi.de
> >
> >> -----Original Message-----
> >> From: uschindler@apache.org [mailto:uschindler@apache.org]
> >> Sent: Thursday, October 22, 2009 9:22 AM
> >> To: java-commits@lucene.apache.org
> >> Subject: svn commit: r828334 -
> >>
> /lucene/java/branches/lucene_2_9_back_compat_tests/src/test/org/apache/luc
> >> ene/index/TestCheckIndex.java
> >>
> >> Author: uschindler
> >> Date: Thu Oct 22 07:22:28 2009
> >> New Revision: 828334
> >>
> >> URL: http://svn.apache.org/viewvc?rev=828334&view=rev
> >> Log:
> >> this test fails on hudson because of the strange "version" ant
> parameter
> >> with only a date code. test-tag is run against the JAR version, test-
> core
> >> against the class files. The JAR version contains the strange version
> >> number in manifest :(
> >> Should be somehow fixed. For now, I disable the test.
> >>
> >> Modified:
> >>
> >>
> lucene/java/branches/lucene_2_9_back_compat_tests/src/test/org/apache/luce
> >> ne/index/TestCheckIndex.java
> >>
> >> Modified:
> >>
> lucene/java/branches/lucene_2_9_back_compat_tests/src/test/org/apache/luce
> >> ne/index/TestCheckIndex.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9_back_compat_t
> >>
> ests/src/test/org/apache/lucene/index/TestCheckIndex.java?rev=828334&r1=82
> >> 8333&r2=828334&view=diff
> >>
> ==========================================================================
> >> ====
> >> ---
> >>
> lucene/java/branches/lucene_2_9_back_compat_tests/src/test/org/apache/luce
> >> ne/index/TestCheckIndex.java (original)
> >> +++
> >>
> lucene/java/branches/lucene_2_9_back_compat_tests/src/test/org/apache/luce
> >> ne/index/TestCheckIndex.java Thu Oct 22 07:22:28 2009
> >> @@ -96,6 +96,8 @@
> >>      assertNotNull(version);
> >>      assertTrue(version.equals(Constants.LUCENE_MAIN_VERSION+"-dev") ||
> >>                 version.equals(Constants.LUCENE_MAIN_VERSION));
> >> -    assertTrue(Constants.LUCENE_VERSION.startsWith(version));
> >> +    // TODO: does not work on hudson, because tests are run against a
> JAR
> >> version,
> >> +    // which has a package version like "20091013*" not "3.0*":
> >> +    //assertTrue(Constants.LUCENE_VERSION.startsWith(version));
> >>    }
> >>  }
> >>
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> > For additional commands, e-mail: java-dev-help@lucene.apache.org
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message