     let migrationNeededFromV3toV1 = try CoreDataPlus.isMigrationNecessary(for: sourceURLV2, to: SampleModelVersion.version1)
     XCTAssertFalse(migrationNeededFromV3toV1)
   }
-  
+
   func testMigrationFromVersion1ToVersion2() throws {
     let bundle = Bundle(for: CoreDataMigrationsTests.self)
     let _sourceURL = bundle.url(forResource: "SampleModelV1", withExtension: "sqlite")!  // 125 cars, 5 sport cars
-    
+
     // Being the test run multiple times, we create an unique copy for every test
     let uuid = UUID().uuidString
     let sourceURL = bundle.bundleURL.appendingPathComponent("SampleModelV1_copy-\(uuid).sqlite")
     try FileManager.default.copyItem(at: _sourceURL, to: sourceURL)
     XCTAssertTrue(FileManager.default.fileExists(atPath: sourceURL.path))
-    
+
     let targetVersion = SampleModelVersion.version2
     let steps = SampleModelVersion.version1.migrationSteps(to: .version2)
     XCTAssertEqual(steps.count, 1)
-    
+
     let version = SampleModelVersion(persistentStoreURL: sourceURL)
     XCTAssertTrue(version == .version1)
-    
+
     // When
     let progress = Progress(totalUnitCount: 1)
     var completionSteps = 0

      completion = progress.fractionCompleted
      completionSteps += 1
    }
    
    try CoreDataMigration.migrateStore(at: sourceURL, targetVersion: targetVersion, enableWALCheckpoint: true, progress: progress)
    let migratedContext = NSManagedObjectContext(model: targetVersion.managedObjectModel(), storeURL: sourceURL)
    let luxuryCars = try LuxuryCar.fetch(in: migratedContext)
    XCTAssertEqual(luxuryCars.count, 5)
    
    let cars = try migratedContext.fetch(NSFetchRequest<NSManagedObject>(entityName: "Car"))
    XCTAssertTrue(cars.count >= 1)
    
    if #available(iOS 11, tvOS 11, watchOS 4, macOS 10.13, *) {
      cars.forEach { car in
        if car is LuxuryCar || car is SportCar {

    self.init(concurrencyType: .mainQueueConcurrencyType)
    persistentStoreCoordinator = psc
  }

  func _fix_sqlite_warning_when_destroying_a_store() {
    /// solve the warning: "BUG IN CLIENT OF libsqlite3.dylib: database integrity compromised by API violation: vnode unlinked while in use..."
    for store in persistentStoreCoordinator!.persistentStores {
