Return-Path: Delivered-To: apmail-lucene-java-commits-archive@www.apache.org Received: (qmail 9343 invoked from network); 10 Oct 2007 17:20:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 10 Oct 2007 17:20:49 -0000 Received: (qmail 50882 invoked by uid 500); 10 Oct 2007 16:47:49 -0000 Delivered-To: apmail-lucene-java-commits-archive@lucene.apache.org Received: (qmail 50862 invoked by uid 500); 10 Oct 2007 16:47:49 -0000 Mailing-List: contact java-commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-dev@lucene.apache.org Delivered-To: mailing list java-commits@lucene.apache.org Received: (qmail 50849 invoked by uid 99); 10 Oct 2007 16:47:49 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Oct 2007 09:47:49 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Oct 2007 16:47:59 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C8D961A9832; Wed, 10 Oct 2007 09:47:08 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r583534 [1/2] - in /lucene/java/trunk/src: java/org/apache/lucene/index/ test/org/apache/lucene/ test/org/apache/lucene/analysis/ test/org/apache/lucene/document/ test/org/apache/lucene/index/ test/org/apache/lucene/index/store/ test/org/ap... Date: Wed, 10 Oct 2007 16:46:45 -0000 To: java-commits@lucene.apache.org From: mikemccand@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071010164708.C8D961A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mikemccand Date: Wed Oct 10 09:46:35 2007 New Revision: 583534 URL: http://svn.apache.org/viewvc?rev=583534&view=rev Log: LUCENE-1021: make all unit tests subclass from a new LuceneTestCase, so that we can assert no unhandled exceptions occurred in ConcurrentMergeScheduler's threads Added: lucene/java/trunk/src/test/org/apache/lucene/util/LuceneTestCase.java (with props) Modified: lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java lucene/java/trunk/src/test/org/apache/lucene/TestDemo.java lucene/java/trunk/src/test/org/apache/lucene/TestHitIterator.java lucene/java/trunk/src/test/org/apache/lucene/TestSearch.java lucene/java/trunk/src/test/org/apache/lucene/TestSearchForDuplicates.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestAnalyzers.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestKeywordAnalyzer.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestLengthFilter.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestPerFieldAnalzyerWrapper.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestStandardAnalyzer.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestStopAnalyzer.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestStopFilter.java lucene/java/trunk/src/test/org/apache/lucene/analysis/TestToken.java lucene/java/trunk/src/test/org/apache/lucene/document/TestBinaryDocument.java lucene/java/trunk/src/test/org/apache/lucene/document/TestDateTools.java lucene/java/trunk/src/test/org/apache/lucene/document/TestDocument.java lucene/java/trunk/src/test/org/apache/lucene/document/TestNumberTools.java lucene/java/trunk/src/test/org/apache/lucene/index/TestAddIndexesNoOptimize.java lucene/java/trunk/src/test/org/apache/lucene/index/TestAtomicUpdate.java lucene/java/trunk/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java lucene/java/trunk/src/test/org/apache/lucene/index/TestCompoundFile.java lucene/java/trunk/src/test/org/apache/lucene/index/TestConcurrentMergeScheduler.java lucene/java/trunk/src/test/org/apache/lucene/index/TestDeletionPolicy.java lucene/java/trunk/src/test/org/apache/lucene/index/TestDoc.java lucene/java/trunk/src/test/org/apache/lucene/index/TestDocumentWriter.java lucene/java/trunk/src/test/org/apache/lucene/index/TestFieldInfos.java lucene/java/trunk/src/test/org/apache/lucene/index/TestFieldsReader.java lucene/java/trunk/src/test/org/apache/lucene/index/TestFilterIndexReader.java lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexFileDeleter.java lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexInput.java lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexModifier.java lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexReader.java lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriter.java lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriterDelete.java lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriterLockRelease.java lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriterMergePolicy.java lucene/java/trunk/src/test/org/apache/lucene/index/TestIndexWriterMerging.java lucene/java/trunk/src/test/org/apache/lucene/index/TestLazyBug.java lucene/java/trunk/src/test/org/apache/lucene/index/TestLazyProxSkipping.java lucene/java/trunk/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java lucene/java/trunk/src/test/org/apache/lucene/index/TestMultiSegmentReader.java lucene/java/trunk/src/test/org/apache/lucene/index/TestNorms.java lucene/java/trunk/src/test/org/apache/lucene/index/TestParallelReader.java lucene/java/trunk/src/test/org/apache/lucene/index/TestParallelTermEnum.java lucene/java/trunk/src/test/org/apache/lucene/index/TestPayloads.java lucene/java/trunk/src/test/org/apache/lucene/index/TestPositionBasedTermVectorMapper.java lucene/java/trunk/src/test/org/apache/lucene/index/TestSegmentMerger.java lucene/java/trunk/src/test/org/apache/lucene/index/TestSegmentReader.java lucene/java/trunk/src/test/org/apache/lucene/index/TestSegmentTermDocs.java lucene/java/trunk/src/test/org/apache/lucene/index/TestSegmentTermEnum.java lucene/java/trunk/src/test/org/apache/lucene/index/TestStressIndexing.java lucene/java/trunk/src/test/org/apache/lucene/index/TestTerm.java lucene/java/trunk/src/test/org/apache/lucene/index/TestTermVectorsReader.java lucene/java/trunk/src/test/org/apache/lucene/index/TestTermdocPerf.java lucene/java/trunk/src/test/org/apache/lucene/index/TestThreadedOptimize.java lucene/java/trunk/src/test/org/apache/lucene/index/TestWordlistLoader.java lucene/java/trunk/src/test/org/apache/lucene/index/store/TestRAMDirectory.java lucene/java/trunk/src/test/org/apache/lucene/queryParser/TestMultiAnalyzer.java lucene/java/trunk/src/test/org/apache/lucene/queryParser/TestMultiFieldQueryParser.java lucene/java/trunk/src/test/org/apache/lucene/queryParser/TestQueryParser.java lucene/java/trunk/src/test/org/apache/lucene/search/BaseTestRangeFilter.java lucene/java/trunk/src/test/org/apache/lucene/search/TestBoolean2.java lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanOr.java lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanPrefixQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestBooleanScorer.java lucene/java/trunk/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java lucene/java/trunk/src/test/org/apache/lucene/search/TestDateFilter.java lucene/java/trunk/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestDocBoost.java lucene/java/trunk/src/test/org/apache/lucene/search/TestExplanations.java lucene/java/trunk/src/test/org/apache/lucene/search/TestFuzzyQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestMultiSearcher.java lucene/java/trunk/src/test/org/apache/lucene/search/TestMultiSearcherRanking.java lucene/java/trunk/src/test/org/apache/lucene/search/TestMultiThreadTermVectors.java lucene/java/trunk/src/test/org/apache/lucene/search/TestNot.java lucene/java/trunk/src/test/org/apache/lucene/search/TestPhrasePrefixQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestPhraseQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestPositionIncrement.java lucene/java/trunk/src/test/org/apache/lucene/search/TestPrefixFilter.java lucene/java/trunk/src/test/org/apache/lucene/search/TestPrefixQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestQueryTermVector.java lucene/java/trunk/src/test/org/apache/lucene/search/TestRangeQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/TestRemoteCachingWrapperFilter.java lucene/java/trunk/src/test/org/apache/lucene/search/TestRemoteSearchable.java lucene/java/trunk/src/test/org/apache/lucene/search/TestScorerPerf.java lucene/java/trunk/src/test/org/apache/lucene/search/TestSetNorm.java lucene/java/trunk/src/test/org/apache/lucene/search/TestSimilarity.java lucene/java/trunk/src/test/org/apache/lucene/search/TestSpanQueryFilter.java lucene/java/trunk/src/test/org/apache/lucene/search/TestTermScorer.java lucene/java/trunk/src/test/org/apache/lucene/search/TestTermVectors.java lucene/java/trunk/src/test/org/apache/lucene/search/TestThreadSafe.java lucene/java/trunk/src/test/org/apache/lucene/search/TestWildcard.java lucene/java/trunk/src/test/org/apache/lucene/search/function/FunctionTestSetup.java lucene/java/trunk/src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java lucene/java/trunk/src/test/org/apache/lucene/search/spans/TestBasics.java lucene/java/trunk/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java lucene/java/trunk/src/test/org/apache/lucene/search/spans/TestSpans.java lucene/java/trunk/src/test/org/apache/lucene/search/spans/TestSpansAdvanced.java lucene/java/trunk/src/test/org/apache/lucene/store/TestBufferedIndexInput.java lucene/java/trunk/src/test/org/apache/lucene/store/TestHugeRamFile.java lucene/java/trunk/src/test/org/apache/lucene/store/TestLock.java lucene/java/trunk/src/test/org/apache/lucene/store/TestLockFactory.java lucene/java/trunk/src/test/org/apache/lucene/store/TestMMapDirectory.java lucene/java/trunk/src/test/org/apache/lucene/store/TestWindowsMMap.java lucene/java/trunk/src/test/org/apache/lucene/util/TestBitVector.java lucene/java/trunk/src/test/org/apache/lucene/util/TestPriorityQueue.java lucene/java/trunk/src/test/org/apache/lucene/util/TestSmallFloat.java lucene/java/trunk/src/test/org/apache/lucene/util/TestStringHelper.java Modified: lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java?rev=583534&r1=583533&r2=583534&view=diff ============================================================================== --- lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java (original) +++ lucene/java/trunk/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java Wed Oct 10 09:46:35 2007 @@ -43,6 +43,15 @@ private List exceptions = new ArrayList(); private Directory dir; + private boolean closed; + + public ConcurrentMergeScheduler() { + if (allInstances != null) { + // Only for testing + addMyself(); + } + } + /** Sets the max # simultaneous threads that may be * running. If a merge is necessary yet we already have * this many threads running, the merge is returned back @@ -72,7 +81,7 @@ public synchronized void setMergeThreadPriority(int pri) { mergeThreadPriority = pri; - final int numThreads = mergeThreads.size(); + final int numThreads = mergeThreadCount(); for(int i=0;i 0) { + public synchronized void sync() { + while(mergeThreadCount() > 0) { if (VERBOSE) { message("now wait for threads; currently " + mergeThreads.size() + " still running"); for(int i=0;i top1.totalHits) { TestCase.fail("Constrained results not a subset:\n" - + CheckHits.topdocsString(top1,0,0) - + CheckHits.topdocsString(top2,0,0) - + "for query:" + q2.toString()); + + CheckHits.topdocsString(top1,0,0) + + CheckHits.topdocsString(top2,0,0) + + "for query:" + q2.toString()); } for (int hit=0; hitAdapted to Lucene testcase by Paul Elschot. * @author appler@gmail.com */ -public class TestBooleanOr extends TestCase { +public class TestBooleanOr extends LuceneTestCase { private static String FIELD_T = "T"; private static String FIELD_C = "C"; @@ -133,6 +133,7 @@ } protected void setUp() throws Exception { + super.setUp(); super.setUp(); //