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 4a26905fda79ba8a2ce347fda35d0c6d46b7a348 Author: Shad Storhaug <[email protected]> AuthorDate: Mon Jun 29 15:09:15 2020 +0700 Lucene.Net.TestFramework: Changed ConcurrentMergeSchedulerFactories.Values to only return the TaskMergeScheduler rarely, since it is no longer a default setting and is slowing down tests (#295, #261) --- .../Util/LuceneTestCase.cs | 27 +++++++++++++++------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs index 854da97..06b8450 100644 --- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs +++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs @@ -1217,13 +1217,13 @@ namespace Lucene.Net.Util #if !FEATURE_CONCURRENTMERGESCHEDULER mergeScheduler = new TaskMergeScheduler(); #else - if (random.NextBoolean()) + if (Rarely(random)) { - mergeScheduler = new ConcurrentMergeScheduler(); + mergeScheduler = new TaskMergeScheduler(); } else { - mergeScheduler = new TaskMergeScheduler(); + mergeScheduler = new ConcurrentMergeScheduler(); } #endif mergeScheduler.SetMaxMergesAndThreads(maxMergeCount, maxThreadCount); @@ -3230,20 +3230,31 @@ namespace Lucene.Net.Util } /// <summary> - /// Contains a list of all the Func<IConcurrentMergeSchedulers> to be tested. + /// 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 readonly Func<IConcurrentMergeScheduler>[] Values = new Func<IConcurrentMergeScheduler>[] { + public static IList<Func<IConcurrentMergeScheduler>> Values + { + get + { + var schedulerFactories = new List<Func<IConcurrentMergeScheduler>>(); #if FEATURE_CONCURRENTMERGESCHEDULER - () => new ConcurrentMergeScheduler(), + schedulerFactories.Add(() => new ConcurrentMergeScheduler()); + if (Rarely()) + schedulerFactories.Add(() => new TaskMergeScheduler()); +#else + schedulerFactories.Add(() => new TaskMergeScheduler()); #endif - () => new TaskMergeScheduler() - }; + return schedulerFactories; + } + } } private double nextNextGaussian; // LUCENENET specific
