This is an automated email from the ASF dual-hosted git repository. nightowl888 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/lucenenet.git
commit 668069e039ed3e47d1fe691a4b7da842c50aac1b Author: Shad Storhaug <[email protected]> AuthorDate: Wed Feb 17 21:40:38 2021 +0700 BREAKING: Lucene.Net.TestFramework.Util.LuceneTestCase: Removed ConcurrentMergeSchedulerFactories class from the public API and its use from all tests (see #354) --- .../Util/LuceneTestCase.cs | 28 ------- .../Index/Test2BBinaryDocValues.cs | 10 +-- .../Index/Test2BNumericDocValues.cs | 13 ++- src/Lucene.Net.Tests/Index/Test2BPositions.cs | 13 ++- src/Lucene.Net.Tests/Index/Test2BPostings.cs | 6 +- src/Lucene.Net.Tests/Index/Test2BPostingsBytes.cs | 6 +- .../Index/Test2BSortedDocValues.cs | 10 +-- src/Lucene.Net.Tests/Index/Test2BTerms.cs | 6 +- src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs | 6 +- src/Lucene.Net.Tests/Index/TestCrash.cs | 41 ++++----- src/Lucene.Net.Tests/Index/TestIndexWriter.cs | 5 +- .../Index/TestIndexWriterDelete.cs | 16 ++-- .../Index/TestIndexWriterExceptions.cs | 51 ++++-------- .../Index/TestIndexWriterForceMerge.cs | 6 +- .../Index/TestIndexWriterMergePolicy.cs | 6 +- .../Index/TestIndexWriterOnDiskFull.cs | 6 +- .../Index/TestIndexWriterReader.cs | 10 +-- .../Index/TestIndexWriterWithThreads.cs | 96 ++++++++++------------ src/Lucene.Net.Tests/Index/TestStressIndexing.cs | 6 +- src/Lucene.Net.Tests/Index/TestTransactions.cs | 25 ++---- src/Lucene.Net.Tests/Search/TestSearcherManager.cs | 8 +- 21 files changed, 156 insertions(+), 218 deletions(-) diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs index 6a458a4..85679d3 100644 --- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs +++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs @@ -3549,34 +3549,6 @@ namespace Lucene.Net.Util } } - /// <summary> - /// Contains a list of the Func<IConcurrentMergeSchedulers> to be tested. - /// Delegate method allows them to be created on their target thread instead of the test thread - /// and also ensures a separate instance is created in each case (which can affect the result of the test). - /// <para/> - /// The <see cref="TaskMergeScheduler"/> is only rarely included. - /// <para/> - /// LUCENENET specific for injection into tests (i.e. using NUnit.Framework.ValueSourceAttribute) - /// </summary> - public static class ConcurrentMergeSchedulerFactories - { - public static IList<Func<IConcurrentMergeScheduler>> Values - { - get - { - var schedulerFactories = new List<Func<IConcurrentMergeScheduler>>(); -#if FEATURE_CONCURRENTMERGESCHEDULER - schedulerFactories.Add(() => new ConcurrentMergeScheduler()); - //if (Rarely()) - // schedulerFactories.Add(() => new TaskMergeScheduler()); -#else - schedulerFactories.Add(() => new TaskMergeScheduler()); -#endif - return schedulerFactories; - } - } - } - internal static void LogNativeFSFactoryDebugInfo() { // LUCENENET specific - log the current locking strategy used and HResult values diff --git a/src/Lucene.Net.Tests/Index/Test2BBinaryDocValues.cs b/src/Lucene.Net.Tests/Index/Test2BBinaryDocValues.cs index 9d2ef61..f400c47 100644 --- a/src/Lucene.Net.Tests/Index/Test2BBinaryDocValues.cs +++ b/src/Lucene.Net.Tests/Index/Test2BBinaryDocValues.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Documents; +using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Store; using NUnit.Framework; @@ -42,7 +42,7 @@ namespace Lucene.Net.Index { // indexes Integer.MAX_VALUE docs with a fixed binary field [Test] - public virtual void TestFixedBinary([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestFixedBinary() { BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("2BFixedBinary")); if (dir is MockDirectoryWrapper) @@ -52,7 +52,7 @@ namespace Lucene.Net.Index var config = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) .SetRAMBufferSizeMB(256.0) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy(false, 10)) .SetOpenMode(OpenMode.CREATE); IndexWriter w = new IndexWriter(dir, config); @@ -108,7 +108,7 @@ namespace Lucene.Net.Index // indexes Integer.MAX_VALUE docs with a variable binary field [Test] - public virtual void TestVariableBinary([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestVariableBinary() { BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("2BVariableBinary")); if (dir is MockDirectoryWrapper) @@ -119,7 +119,7 @@ namespace Lucene.Net.Index var config = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) .SetRAMBufferSizeMB(256.0) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy(false, 10)) .SetOpenMode(OpenMode.CREATE); IndexWriter w = new IndexWriter(dir, config); diff --git a/src/Lucene.Net.Tests/Index/Test2BNumericDocValues.cs b/src/Lucene.Net.Tests/Index/Test2BNumericDocValues.cs index 252b31f..6458705 100644 --- a/src/Lucene.Net.Tests/Index/Test2BNumericDocValues.cs +++ b/src/Lucene.Net.Tests/Index/Test2BNumericDocValues.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Documents; +using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Store; using NUnit.Framework; @@ -40,7 +40,7 @@ namespace Lucene.Net.Index { // indexes Integer.MAX_VALUE docs with an increasing dv field [Test] - public virtual void TestNumerics([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestNumerics() { BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("2BNumerics")); if (dir is MockDirectoryWrapper) @@ -48,8 +48,13 @@ namespace Lucene.Net.Index ((MockDirectoryWrapper)dir).Throttling = Throttling.NEVER; } - IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) - .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH).SetRAMBufferSizeMB(256.0).SetMergeScheduler(newScheduler()).SetMergePolicy(NewLogMergePolicy(false, 10)).SetOpenMode(OpenMode.CREATE)); + IndexWriter w = new IndexWriter(dir, + new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) + .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) + .SetRAMBufferSizeMB(256.0) + .SetMergeScheduler(new ConcurrentMergeScheduler()) + .SetMergePolicy(NewLogMergePolicy(false, 10)) + .SetOpenMode(OpenMode.CREATE)); Document doc = new Document(); NumericDocValuesField dvField = new NumericDocValuesField("dv", 0); diff --git a/src/Lucene.Net.Tests/Index/Test2BPositions.cs b/src/Lucene.Net.Tests/Index/Test2BPositions.cs index f56a056..aeed283 100644 --- a/src/Lucene.Net.Tests/Index/Test2BPositions.cs +++ b/src/Lucene.Net.Tests/Index/Test2BPositions.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Analysis.TokenAttributes; +using Lucene.Net.Analysis.TokenAttributes; using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Store; @@ -46,7 +46,7 @@ namespace Lucene.Net.Index { [Ignore("Very slow. Enable manually by removing Ignore.")] [Test] - public virtual void Test([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void Test() { BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("2BPositions")); if (dir is MockDirectoryWrapper) @@ -54,8 +54,13 @@ namespace Lucene.Net.Index ((MockDirectoryWrapper)dir).Throttling = Throttling.NEVER; } - IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) - .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH).SetRAMBufferSizeMB(256.0).SetMergeScheduler(newScheduler()).SetMergePolicy(NewLogMergePolicy(false, 10)).SetOpenMode(OpenMode.CREATE)); + IndexWriter w = new IndexWriter(dir, + new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) + .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) + .SetRAMBufferSizeMB(256.0) + .SetMergeScheduler(new ConcurrentMergeScheduler()) + .SetMergePolicy(NewLogMergePolicy(false, 10)) + .SetOpenMode(OpenMode.CREATE)); MergePolicy mp = w.Config.MergePolicy; if (mp is LogByteSizeMergePolicy) diff --git a/src/Lucene.Net.Tests/Index/Test2BPostings.cs b/src/Lucene.Net.Tests/Index/Test2BPostings.cs index 09a6fe5..19640a9 100644 --- a/src/Lucene.Net.Tests/Index/Test2BPostings.cs +++ b/src/Lucene.Net.Tests/Index/Test2BPostings.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Analysis.TokenAttributes; +using Lucene.Net.Analysis.TokenAttributes; using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Store; @@ -46,7 +46,7 @@ namespace Lucene.Net.Index [Test] [Nightly] [Ignore("LUCENENET specific - takes too long to run on Azure DevOps")] - public virtual void Test([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void Test() { BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("2BPostings")); if (dir is MockDirectoryWrapper) @@ -57,7 +57,7 @@ namespace Lucene.Net.Index var config = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) .SetRAMBufferSizeMB(256.0) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy(false, 10)) .SetOpenMode(OpenMode.CREATE); diff --git a/src/Lucene.Net.Tests/Index/Test2BPostingsBytes.cs b/src/Lucene.Net.Tests/Index/Test2BPostingsBytes.cs index cdad4d6..ee3cd39 100644 --- a/src/Lucene.Net.Tests/Index/Test2BPostingsBytes.cs +++ b/src/Lucene.Net.Tests/Index/Test2BPostingsBytes.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Analysis.TokenAttributes; +using Lucene.Net.Analysis.TokenAttributes; using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Store; @@ -50,7 +50,7 @@ namespace Lucene.Net.Index { [Ignore("Very slow. Enable manually by removing Ignore.")] [Test] - public virtual void Test([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void Test() { BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("2BPostingsBytes1")); if (dir is MockDirectoryWrapper) @@ -61,7 +61,7 @@ namespace Lucene.Net.Index var config = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) .SetRAMBufferSizeMB(256.0) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy(false, 10)) .SetOpenMode(OpenMode.CREATE); IndexWriter w = new IndexWriter(dir, config); diff --git a/src/Lucene.Net.Tests/Index/Test2BSortedDocValues.cs b/src/Lucene.Net.Tests/Index/Test2BSortedDocValues.cs index 881a4f8..5af76e5 100644 --- a/src/Lucene.Net.Tests/Index/Test2BSortedDocValues.cs +++ b/src/Lucene.Net.Tests/Index/Test2BSortedDocValues.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Documents; +using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Store; using NUnit.Framework; @@ -40,7 +40,7 @@ namespace Lucene.Net.Index { // indexes Integer.MAX_VALUE docs with a fixed binary field [Test] - public virtual void TestFixedSorted([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestFixedSorted() { BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("2BFixedSorted")); if (dir is MockDirectoryWrapper) @@ -51,7 +51,7 @@ namespace Lucene.Net.Index IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) .SetRAMBufferSizeMB(256.0) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy(false, 10)) .SetOpenMode(OpenMode.CREATE)); @@ -102,7 +102,7 @@ namespace Lucene.Net.Index // indexes Integer.MAX_VALUE docs with a fixed binary field [Test] - public virtual void Test2BOrds([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void Test2BOrds() { BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("2BOrds")); if (dir is MockDirectoryWrapper) @@ -113,7 +113,7 @@ namespace Lucene.Net.Index var config = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) .SetRAMBufferSizeMB(256.0) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy(false, 10)) .SetOpenMode(OpenMode.CREATE); IndexWriter w = new IndexWriter(dir, config); diff --git a/src/Lucene.Net.Tests/Index/Test2BTerms.cs b/src/Lucene.Net.Tests/Index/Test2BTerms.cs index a60a541..3398ad2 100644 --- a/src/Lucene.Net.Tests/Index/Test2BTerms.cs +++ b/src/Lucene.Net.Tests/Index/Test2BTerms.cs @@ -1,4 +1,4 @@ -using J2N.Collections.Generic.Extensions; +using J2N.Collections.Generic.Extensions; using Lucene.Net.Analysis; using Lucene.Net.Analysis.TokenAttributes; using Lucene.Net.Documents; @@ -164,7 +164,7 @@ namespace Lucene.Net.Index [Ignore("Very slow. Enable manually by removing Ignore.")] [Test] - public virtual void Test2BTerms_Mem([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void Test2BTerms_Mem() { if ("Lucene3x".Equals(Codec.Default.Name, StringComparison.Ordinal)) { @@ -190,7 +190,7 @@ namespace Lucene.Net.Index IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) .SetRAMBufferSizeMB(256.0) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy(false, 10)) .SetOpenMode(OpenMode.CREATE)); diff --git a/src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs b/src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs index 1a89d4c..731fcd4 100644 --- a/src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs +++ b/src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Documents; +using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Randomized.Generators; using Lucene.Net.Store; @@ -47,7 +47,7 @@ namespace Lucene.Net.Index [Test] [Nightly] [Timeout(1200000)] - public virtual void Test([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void Test() { // LUCENENET specific - disable the test if not 64 bit AssumeTrue("This test consumes too much RAM be run on x86.", Constants.RUNTIME_IS_64BIT); @@ -58,7 +58,7 @@ namespace Lucene.Net.Index var config = new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH) .SetRAMBufferSizeMB(256.0) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy(false, 10)) .SetOpenMode(OpenMode.CREATE); IndexWriter w = new IndexWriter(dir, config); diff --git a/src/Lucene.Net.Tests/Index/TestCrash.cs b/src/Lucene.Net.Tests/Index/TestCrash.cs index 37cd69e..e079493 100644 --- a/src/Lucene.Net.Tests/Index/TestCrash.cs +++ b/src/Lucene.Net.Tests/Index/TestCrash.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Documents; +using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using NUnit.Framework; using System; @@ -35,19 +35,19 @@ namespace Lucene.Net.Index [TestFixture] public class TestCrash : LuceneTestCase { - private IndexWriter InitIndex(Func<IConcurrentMergeScheduler> newScheduler, Random random, bool initialCommit) + private IndexWriter InitIndex(Random random, bool initialCommit) { - return InitIndex(newScheduler, random, NewMockDirectory(random), initialCommit); + return InitIndex(random, NewMockDirectory(random), initialCommit); } - private IndexWriter InitIndex(Func<IConcurrentMergeScheduler> newScheduler, Random random, MockDirectoryWrapper dir, bool initialCommit) + private IndexWriter InitIndex(Random random, MockDirectoryWrapper dir, bool initialCommit) { dir.SetLockFactory(NoLockFactory.GetNoLockFactory()); IndexWriter writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)) .SetMaxBufferedDocs(10) - .SetMergeScheduler(newScheduler())); + .SetMergeScheduler(new ConcurrentMergeScheduler())); IConcurrentMergeScheduler scheduler = writer.Config.MergeScheduler as IConcurrentMergeScheduler; if (scheduler != null) @@ -82,13 +82,12 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestCrashWhileIndexing( - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestCrashWhileIndexing() { // this test relies on being able to open a reader before any commit // happened, so we must create an initial commit just to allow that, but // before any documents were added. - IndexWriter writer = InitIndex(newScheduler, Random, true); + IndexWriter writer = InitIndex(Random, true); MockDirectoryWrapper dir = (MockDirectoryWrapper)writer.Directory; // We create leftover files because merging could be @@ -116,15 +115,13 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestWriterAfterCrash( - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler1, - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler2) + public virtual void TestWriterAfterCrash() { // this test relies on being able to open a reader before any commit // happened, so we must create an initial commit just to allow that, but // before any documents were added. Console.WriteLine("TEST: initIndex"); - IndexWriter writer = InitIndex(newScheduler1, Random, true); + IndexWriter writer = InitIndex(Random, true); Console.WriteLine("TEST: done initIndex"); MockDirectoryWrapper dir = (MockDirectoryWrapper)writer.Directory; @@ -135,7 +132,7 @@ namespace Lucene.Net.Index dir.PreventDoubleWrite = false; Console.WriteLine("TEST: now crash"); Crash(writer); - writer = InitIndex(newScheduler2, Random, dir, false); + writer = InitIndex(Random, dir, false); writer.Dispose(); IndexReader reader = DirectoryReader.Open(dir); @@ -157,11 +154,9 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestCrashAfterReopen( - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler1, - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler2) + public virtual void TestCrashAfterReopen() { - IndexWriter writer = InitIndex(newScheduler1, Random, false); + IndexWriter writer = InitIndex(Random, false); MockDirectoryWrapper dir = (MockDirectoryWrapper)writer.Directory; // We create leftover files because merging could be @@ -169,7 +164,7 @@ namespace Lucene.Net.Index dir.AssertNoUnreferencedFilesOnClose = false; writer.Dispose(); - writer = InitIndex(newScheduler2, Random, dir, false); + writer = InitIndex(Random, dir, false); Assert.AreEqual(314, writer.MaxDoc); Crash(writer); @@ -201,10 +196,9 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestCrashAfterClose( - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestCrashAfterClose() { - IndexWriter writer = InitIndex(newScheduler, Random, false); + IndexWriter writer = InitIndex(Random, false); MockDirectoryWrapper dir = (MockDirectoryWrapper)writer.Directory; writer.Dispose(); @@ -224,10 +218,9 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestCrashAfterCloseNoWait( - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestCrashAfterCloseNoWait() { - IndexWriter writer = InitIndex(newScheduler, Random, false); + IndexWriter writer = InitIndex(Random, false); MockDirectoryWrapper dir = (MockDirectoryWrapper)writer.Directory; writer.Dispose(false); diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriter.cs b/src/Lucene.Net.Tests/Index/TestIndexWriter.cs index dc706d8..cd80f74 100644 --- a/src/Lucene.Net.Tests/Index/TestIndexWriter.cs +++ b/src/Lucene.Net.Tests/Index/TestIndexWriter.cs @@ -242,14 +242,13 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestChangesAfterClose([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestChangesAfterClose() { Directory dir = NewDirectory(); IndexWriter writer = null; - var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMergeScheduler(newScheduler()); - writer = new IndexWriter(dir, config); + writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random))); AddDoc(writer); // close diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs index a17cd1f..8ab55c3 100644 --- a/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs +++ b/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs @@ -1,4 +1,4 @@ -using J2N.Collections.Generic.Extensions; +using J2N.Collections.Generic.Extensions; using J2N.Threading; using J2N.Threading.Atomic; using Lucene.Net.Analysis; @@ -551,24 +551,22 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestDeletesOnDiskFull( - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestDeletesOnDiskFull() { - DoTestOperationsOnDiskFull(newScheduler, false); + DoTestOperationsOnDiskFull(false); } [Test] - public virtual void TestUpdatesOnDiskFull( - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestUpdatesOnDiskFull() { - DoTestOperationsOnDiskFull(newScheduler, true); + DoTestOperationsOnDiskFull(true); } /// <summary> /// Make sure if modifier tries to commit but hits disk full that modifier /// remains consistent and usable. Similar to TestIndexReader.testDiskFull(). /// </summary> - private void DoTestOperationsOnDiskFull(Func<IConcurrentMergeScheduler> newScheduler, bool updates) + private void DoTestOperationsOnDiskFull(bool updates) { Term searchTerm = new Term("content", "aaa"); int START_COUNT = 157; @@ -613,7 +611,7 @@ namespace Lucene.Net.Index var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random, MockTokenizer.WHITESPACE, false)) .SetMaxBufferedDocs(1000) .SetMaxBufferedDeleteTerms(1000) - .SetMergeScheduler(newScheduler()); + .SetMergeScheduler(new ConcurrentMergeScheduler()); IConcurrentMergeScheduler scheduler = config.MergeScheduler as IConcurrentMergeScheduler; if (scheduler != null) diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterExceptions.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterExceptions.cs index 35b944d..a597b86 100644 --- a/src/Lucene.Net.Tests/Index/TestIndexWriterExceptions.cs +++ b/src/Lucene.Net.Tests/Index/TestIndexWriterExceptions.cs @@ -318,7 +318,7 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestRandomExceptions([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestRandomExceptions() { if (Verbose) { @@ -329,19 +329,9 @@ namespace Lucene.Net.Index MockAnalyzer analyzer = new MockAnalyzer(Random); analyzer.EnableChecks = false; // disable workflow checking as we forcefully close() in exceptional cases. - - var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, analyzer) - .SetRAMBufferSizeMB(0.1) - .SetMergeScheduler(newScheduler()); - - var scheduler = config.MergeScheduler as IConcurrentMergeScheduler; - if (scheduler != null) - { - scheduler.SetSuppressExceptions(); - } - - - IndexWriter writer = RandomIndexWriter.MockIndexWriter(dir, config , new TestPoint1(this)); + IndexWriter writer = RandomIndexWriter.MockIndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, analyzer) + .SetRAMBufferSizeMB(0.1).SetMergeScheduler(new ConcurrentMergeScheduler()) , new TestPoint1(this)); + ((IConcurrentMergeScheduler)writer.Config.MergeScheduler).SetSuppressExceptions(); //writer.SetMaxBufferedDocs(10); if (Verbose) { @@ -386,24 +376,15 @@ namespace Lucene.Net.Index [Test] [Slow] - public virtual void TestRandomExceptionsThreads([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestRandomExceptionsThreads() { Directory dir = NewDirectory(); MockAnalyzer analyzer = new MockAnalyzer(Random); analyzer.EnableChecks = false; // disable workflow checking as we forcefully close() in exceptional cases. - var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, analyzer) - .SetRAMBufferSizeMB(0.2) - .SetMergeScheduler(newScheduler()); - - IndexWriter writer = RandomIndexWriter.MockIndexWriter(dir, config, new TestPoint1(this)); - - var scheduler = config.MergeScheduler as IConcurrentMergeScheduler; - if (scheduler != null) - { - scheduler.SetSuppressExceptions(); - } - + IndexWriter writer = RandomIndexWriter.MockIndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, analyzer) + .SetRAMBufferSizeMB(0.2).SetMergeScheduler(new ConcurrentMergeScheduler()), new TestPoint1(this)); + ((IConcurrentMergeScheduler)writer.Config.MergeScheduler).SetSuppressExceptions(); //writer.SetMaxBufferedDocs(10); writer.Commit(); @@ -578,15 +559,15 @@ namespace Lucene.Net.Index // LUCENE-1210 [Test] - public virtual void TestExceptionOnMergeInit([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestExceptionOnMergeInit() { // LUCENENET specific - disable the test if asserts are not enabled AssumeTrue("This test requires asserts to be enabled.", Debugging.AssertsEnabled); Directory dir = NewDirectory(); - IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMaxBufferedDocs(2).SetMergePolicy(NewLogMergePolicy()); - - var cms = newScheduler(); + IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) + .SetMaxBufferedDocs(2).SetMergePolicy(NewLogMergePolicy()); + var cms = new ConcurrentMergeScheduler(); cms.SetSuppressExceptions(); conf.SetMergeScheduler(cms); ((LogMergePolicy)conf.MergePolicy).MergeFactor = 2; @@ -1064,7 +1045,7 @@ namespace Lucene.Net.Index // LUCENE-1044: test exception during sync [Test] - public virtual void TestExceptionDuringSync([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestExceptionDuringSync() { MockDirectoryWrapper dir = NewMockDirectory(); FailOnlyInSync failure = new FailOnlyInSync(); @@ -1072,7 +1053,7 @@ namespace Lucene.Net.Index var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(2) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy(5)); IndexWriter writer = new IndexWriter(dir, config); @@ -1188,7 +1169,7 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestForceMergeExceptions([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestForceMergeExceptions() { Directory startDir = NewDirectory(); IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMaxBufferedDocs(2).SetMergePolicy(NewLogMergePolicy()); @@ -1208,7 +1189,7 @@ namespace Lucene.Net.Index Console.WriteLine("TEST: iter " + i); } MockDirectoryWrapper dir = new MockDirectoryWrapper(Random, new RAMDirectory(startDir, NewIOContext(Random))); - conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMergeScheduler(newScheduler()); + conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMergeScheduler(new ConcurrentMergeScheduler()); var scheduler = conf.MergeScheduler as IConcurrentMergeScheduler; if (scheduler != null) { diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterForceMerge.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterForceMerge.cs index f1640f6..d0c9c07 100644 --- a/src/Lucene.Net.Tests/Index/TestIndexWriterForceMerge.cs +++ b/src/Lucene.Net.Tests/Index/TestIndexWriterForceMerge.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Documents; +using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using NUnit.Framework; using System; @@ -86,7 +86,7 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestMaxNumSegments2([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestMaxNumSegments2() { Directory dir = NewDirectory(); @@ -99,7 +99,7 @@ namespace Lucene.Net.Index var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(2) .SetMergePolicy(ldmp) - .SetMergeScheduler(newScheduler()); + .SetMergeScheduler(new ConcurrentMergeScheduler()); IndexWriter writer = new IndexWriter(dir, config); for (int iter = 0; iter < 10; iter++) diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterMergePolicy.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterMergePolicy.cs index b25f422..c04b652 100644 --- a/src/Lucene.Net.Tests/Index/TestIndexWriterMergePolicy.cs +++ b/src/Lucene.Net.Tests/Index/TestIndexWriterMergePolicy.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Documents; +using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using NUnit.Framework; using System; @@ -179,7 +179,7 @@ namespace Lucene.Net.Index // Test the case where a merge results in no doc at all [Test] - public virtual void TestMergeDocCount0([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestMergeDocCount0() { Directory dir = NewDirectory(); @@ -205,7 +205,7 @@ namespace Lucene.Net.Index .SetOpenMode(OpenMode.APPEND) .SetMaxBufferedDocs(10) .SetMergePolicy(ldmp) - .SetMergeScheduler(newScheduler()); + .SetMergeScheduler(new ConcurrentMergeScheduler()); writer = new IndexWriter(dir, config); // merge factor is changed, so check invariants after all adds diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterOnDiskFull.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterOnDiskFull.cs index 5e89cff..cbe0089 100644 --- a/src/Lucene.Net.Tests/Index/TestIndexWriterOnDiskFull.cs +++ b/src/Lucene.Net.Tests/Index/TestIndexWriterOnDiskFull.cs @@ -1,4 +1,4 @@ -using Lucene.Net.Codecs; +using Lucene.Net.Codecs; using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Store; @@ -637,12 +637,12 @@ namespace Lucene.Net.Index // an IndexWriter (hit during DW.ThreadState.Init()) is // OK: [Test] - public virtual void TestImmediateDiskFull([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestImmediateDiskFull() { MockDirectoryWrapper dir = NewMockDirectory(); var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(2) - .SetMergeScheduler(newScheduler()); + .SetMergeScheduler(new ConcurrentMergeScheduler()); IndexWriter writer = new IndexWriter(dir, config); dir.MaxSizeInBytes = Math.Max(1, dir.GetRecomputedActualSizeInBytes()); Document doc = new Document(); diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs index 34faea0..cc4a9eb 100644 --- a/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs +++ b/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs @@ -1,4 +1,4 @@ -using J2N.Threading; +using J2N.Threading; using J2N.Threading.Atomic; using Lucene.Net.Attributes; using Lucene.Net.Documents; @@ -749,7 +749,7 @@ namespace Lucene.Net.Index [Test] [Slow] - public virtual void TestMergeWarmer([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestMergeWarmer() { Directory dir1 = GetAssertNoDeletesDirectory(NewDirectory()); // Enroll warmer @@ -757,7 +757,7 @@ namespace Lucene.Net.Index var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) .SetMaxBufferedDocs(2) .SetMergedSegmentWarmer(warmer) - .SetMergeScheduler(newScheduler()) + .SetMergeScheduler(new ConcurrentMergeScheduler()) .SetMergePolicy(NewLogMergePolicy()); IndexWriter writer = new IndexWriter(dir1, config); @@ -792,10 +792,10 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestAfterCommit([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestAfterCommit() { Directory dir1 = GetAssertNoDeletesDirectory(NewDirectory()); - var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMergeScheduler(newScheduler()); + var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMergeScheduler(new ConcurrentMergeScheduler()); IndexWriter writer = new IndexWriter(dir1, config); writer.Commit(); diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterWithThreads.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterWithThreads.cs index 36c2d7f..342f2d9 100644 --- a/src/Lucene.Net.Tests/Index/TestIndexWriterWithThreads.cs +++ b/src/Lucene.Net.Tests/Index/TestIndexWriterWithThreads.cs @@ -1,4 +1,4 @@ -using J2N.Threading; +using J2N.Threading; using J2N.Threading.Atomic; using Lucene.Net.Attributes; using Lucene.Net.Documents; @@ -164,7 +164,7 @@ namespace Lucene.Net.Index // an IndexWriter (hit during DW.ThreadState.Init()), with // multiple threads, is OK: [Test] - public virtual void TestImmediateDiskFullWithThreads([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestImmediateDiskFullWithThreads() { int NUM_THREADS = 3; int numIterations = TestNightly ? 10 : 3; @@ -175,16 +175,14 @@ namespace Lucene.Net.Index Console.WriteLine("\nTEST: iter=" + iter); } MockDirectoryWrapper dir = NewMockDirectory(); - var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) - .SetMaxBufferedDocs(2) - .SetMergeScheduler(newScheduler()) - .SetMergePolicy(NewLogMergePolicy(4)); - IndexWriter writer = new IndexWriter(dir, config); - var scheduler = config.mergeScheduler as IConcurrentMergeScheduler; - if (scheduler != null) - { - scheduler.SetSuppressExceptions(); - } + IndexWriter writer = new IndexWriter( + dir, + NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) + .SetMaxBufferedDocs(2) + .SetMergeScheduler(new ConcurrentMergeScheduler()) + .SetMergePolicy(NewLogMergePolicy(4))); + ((IConcurrentMergeScheduler)writer.Config.MergeScheduler).SetSuppressExceptions(); + dir.MaxSizeInBytes = 4 * 1024 + 20 * iter; IndexerThread[] threads = new IndexerThread[NUM_THREADS]; @@ -220,7 +218,7 @@ namespace Lucene.Net.Index // speaking, this isn't valid us of Lucene's APIs, but we // still want to be robust to this case: [Test] - public virtual void TestCloseWithThreads([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestCloseWithThreads() { int NUM_THREADS = 3; int numIterations = TestNightly ? 7 : 3; @@ -231,16 +229,13 @@ namespace Lucene.Net.Index Console.WriteLine("\nTEST: iter=" + iter); } Directory dir = NewDirectory(); - var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) - .SetMaxBufferedDocs(10) - .SetMergeScheduler(newScheduler()) - .SetMergePolicy(NewLogMergePolicy(4)); - IndexWriter writer = new IndexWriter(dir, config); - var scheduler = config.mergeScheduler as IConcurrentMergeScheduler; - if (scheduler != null) - { - scheduler.SetSuppressExceptions(); - } + IndexWriter writer = new IndexWriter( + dir, + NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) + .SetMaxBufferedDocs(10) + .SetMergeScheduler(new ConcurrentMergeScheduler()) + .SetMergePolicy(NewLogMergePolicy(4))); + ((IConcurrentMergeScheduler)writer.Config.MergeScheduler).SetSuppressExceptions(); IndexerThread[] threads = new IndexerThread[NUM_THREADS]; @@ -314,7 +309,7 @@ namespace Lucene.Net.Index // Runs test, with multiple threads, using the specific // failure to trigger an IOException - public virtual void TestMultipleThreadsFailure(Func<IConcurrentMergeScheduler> newScheduler, Failure failure) + public virtual void TestMultipleThreadsFailure(Failure failure) { int NUM_THREADS = 3; @@ -325,16 +320,13 @@ namespace Lucene.Net.Index Console.WriteLine("TEST: iter=" + iter); } MockDirectoryWrapper dir = NewMockDirectory(); - var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) - .SetMaxBufferedDocs(2) - .SetMergeScheduler(newScheduler()) - .SetMergePolicy(NewLogMergePolicy(4)); - IndexWriter writer = new IndexWriter(dir, config); - var scheduler = config.mergeScheduler as IConcurrentMergeScheduler; - if (scheduler != null) - { - scheduler.SetSuppressExceptions(); - } + IndexWriter writer = new IndexWriter( + dir, + NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) + .SetMaxBufferedDocs(2) + .SetMergeScheduler(new ConcurrentMergeScheduler()) + .SetMergePolicy(NewLogMergePolicy(4))); + ((IConcurrentMergeScheduler)writer.Config.MergeScheduler).SetSuppressExceptions(); IndexerThread[] threads = new IndexerThread[NUM_THREADS]; @@ -396,11 +388,11 @@ namespace Lucene.Net.Index // Runs test, with one thread, using the specific failure // to trigger an IOException - public virtual void TestSingleThreadFailure(Func<IConcurrentMergeScheduler> newScheduler, Failure failure) + public virtual void TestSingleThreadFailure(Failure failure) { MockDirectoryWrapper dir = NewMockDirectory(); - IndexWriter writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMaxBufferedDocs(2).SetMergeScheduler(newScheduler())); + IndexWriter writer = new IndexWriter(dir, NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMaxBufferedDocs(2).SetMergeScheduler(new ConcurrentMergeScheduler())); Document doc = new Document(); FieldType customType = new FieldType(TextField.TYPE_STORED); customType.StoreTermVectors = true; @@ -475,33 +467,33 @@ namespace Lucene.Net.Index // LUCENE-1130: make sure initial IOException, and then 2nd // IOException during rollback(), is OK: [Test] - public virtual void TestIOExceptionDuringAbort([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestIOExceptionDuringAbort() { - TestSingleThreadFailure(newScheduler, new FailOnlyOnAbortOrFlush(false)); + TestSingleThreadFailure(new FailOnlyOnAbortOrFlush(false)); } // LUCENE-1130: make sure initial IOException, and then 2nd // IOException during rollback(), is OK: [Test] - public virtual void TestIOExceptionDuringAbortOnlyOnce([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestIOExceptionDuringAbortOnlyOnce() { - TestSingleThreadFailure(newScheduler, new FailOnlyOnAbortOrFlush(true)); + TestSingleThreadFailure(new FailOnlyOnAbortOrFlush(true)); } // LUCENE-1130: make sure initial IOException, and then 2nd // IOException during rollback(), with multiple threads, is OK: [Test] - public virtual void TestIOExceptionDuringAbortWithThreads([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestIOExceptionDuringAbortWithThreads() { - TestMultipleThreadsFailure(newScheduler, new FailOnlyOnAbortOrFlush(false)); + TestMultipleThreadsFailure(new FailOnlyOnAbortOrFlush(false)); } // LUCENE-1130: make sure initial IOException, and then 2nd // IOException during rollback(), with multiple threads, is OK: [Test] - public virtual void TestIOExceptionDuringAbortWithThreadsOnlyOnce([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestIOExceptionDuringAbortWithThreadsOnlyOnce() { - TestMultipleThreadsFailure(newScheduler, new FailOnlyOnAbortOrFlush(true)); + TestMultipleThreadsFailure( new FailOnlyOnAbortOrFlush(true)); } // Throws IOException during DocumentsWriter.writeSegment @@ -536,30 +528,30 @@ namespace Lucene.Net.Index // LUCENE-1130: test IOException in writeSegment [Test] - public virtual void TestIOExceptionDuringWriteSegment([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestIOExceptionDuringWriteSegment() { - TestSingleThreadFailure(newScheduler, new FailOnlyInWriteSegment(false)); + TestSingleThreadFailure(new FailOnlyInWriteSegment(false)); } // LUCENE-1130: test IOException in writeSegment [Test] - public virtual void TestIOExceptionDuringWriteSegmentOnlyOnce([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestIOExceptionDuringWriteSegmentOnlyOnce() { - TestSingleThreadFailure(newScheduler, new FailOnlyInWriteSegment(true)); + TestSingleThreadFailure(new FailOnlyInWriteSegment(true)); } // LUCENE-1130: test IOException in writeSegment, with threads [Test] - public virtual void TestIOExceptionDuringWriteSegmentWithThreads([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestIOExceptionDuringWriteSegmentWithThreads() { - TestMultipleThreadsFailure(newScheduler, new FailOnlyInWriteSegment(false)); + TestMultipleThreadsFailure(new FailOnlyInWriteSegment(false)); } // LUCENE-1130: test IOException in writeSegment, with threads [Test] - public virtual void TestIOExceptionDuringWriteSegmentWithThreadsOnlyOnce([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestIOExceptionDuringWriteSegmentWithThreadsOnlyOnce() { - TestMultipleThreadsFailure(newScheduler, new FailOnlyInWriteSegment(true)); + TestMultipleThreadsFailure(new FailOnlyInWriteSegment(true)); } // LUCENE-3365: Test adding two documents with the same field from two different IndexWriters diff --git a/src/Lucene.Net.Tests/Index/TestStressIndexing.cs b/src/Lucene.Net.Tests/Index/TestStressIndexing.cs index fb35c63..fb31695 100644 --- a/src/Lucene.Net.Tests/Index/TestStressIndexing.cs +++ b/src/Lucene.Net.Tests/Index/TestStressIndexing.cs @@ -1,4 +1,4 @@ -using J2N.Threading; +using J2N.Threading; using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Search; @@ -227,7 +227,7 @@ namespace Lucene.Net.Index [Test] [Slow] - public virtual void TestStressIndexAndSearching([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestStressIndexAndSearching() { Directory directory = NewDirectory(); MockDirectoryWrapper wrapper = directory as MockDirectoryWrapper; @@ -236,7 +236,7 @@ namespace Lucene.Net.Index wrapper.AssertNoUnreferencedFilesOnClose = true; } - RunStressTest(directory, newScheduler()); + RunStressTest(directory, new ConcurrentMergeScheduler()); directory.Dispose(); } } diff --git a/src/Lucene.Net.Tests/Index/TestTransactions.cs b/src/Lucene.Net.Tests/Index/TestTransactions.cs index de42270..cc93685 100644 --- a/src/Lucene.Net.Tests/Index/TestTransactions.cs +++ b/src/Lucene.Net.Tests/Index/TestTransactions.cs @@ -1,4 +1,4 @@ -using J2N.Threading; +using J2N.Threading; using Lucene.Net.Documents; using Lucene.Net.Index.Extensions; using Lucene.Net.Store; @@ -114,8 +114,6 @@ namespace Lucene.Net.Index private class IndexerThread : TimedThread { private readonly TestTransactions outerInstance; - private Func<IConcurrentMergeScheduler> newScheduler1; - private Func<IConcurrentMergeScheduler> newScheduler2; internal Directory dir1; internal Directory dir2; internal object @lock; @@ -123,12 +121,9 @@ namespace Lucene.Net.Index public IndexerThread(TestTransactions outerInstance, object @lock, Directory dir1, Directory dir2, - Func<IConcurrentMergeScheduler> newScheduler1, Func<IConcurrentMergeScheduler> newScheduler2, TimedThread[] threads) : base(threads) { - this.newScheduler1 = newScheduler1; - this.newScheduler2 = newScheduler2; this.outerInstance = outerInstance; this.@lock = @lock; this.dir1 = dir1; @@ -142,9 +137,9 @@ namespace Lucene.Net.Index outerInstance, #endif TEST_VERSION_CURRENT, new MockAnalyzer(Random)) - .SetMaxBufferedDocs(3) - .SetMergeScheduler(newScheduler1()) - .SetMergePolicy(NewLogMergePolicy(2)); + .SetMaxBufferedDocs(3) + .SetMergeScheduler(new ConcurrentMergeScheduler()) + .SetMergePolicy(NewLogMergePolicy(2)); IndexWriter writer1 = new IndexWriter(dir1, config); ((IConcurrentMergeScheduler)writer1.Config.MergeScheduler).SetSuppressExceptions(); @@ -155,9 +150,9 @@ namespace Lucene.Net.Index outerInstance, #endif TEST_VERSION_CURRENT, new MockAnalyzer(Random)) - .SetMaxBufferedDocs(2) - .SetMergeScheduler(newScheduler2()) - .SetMergePolicy(NewLogMergePolicy(3)); + .SetMaxBufferedDocs(2) + .SetMergeScheduler(new ConcurrentMergeScheduler()) + .SetMergePolicy(NewLogMergePolicy(3)); IndexWriter writer2 = new IndexWriter(dir2, config2); ((IConcurrentMergeScheduler)writer2.Config.MergeScheduler).SetSuppressExceptions(); @@ -291,9 +286,7 @@ namespace Lucene.Net.Index } [Test] - public virtual void TestTransactions_Mem( - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler1, - [ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler2) + public virtual void TestTransactions_Mem() { Console.WriteLine("start test"); // we cant use non-ramdir on windows, because this test needs to double-write. @@ -317,7 +310,7 @@ namespace Lucene.Net.Index TimedThread[] threads = new TimedThread[3]; int numThread = 0; - IndexerThread indexerThread = new IndexerThread(this, this, dir1, dir2, newScheduler1, newScheduler2, threads); + IndexerThread indexerThread = new IndexerThread(this, this, dir1, dir2, threads); threads[numThread++] = indexerThread; indexerThread.Start(); diff --git a/src/Lucene.Net.Tests/Search/TestSearcherManager.cs b/src/Lucene.Net.Tests/Search/TestSearcherManager.cs index e95f944..7adc3aa 100644 --- a/src/Lucene.Net.Tests/Search/TestSearcherManager.cs +++ b/src/Lucene.Net.Tests/Search/TestSearcherManager.cs @@ -1,4 +1,4 @@ -using J2N.Threading; +using J2N.Threading; using J2N.Threading.Atomic; using Lucene.Net.Index; using Lucene.Net.Index.Extensions; @@ -429,11 +429,11 @@ namespace Lucene.Net.Search } [Test] - public virtual void TestReferenceDecrementIllegally([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler) + public virtual void TestReferenceDecrementIllegally() { Directory dir = NewDirectory(); - var config = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random)) - .SetMergeScheduler(newScheduler()); + var config = NewIndexWriterConfig( + TEST_VERSION_CURRENT, new MockAnalyzer(Random)).SetMergeScheduler(new ConcurrentMergeScheduler()); IndexWriter writer = new IndexWriter(dir, config); SearcherManager sm = new SearcherManager(writer, false, new SearcherFactory()); writer.AddDocument(new Document());
