@@ -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