Fix parallel test running
- Geode 'Client' is a singleton, so needs to be a global resource in
tests
- XUnit uses a 'Collection' for this, so added NetCoreCollectionFixture
and NetCoreCollection classes. Now Client is created before any tests
run, and torn down when the last test completes.
diff --git a/NetCore.Test/CacheFactoryUnitTest.cs b/NetCore.Test/CacheFactoryUnitTest.cs
index cdcd581..d451778 100644
--- a/NetCore.Test/CacheFactoryUnitTest.cs
+++ b/NetCore.Test/CacheFactoryUnitTest.cs
@@ -4,83 +4,66 @@
namespace GemfireDotNetTest
{
- public class CacheFactoryUnitTests
+ [Collection("Geode .net Core Collection")]
+ public class CacheFactoryUnitTests
{
[Fact]
public void TestCreateFactory()
{
- using (var client = new Client())
+ using (var cacheFactory = CacheFactory.Create())
{
- using (var cacheFactory = CacheFactory.Create())
- {
- Assert.NotNull(cacheFactory);
- }
+ Assert.NotNull(cacheFactory);
}
}
[Fact]
public void TestCacheFactoryGetVersion()
{
- using (var client = new Client())
+ using (var cacheFactory = CacheFactory.Create())
{
- using (var cacheFactory = CacheFactory.Create())
- {
- var version = cacheFactory.Version;
- Assert.NotEqual(version, String.Empty);
- }
+ var version = cacheFactory.Version;
+ Assert.NotEqual(version, String.Empty);
}
}
[Fact]
public void TestCacheFactoryGetProductDescription()
{
- using (var client = new Client())
+ using (var cacheFactory = CacheFactory.Create())
{
- using (var cacheFactory = CacheFactory.Create())
- {
- var description = cacheFactory.ProductDescription;
- Assert.NotEqual(description, String.Empty);
- }
+ var description = cacheFactory.ProductDescription;
+ Assert.NotEqual(description, String.Empty);
}
}
[Fact]
public void TestCacheFactorySetPdxIgnoreUnreadFields()
{
- using (var client = new Client())
+ using (var cacheFactory = CacheFactory.Create())
{
- using (var cacheFactory = CacheFactory.Create())
- {
- cacheFactory.PdxIgnoreUnreadFields = true;
- cacheFactory.PdxIgnoreUnreadFields = false;
- }
+ cacheFactory.PdxIgnoreUnreadFields = true;
+ cacheFactory.PdxIgnoreUnreadFields = false;
}
}
[Fact]
public void TestCacheFactorySetPdxReadSerialized()
{
- using (var client = new Client())
+ using (var cacheFactory = CacheFactory.Create())
{
- using (var cacheFactory = CacheFactory.Create())
- {
- cacheFactory.PdxReadSerialized = true;
- cacheFactory.PdxReadSerialized = false;
- }
+ cacheFactory.PdxReadSerialized = true;
+ cacheFactory.PdxReadSerialized = false;
}
}
[Fact]
public void TestCacheFactoryCreateCache()
{
- using (var client = new Client())
+ using (var cacheFactory = CacheFactory.Create())
{
- using (var cacheFactory = CacheFactory.Create())
+ using (var cache = cacheFactory.CreateCache())
{
- using (var cache = cacheFactory.CreateCache())
- {
- ;
- }
+ ;
}
}
}
@@ -88,13 +71,10 @@
[Fact]
public void TestCacheFactorySetProperty()
{
- using (var client = new Client())
+ using (var cacheFactory = CacheFactory.Create())
{
- using (var cacheFactory = CacheFactory.Create())
- {
- cacheFactory.SetProperty("log-level", "none")
- .SetProperty("log-file", "geode_native.log");
- }
+ cacheFactory.SetProperty("log-level", "none")
+ .SetProperty("log-file", "geode_native.log");
}
}
}
diff --git a/NetCore.Test/CacheUnitTest.cs b/NetCore.Test/CacheUnitTest.cs
index e19ccb3..9c01608 100644
--- a/NetCore.Test/CacheUnitTest.cs
+++ b/NetCore.Test/CacheUnitTest.cs
@@ -5,166 +5,115 @@
namespace GemfireDotNetTest
{
+ [Collection("Geode .net Core Collection")]
public class CacheUnitTests
{
[Fact]
public void TestClientCacheGetPdxReadSerialized()
{
- using (var client = new Client())
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "debug")
+ .SetProperty("log-file", "TestClientCacheGetPdxReadSerialized.log");
+ try
{
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "debug")
- .SetProperty("log-file", "TestClientCacheGetPdxReadSerialized.log"))
- {
- try
- {
- cacheFactory.PdxReadSerialized = true;
- using (var cache = cacheFactory.CreateCache())
- {
- Assert.True(cache.GetPdxReadSerialized());
- }
+ cacheFactory.PdxReadSerialized = true;
+ using var cache = cacheFactory.CreateCache();
- cacheFactory.PdxReadSerialized = false;
- using (var otherCache = cacheFactory.CreateCache())
- {
- Assert.False(otherCache.GetPdxReadSerialized());
- }
- }
- catch (Exception e)
- {
- Console.WriteLine(e);
- throw;
- }
- }
+ Assert.True(cache.GetPdxReadSerialized());
+
+ cacheFactory.PdxReadSerialized = false;
+ using var otherCache = cacheFactory.CreateCache();
+
+ Assert.False(otherCache.GetPdxReadSerialized());
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine(e);
+ throw;
}
}
[Fact]
public void TestClientCacheGetPdxIgnoreUnreadFields()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "none")
- .SetProperty("log-file", "geode_native.log"))
- {
- cacheFactory.PdxIgnoreUnreadFields = true;
- using (var cache = cacheFactory.CreateCache())
- {
- Assert.True(cache.GetPdxIgnoreUnreadFields());
- }
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "none")
+ .SetProperty("log-file", "geode_native.log");
+ cacheFactory.PdxIgnoreUnreadFields = true;
+ using var cache = cacheFactory.CreateCache();
- cacheFactory.PdxIgnoreUnreadFields = false;
- using (var otherCache = cacheFactory.CreateCache())
- {
- Assert.False(otherCache.GetPdxIgnoreUnreadFields());
- }
- }
- }
+ Assert.True(cache.GetPdxIgnoreUnreadFields());
+
+ cacheFactory.PdxIgnoreUnreadFields = false;
+ using var otherCache = cacheFactory.CreateCache();
+ Assert.False(otherCache.GetPdxIgnoreUnreadFields());
}
[Fact]
public void TestClientCacheGetPoolManager()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "none")
- .SetProperty("log-file", "geode_native.log"))
- {
- cacheFactory.PdxIgnoreUnreadFields = true;
- using (var cache = cacheFactory.CreateCache())
- {
- var poolManager = cache.PoolManager;
- poolManager.Dispose();
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "none")
+ .SetProperty("log-file", "geode_native.log");
+
+ cacheFactory.PdxIgnoreUnreadFields = true;
+ using var cache = cacheFactory.CreateCache();
+ using var poolManager = cache.PoolManager;
}
[Fact]
public void TestClientCacheCreateRegionFactory()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "none")
- .SetProperty("log-file", "geode_native.log"))
- {
- cacheFactory.PdxIgnoreUnreadFields = true;
- using (var cache = cacheFactory.CreateCache())
- {
- using (var regionFactory = cache.CreateRegionFactory(RegionShortcut.Proxy))
- {
- ;
- }
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "none")
+ .SetProperty("log-file", "geode_native.log");
+ cacheFactory.PdxIgnoreUnreadFields = true;
+ using var cache = cacheFactory.CreateCache();
+ using var regionFactory = cache.CreateRegionFactory(RegionShortcut.Proxy);
}
[Fact]
public void TestClientCacheGetName()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "none"))
- {
- cacheFactory.PdxIgnoreUnreadFields = true;
- using (var cache = cacheFactory.CreateCache())
- {
- var cacheName = cache.Name;
- Assert.NotEqual(cacheName, String.Empty);
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "none");
+ cacheFactory.PdxIgnoreUnreadFields = true;
+ using var cache = cacheFactory.CreateCache();
+
+ var cacheName = cache.Name;
+ Assert.NotEqual(cacheName, String.Empty);
}
[Fact]
public void TestClientCacheClose()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "none"))
- {
- cacheFactory.PdxIgnoreUnreadFields = true;
- using (var cache = cacheFactory.CreateCache())
- {
- Assert.False(cache.Closed);
- cache.Close();
- Assert.True(cache.Closed);
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "none");
+ cacheFactory.PdxIgnoreUnreadFields = true;
+ using var cache = cacheFactory.CreateCache();
+
+ Assert.False(cache.Closed);
+ cache.Close();
+ Assert.True(cache.Closed);
}
[Fact]
public void TestClientCacheCloseWithKeepalive()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "none"))
- {
- cacheFactory.PdxIgnoreUnreadFields = true;
- using (var cache = cacheFactory.CreateCache())
- {
- Assert.False(cache.Closed);
- cache.Close(true);
- Assert.True(cache.Closed);
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "none");
+ cacheFactory.PdxIgnoreUnreadFields = true;
+ using var cache = cacheFactory.CreateCache();
+
+ Assert.False(cache.Closed);
+ cache.Close(true);
+ Assert.True(cache.Closed);
- }
+ using var otherCache = cacheFactory.CreateCache();
- using (var otherCache = cacheFactory.CreateCache())
- {
- Assert.False(otherCache.Closed);
- otherCache.Close(false);
- Assert.True(otherCache.Closed);
- }
- }
- }
+ Assert.False(otherCache.Closed);
+ otherCache.Close(false);
+ Assert.True(otherCache.Closed);
}
}
}
diff --git a/NetCore.Test/NetCoreCollectionFixture.cs b/NetCore.Test/NetCoreCollectionFixture.cs
new file mode 100644
index 0000000..49a14ce
--- /dev/null
+++ b/NetCore.Test/NetCoreCollectionFixture.cs
@@ -0,0 +1,22 @@
+using System;
+using Apache.Geode.NetCore;
+using Xunit;
+
+public class NetCoreCollectionFixture : IDisposable
+{
+ public NetCoreCollectionFixture()
+ {
+ client_ = new Client();
+ }
+ public void Dispose()
+ {
+ client_.Dispose();
+ }
+
+ Client client_;
+}
+
+[CollectionDefinition("Geode .net Core Collection")]
+public class NetCoreCollection : ICollectionFixture<NetCoreCollectionFixture>
+{
+}
diff --git a/NetCore.Test/ObjectLeakUnitTest.cs b/NetCore.Test/ObjectLeakUnitTest.cs
index acfa131..56d41d4 100644
--- a/NetCore.Test/ObjectLeakUnitTest.cs
+++ b/NetCore.Test/ObjectLeakUnitTest.cs
@@ -4,7 +4,8 @@
namespace GemfireDotNetTest
{
- public class ObjectLeakUnitTests
+ [Collection("Geode .net Core Collection")]
+ public class ObjectLeakUnitTests
{
[Fact]
public void TestLeakCacheFactory()
diff --git a/NetCore.Test/PoolFactoryUnitTest.cs b/NetCore.Test/PoolFactoryUnitTest.cs
index 766fb40..8ec8dde 100644
--- a/NetCore.Test/PoolFactoryUnitTest.cs
+++ b/NetCore.Test/PoolFactoryUnitTest.cs
@@ -4,78 +4,46 @@
namespace GemfireDotNetTest
{
+ [Collection("Geode .net Core Collection")]
public class PoolFactoryUnitTests
{
[Fact]
public void TestPoolFactoryAddLocator()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "none")
- .SetProperty("log-file", "geode_native.log"))
- {
- using (var cache = cacheFactory.CreateCache())
- {
- using (var poolManager = cache.PoolManager)
- {
- using (var poolFactory = poolManager.CreatePoolFactory())
- {
- poolFactory.AddLocator("localhost", 10334);
- }
- }
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "none")
+ .SetProperty("log-file", "geode_native.log");
+ using var cache = cacheFactory.CreateCache();
+ using var poolManager = cache.PoolManager;
+ using var poolFactory = poolManager.CreatePoolFactory();
+
+ poolFactory.AddLocator("localhost", 10334);
}
[Fact]
public void TestPoolFactoryCreatePool()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "none")
- .SetProperty("log-file", "geode_native.log"))
- {
- using (var cache = cacheFactory.CreateCache())
- {
- using (var poolManager = cache.PoolManager)
- {
- using (var poolFactory = poolManager.CreatePoolFactory())
- {
- poolFactory.AddLocator("localhost", 10334);
- using (var pool = poolFactory.CreatePool("myPool"))
- {
- ;
- }
- }
- }
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "none")
+ .SetProperty("log-file", "geode_native.log");
+ using var cache = cacheFactory.CreateCache();
+ using var poolManager = cache.PoolManager;
+ using var poolFactory = poolManager.CreatePoolFactory();
+
+ poolFactory.AddLocator("localhost", 10334);
+ using var pool = poolFactory.CreatePool("myPool");
}
[Fact]
public void TestCreatePoolWithoutPoolManager()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create())
- {
- using (var cache = cacheFactory.CreateCache())
- {
- using (var poolFactory = cache.PoolFactory)
- {
- poolFactory.AddLocator("localhost", 10334);
- using (var pool = poolFactory.CreatePool("myPool"))
- {
- }
- }
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create();
+ using var cache = cacheFactory.CreateCache();
+ using var poolFactory = cache.PoolFactory;
+
+ poolFactory.AddLocator("localhost", 10334);
+ using var pool = poolFactory.CreatePool("myPool");
}
- }
+ }
}
diff --git a/NetCore.Test/PoolManagerUnitTest.cs b/NetCore.Test/PoolManagerUnitTest.cs
index 5dfec19..14767a5 100644
--- a/NetCore.Test/PoolManagerUnitTest.cs
+++ b/NetCore.Test/PoolManagerUnitTest.cs
@@ -4,26 +4,16 @@
namespace GemfireDotNetTest
{
+ [Collection("Geode .net Core Collection")]
public class PoolManagerUnitTests
{
[Fact]
public void TestPoolManagerCreatePoolFactory()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create())
- {
- using (var cache = cacheFactory.CreateCache())
- {
- using (var poolManager = cache.PoolManager)
- {
- using (var poolFactory = poolManager.CreatePoolFactory())
- {
- }
- }
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create();
+ using var cache = cacheFactory.CreateCache();
+ using var poolManager = cache.PoolManager;
+ using var poolFactory = poolManager.CreatePoolFactory();
}
}
}
diff --git a/NetCore.Test/RegionFactoryUnitTest.cs b/NetCore.Test/RegionFactoryUnitTest.cs
index e998931..aee341f 100644
--- a/NetCore.Test/RegionFactoryUnitTest.cs
+++ b/NetCore.Test/RegionFactoryUnitTest.cs
@@ -23,6 +23,8 @@
}
}
+
+ [Collection("Geode .net Core Collection")]
public class RegionFactoryUnitTests
{
private const string Username1 = "rtimmons";
@@ -30,17 +32,10 @@
private void createPool(IGeodeCache cache, int port)
{
- using (var poolManager = cache.PoolManager)
- {
- using (var poolFactory = poolManager.CreatePoolFactory()
- .AddLocator("localhost", port))
- {
- using (var pool = poolFactory.CreatePool("myPool"))
- {
- ;
- }
- }
- }
+ using var poolManager = cache.PoolManager;
+ using var poolFactory = poolManager.CreatePoolFactory()
+ .AddLocator("localhost", port);
+ using var pool = poolFactory.CreatePool("myPool");
}
private void doPutsAndGets(Region region)
@@ -72,51 +67,36 @@
private void CreateRegionAndDoWork(IGeodeCache cache, string regionName, RegionShortcut regionType)
{
- using (var regionFactory = cache.CreateRegionFactory(regionType))
- {
- using (var region = regionFactory.CreateRegion(regionName))
- {
- doPutsAndGets(region);
- DoRemoves(region);
- }
- }
+ using var regionFactory = cache.CreateRegionFactory(regionType);
+ using var region = regionFactory.CreateRegion(regionName);
+
+ doPutsAndGets(region);
+ DoRemoves(region);
}
[Fact]
public void TestRegionFactoryCreateProxyRegion()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "none")
- .SetProperty("log-file", "geode_native.log"))
- {
- using (var cache = cacheFactory.CreateCache())
- {
- createPool(cache, 10334);
- CreateRegionAndDoWork(cache, "exampleRegion", RegionShortcut.Proxy);
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "none")
+ .SetProperty("log-file", "geode_native.log");
+ using var cache = cacheFactory.CreateCache();
+
+ createPool(cache, 10334);
+ CreateRegionAndDoWork(cache, "exampleRegion", RegionShortcut.Proxy);
}
[Fact]
public void TestRegionFactoryCreateRegionWithAuthentication()
{
- using (var client = new Client())
- {
- using (var cacheFactory = CacheFactory.Create()
- .SetProperty("log-level", "debug")
- .SetProperty("log-file", "geode_native_with_auth.log"))
- {
- cacheFactory.AuthInitialize = new SimpleAuthInitialize();
- using (var cache = cacheFactory.CreateCache())
- {
- createPool(cache, 10335);
- CreateRegionAndDoWork(cache, "authExampleRegion", RegionShortcut.CachingProxy);
- }
- }
- }
+ using var cacheFactory = CacheFactory.Create()
+ .SetProperty("log-level", "debug")
+ .SetProperty("log-file", "geode_native_with_auth.log");
+ cacheFactory.AuthInitialize = new SimpleAuthInitialize();
+ using var cache = cacheFactory.CreateCache();
+
+ createPool(cache, 10335);
+ CreateRegionAndDoWork(cache, "authExampleRegion", RegionShortcut.CachingProxy);
}
}
}
diff --git a/NetCore.Test/xunit.runner.json b/NetCore.Test/xunit.runner.json
index c977ea0..0243b2c 100644
--- a/NetCore.Test/xunit.runner.json
+++ b/NetCore.Test/xunit.runner.json
@@ -1,5 +1,5 @@
{
"methodDisplay": "classAndMethod",
"parallelizeAssembly": true,
- "parallelizeTestCollections": false
-}
+ "parallelizeTestCollections": true
+}
\ No newline at end of file