You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by do...@apache.org on 2011/10/25 18:44:57 UTC
svn commit: r1188777 - in /lucene/dev/trunk/lucene: CHANGES.txt
src/test-framework/org/apache/lucene/util/LuceneTestCase.java
src/test/org/apache/lucene/TestAssertions.java
src/test/org/apache/lucene/index/TestSegmentMerger.java
Author: doronc
Date: Tue Oct 25 16:44:56 2011
New Revision: 1188777
URL: http://svn.apache.org/viewvc?rev=1188777&view=rev
Log:
LUCENE-3506: tests for verifying assertions enabled were no-op.
Modified:
lucene/dev/trunk/lucene/CHANGES.txt
lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java
lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestAssertions.java
lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java
Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1188777&r1=1188776&r2=1188777&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Tue Oct 25 16:44:56 2011
@@ -724,6 +724,10 @@ Test Cases
for implementing subclasses in different packages, where assertions are not
enabled. (Uwe Schindler)
+* LUCENE-3506: tests relying on assertions being enabled were no-op because
+ they ignored AssertionError. With this fix now entire test framework
+ (all tests) fail if assertions are disabled. (Doron Cohen)
+
======================= Lucene 3.4.0 =======================
Bug fixes
Modified: lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java?rev=1188777&r1=1188776&r2=1188777&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/trunk/lucene/src/test-framework/org/apache/lucene/util/LuceneTestCase.java Tue Oct 25 16:44:56 2011
@@ -400,6 +400,9 @@ public abstract class LuceneTestCase ext
TimeZone.setDefault(timeZone);
similarityProvider = new RandomSimilarityProvider(random);
testsFailed = false;
+
+ // verify assertions are enabled (do last, for smooth cleanup)
+ assertTrue("assertions are not enabled!", assertionsEnabled());
}
@AfterClass
@@ -1442,4 +1445,15 @@ public abstract class LuceneTestCase ext
@Ignore("just a hack")
public final void alwaysIgnoredTestMethod() {}
+
+ /** check if assertions are enabled */
+ private static boolean assertionsEnabled() {
+ try {
+ assert Boolean.FALSE.booleanValue();
+ return false; // should never get here
+ } catch (AssertionError e) {
+ return true;
+ }
+ }
+
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestAssertions.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestAssertions.java?rev=1188777&r1=1188776&r2=1188777&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestAssertions.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/TestAssertions.java Tue Oct 25 16:44:56 2011
@@ -17,55 +17,14 @@ package org.apache.lucene;
* limitations under the License.
*/
-import java.io.Reader;
-
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
+/**
+ * validate that assertions are enabled during tests
+ */
public class TestAssertions extends LuceneTestCase {
- public void testBasics() {
- try {
- assert Boolean.FALSE.booleanValue();
- fail("assertions are not enabled!");
- } catch (AssertionError e) {
- assert Boolean.TRUE.booleanValue();
- }
- }
-
- static class TestAnalyzer1 extends Analyzer {
-
- @Override
- protected TokenStreamComponents createComponents(String fieldName, Reader aReader) {
- return null;
- }
- }
-
- static final class TestAnalyzer2 extends Analyzer {
-
- @Override
- protected TokenStreamComponents createComponents(String fieldName, Reader aReader) {
- return null;
- }
- }
-
- static class TestAnalyzer3 extends Analyzer {
-
- @Override
- protected TokenStreamComponents createComponents(String fieldName, Reader aReader) {
- return null;
- }
- }
-
- static class TestAnalyzer4 extends Analyzer {
-
- @Override
- protected TokenStreamComponents createComponents(String fieldName, Reader aReader) {
- return null;
- }
- }
-
static class TestTokenStream1 extends TokenStream {
@Override
public final boolean incrementToken() { return false; }
@@ -82,31 +41,15 @@ public class TestAssertions extends Luce
}
public void testTokenStreams() {
- new TestAnalyzer1();
-
- new TestAnalyzer2();
-
- try {
- new TestAnalyzer3();
- fail("TestAnalyzer3 should fail assertion");
- } catch (AssertionError e) {
- }
-
- try {
- new TestAnalyzer4();
- fail("TestAnalyzer4 should fail assertion");
- } catch (AssertionError e) {
- }
-
new TestTokenStream1();
-
new TestTokenStream2();
-
+ boolean doFail = false;
try {
new TestTokenStream3();
- fail("TestTokenStream3 should fail assertion");
+ doFail = true;
} catch (AssertionError e) {
+ // expected
}
+ assertFalse("TestTokenStream3 should fail assertion", doFail);
}
-
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=1188777&r1=1188776&r2=1188777&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java Tue Oct 25 16:44:56 2011
@@ -146,12 +146,14 @@ public class TestSegmentMerger extends L
// Assert that SM fails if .del exists
SegmentMerger sm = new SegmentMerger(dir, 1, "a", null, null, null, newIOContext(random));
+ boolean doFail = false;
try {
sm.createCompoundFile("b1", w.segmentInfos.info(0), newIOContext(random));
- fail("should not have been able to create a .cfs with .del and .s* files");
+ doFail = true; // should never get here
} catch (AssertionError e) {
// expected
}
+ assertFalse("should not have been able to create a .cfs with .del and .s* files", doFail);
// Create an index w/ .s*
w = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)).setOpenMode(OpenMode.CREATE));
@@ -164,12 +166,15 @@ public class TestSegmentMerger extends L
r.close();
// Assert that SM fails if .s* exists
+ SegmentInfos sis = new SegmentInfos();
+ sis.read(dir);
try {
- sm.createCompoundFile("b2", w.segmentInfos.info(0), newIOContext(random));
- fail("should not have been able to create a .cfs with .del and .s* files");
+ sm.createCompoundFile("b2", sis.info(0), newIOContext(random));
+ doFail = true; // should never get here
} catch (AssertionError e) {
// expected
}
+ assertFalse("should not have been able to create a .cfs with .del and .s* files", doFail);
dir.close();
}