diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index e878ec8..0af57b1 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -63,6 +63,15 @@ jobs: xcodebuild -downloadAllPlatforms echo "Destinations for testing:" xcodebuild test-without-building -only-testing WhisperKitTests/UnitTests -scheme whisperkit-Package -showdestinations + - name: Boot Simulator and Wait + if: ${{ matrix.run-config['name'] != 'macOS' }} && ${{ inputs.macos-runner == 'macos-14' }} + # Slower runners require some time to fully boot the simulator + # Parse the simulator name from the destination string, boot it, and wait + run: | + simulator_name=$(echo '${{ matrix.run-config['test-destination'] }}' | sed -n 's/.*name=\([^,]*\).*/\1/p') + xcrun simctl boot "$simulator_name" || true + sleep 15 + xcrun simctl list devices - name: Build and Test - ${{ matrix.run-config['name'] }} if: ${{ matrix.run-config['condition'] == true }} run: | diff --git a/Tests/WhisperKitTests/UnitTests.swift b/Tests/WhisperKitTests/UnitTests.swift index bcd09d3..c096642 100644 --- a/Tests/WhisperKitTests/UnitTests.swift +++ b/Tests/WhisperKitTests/UnitTests.swift @@ -1179,6 +1179,7 @@ final class UnitTests: XCTestCase { XCTAssertTrue(chunkedResult.text.normalized.contains("But then came my 90 page senior".normalized), "Expected text not found in \(chunkedResult.text.normalized)") } + #if !os(watchOS) // FIXME: This test times out on watchOS when run on low compute runners func testVADProgress() async throws { let pipe = try await WhisperKit(model: "tiny.en") @@ -1196,6 +1197,7 @@ final class UnitTests: XCTestCase { ) cancellable?.cancel() } + #endif // MARK: - Word Timestamp Tests