From 4873e8925d4d9645e2fc2c583d1e799b7a7dade5 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Sat, 11 Jul 2026 03:16:56 +0200 Subject: [PATCH] fix(apple/test): unwrap optional leaseSeconds in RumbleTuningTests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RumbleTuning.leaseSeconds returns TimeInterval? (nil for the no-lease sentinel); XCTAssertEqual(_, _, accuracy:) needs a non-optional Double. Coalesce with .nan so a nil (which must not happen for a real ttl) still fails the assertion. Test-only — the production Swift built clean. Co-Authored-By: Claude Fable 5 --- .../apple/Tests/PunktfunkKitTests/RumbleTuningTests.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/clients/apple/Tests/PunktfunkKitTests/RumbleTuningTests.swift b/clients/apple/Tests/PunktfunkKitTests/RumbleTuningTests.swift index d947bff3..36b072bd 100644 --- a/clients/apple/Tests/PunktfunkKitTests/RumbleTuningTests.swift +++ b/clients/apple/Tests/PunktfunkKitTests/RumbleTuningTests.swift @@ -79,10 +79,10 @@ final class RumbleTuningTests: XCTestCase { // The legacy no-lease sentinel → nil (fall back to the staleness watchdog). XCTAssertNil(RumbleTuning.leaseSeconds(ttlMs: RumbleTuning.noTTL)) XCTAssertEqual(RumbleTuning.noTTL, UInt32.max) - // A real lease → its duration in seconds. - XCTAssertEqual(RumbleTuning.leaseSeconds(ttlMs: 400), 0.4, accuracy: 1e-9) - XCTAssertEqual(RumbleTuning.leaseSeconds(ttlMs: 0), 0, accuracy: 1e-9) - XCTAssertEqual(RumbleTuning.leaseSeconds(ttlMs: 150), 0.15, accuracy: 1e-9) + // A real lease → its duration in seconds (non-nil for any ttl != noTTL). + XCTAssertEqual(RumbleTuning.leaseSeconds(ttlMs: 400) ?? .nan, 0.4, accuracy: 1e-9) + XCTAssertEqual(RumbleTuning.leaseSeconds(ttlMs: 0) ?? .nan, 0, accuracy: 1e-9) + XCTAssertEqual(RumbleTuning.leaseSeconds(ttlMs: 150) ?? .nan, 0.15, accuracy: 1e-9) } func testEnvelopeLeaseBoundsMotorLifeTighterThanTheLegacyWatchdog() {