From 1c3bed0bb78acddf4a648825ea93fb9d62a82a55 Mon Sep 17 00:00:00 2001 From: NachoSoto Date: Thu, 13 Jul 2023 12:42:45 -0700 Subject: [PATCH] Revert "`Unit Tests`: removed leak detection (#2792)" (#2805) This reverts commit 0a814ed8be07cda319ec8150cf668911027f7faa. The actual fix for the problem was #2802. --- .../Purchases/BasePurchasesTests.swift | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Tests/UnitTests/Purchasing/Purchases/BasePurchasesTests.swift b/Tests/UnitTests/Purchasing/Purchases/BasePurchasesTests.swift index c29f2dc679..5de1b3bd01 100644 --- a/Tests/UnitTests/Purchasing/Purchases/BasePurchasesTests.swift +++ b/Tests/UnitTests/Purchasing/Purchases/BasePurchasesTests.swift @@ -103,12 +103,25 @@ class BasePurchasesTests: TestCase { // Because unit tests can run in parallel, if a test needs to modify // this level it should be moved to `StoreKitUnitTests`, which runs serially. Purchases.logLevel = .verbose + + self.addTeardownBlock { + weak var purchases = self.purchases + weak var orchestrator = self.purchasesOrchestrator + weak var deviceCache = self.deviceCache + + Purchases.clearSingleton() + self.clearReferences() + + expect(purchases) + .toEventually(beNil(), description: "Purchases has leaked") + expect(orchestrator) + .toEventually(beNil(), description: "PurchasesOrchestrator has leaked") + expect(deviceCache) + .toEventually(beNil(), description: "DeviceCache has leaked: \(self)") + } } override func tearDown() { - Purchases.clearSingleton() - self.clearReferences() - self.userDefaults.removePersistentDomain(forName: Self.userDefaultsSuiteName) super.tearDown()