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 27b2c0603d8b8f93f7e84128b0ba9428212ffc82
Author: Shad Storhaug <[email protected]>
AuthorDate: Fri Sep 6 15:52:05 2019 +0700

    BUG: Lucene.Net.TestFramework.LuceneTestCase: Fixed edge case where random 
culture and/or time zone is not available on macOS for random pick, so just 
return a sensible default in those cases
---
 src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs 
b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
index 6b5ca6c..78da957 100644
--- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
@@ -1556,7 +1556,14 @@ namespace Lucene.Net.Util
         /// </summary>
         public static CultureInfo RandomCulture(Random random) // LUCENENET 
specific renamed from RandomLocale
         {
-            return RandomPicks.RandomFrom(random, 
CultureInfoSupport.GetNeutralAndSpecificCultures());
+            ICollection<CultureInfo> systemCultures = 
CultureInfoSupport.GetNeutralAndSpecificCultures();
+#if NETSTANDARD1_6
+            // .NET Core 1.0 on macOS seems to be flakey here and not return 
results occasionally, so compensate by
+            // returning CultureInfo.InvariantCulture when it happens.
+            if (systemCultures.Count == 0)
+                return CultureInfo.InvariantCulture;
+#endif
+            return RandomPicks.RandomFrom(random, systemCultures);
         }
 
         /// <summary>
@@ -1566,7 +1573,14 @@ namespace Lucene.Net.Util
         /// </summary>
         public static TimeZoneInfo RandomTimeZone(Random random)
         {
-            return RandomPicks.RandomFrom(random, 
TimeZoneInfo.GetSystemTimeZones());
+            var systemTimeZones = TimeZoneInfo.GetSystemTimeZones();
+#if NETSTANDARD1_6
+            // .NET Core 1.0 on macOS seems to be flakey here and not return 
results occasionally, so compensate by
+            // returning TimeZoneInfo.Local when it happens.
+            if (systemTimeZones.Count == 0)
+                return TimeZoneInfo.Local;
+#endif
+            return RandomPicks.RandomFrom(random, systemTimeZones);
         }
 
         /// <summary>

Reply via email to