Skip to content

Commit 0bcc3a6

Browse files
authored
Add Mode to tests for Mac (#270)
1 parent f3a9030 commit 0bcc3a6

2 files changed

Lines changed: 14 additions & 7 deletions

File tree

src/Tests/Blockcore.Features.BlockStore.Tests/AddressIndexerOutpointsRepositoryTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ public class AddressIndexerOutpointsRepositoryTests
2121

2222
public AddressIndexerOutpointsRepositoryTests()
2323
{
24-
var db = new LiteDatabase(new ConnectionString() { Filename = this.RandomString(20) + ".db", Upgrade = true });
24+
LiteDB.FileMode fileMode = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? LiteDB.FileMode.Exclusive : LiteDB.FileMode.Shared;
25+
var db = new LiteDatabase(new ConnectionString() { Filename = this.RandomString(20) + ".db", Upgrade = true, Mode = fileMode });
2526

2627
this.repository = new AddressIndexerOutpointsRepository(db, new ExtendedLoggerFactory(), this.maxItems);
2728
}

src/Tests/Blockcore.Features.BlockStore.Tests/AddressIndexerTests.cs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,8 @@ public void OutPointCacheCanRetrieveExisting()
181181
var dataFolder = new DataFolder(TestBase.CreateTestDir(this));
182182
string dbPath = Path.Combine(dataFolder.RootPath, CollectionName);
183183

184-
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true });
184+
LiteDB.FileMode fileMode = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? LiteDB.FileMode.Exclusive : LiteDB.FileMode.Shared;
185+
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true, Mode = fileMode });
185186
var cache = new AddressIndexerOutpointsRepository(database, new ExtendedLoggerFactory());
186187

187188
var outPoint = new OutPoint(uint256.Parse("0000af9ab2c8660481328d0444cf167dfd31f24ca2dbba8e5e963a2434cffa93"), 0);
@@ -203,7 +204,8 @@ public void OutPointCacheCannotRetrieveNonexistent()
203204
var dataFolder = new DataFolder(TestBase.CreateTestDir(this));
204205
string dbPath = Path.Combine(dataFolder.RootPath, CollectionName);
205206

206-
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true });
207+
LiteDB.FileMode fileMode = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? LiteDB.FileMode.Exclusive : LiteDB.FileMode.Shared;
208+
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true, Mode = fileMode });
207209
var cache = new AddressIndexerOutpointsRepository(database, new ExtendedLoggerFactory());
208210

209211
Assert.False(cache.TryGetOutPointData(new OutPoint(uint256.Parse("0000af9ab2c8660481328d0444cf167dfd31f24ca2dbba8e5e963a2434cffa93"), 1), out OutPointData retrieved));
@@ -217,7 +219,8 @@ public void OutPointCacheEvicts()
217219
var dataFolder = new DataFolder(TestBase.CreateTestDir(this));
218220
string dbPath = Path.Combine(dataFolder.RootPath, CollectionName);
219221

220-
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true });
222+
LiteDB.FileMode fileMode = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? LiteDB.FileMode.Exclusive : LiteDB.FileMode.Shared;
223+
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true, Mode = fileMode });
221224
var cache = new AddressIndexerOutpointsRepository(database, new ExtendedLoggerFactory(), 2);
222225

223226
Assert.Equal(0, cache.Count);
@@ -267,7 +270,8 @@ public void AddressCacheCanRetrieveExisting()
267270
var dataFolder = new DataFolder(TestBase.CreateTestDir(this));
268271
string dbPath = Path.Combine(dataFolder.RootPath, CollectionName);
269272

270-
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true });
273+
LiteDB.FileMode fileMode = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? LiteDB.FileMode.Exclusive : LiteDB.FileMode.Shared;
274+
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true, Mode = fileMode });
271275
var cache = new AddressIndexRepository(database, new ExtendedLoggerFactory());
272276

273277
string address = "xyz";
@@ -295,7 +299,8 @@ public void AddressCacheRetrievesBlankRecordForNonexistent()
295299
var dataFolder = new DataFolder(TestBase.CreateTestDir(this));
296300
string dbPath = Path.Combine(dataFolder.RootPath, CollectionName);
297301

298-
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true });
302+
LiteDB.FileMode fileMode = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? LiteDB.FileMode.Exclusive : LiteDB.FileMode.Shared;
303+
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true, Mode = fileMode });
299304
var cache = new AddressIndexRepository(database, new ExtendedLoggerFactory());
300305

301306
AddressIndexerData retrieved = cache.GetOrCreateAddress("xyz");
@@ -313,7 +318,8 @@ public void AddressCacheEvicts()
313318
var dataFolder = new DataFolder(TestBase.CreateTestDir(this));
314319
string dbPath = Path.Combine(dataFolder.RootPath, CollectionName);
315320

316-
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true });
321+
LiteDB.FileMode fileMode = RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? LiteDB.FileMode.Exclusive : LiteDB.FileMode.Shared;
322+
var database = new LiteDatabase(new ConnectionString() { Filename = dbPath, Upgrade = true, Mode = fileMode });
317323
var cache = new AddressIndexRepository(database, new ExtendedLoggerFactory(), 4);
318324

319325
// Recall, each index entry counts as 1 and each balance change associated with it is an additional 1.

0 commit comments

Comments
 (0)