Add IntegrationTesting Xcode project and additional integration testing models#9
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a standalone Xcode project for running local integration tests, and expands the shared integration test helpers to cover additional model IDs and tool-calling scenarios.
Changes:
- Added
IntegrationTesting/IntegrationTesting.xcodeprojwith a test target for running integration tests locally (not in CI). - Expanded
IntegrationTestHelperswith additional model IDs/containers and new tool-call integration scenarios (multi-tool, format auto-detection). - Updated documentation (
CONTRIBUTING.md,Libraries/IntegrationTestHelpers/README.md) with instructions for running integration tests via Xcode /xcodebuild.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Libraries/MLXVLM/MediaProcessing.swift | Minor signature formatting tweak (no behavioral change). |
| Libraries/IntegrationTestHelpers/README.md | Added local integration test running instructions for the new Xcode project. |
| Libraries/IntegrationTestHelpers/IntegrationTestHelpers.swift | Added more model IDs/containers and expanded tool-call test coverage (including multi-tool). |
| IntegrationTesting/IntegrationTestingTests/ToolCallIntegrationTests.swift | New integration test suite that exercises tool calling across several models. |
| IntegrationTesting/IntegrationTesting/IntegrationTesting.swift | Placeholder framework target source. |
| IntegrationTesting/IntegrationTesting.xcodeproj/xcshareddata/xcschemes/IntegrationTesting.xcscheme | Shared scheme for running tests. |
| IntegrationTesting/IntegrationTesting.xcodeproj/project.xcworkspace/contents.xcworkspacedata | Workspace metadata for the Xcode project. |
| IntegrationTesting/IntegrationTesting.xcodeproj/project.pbxproj | Xcode project definition, including Swift package dependencies and targets. |
| CONTRIBUTING.md | Documented unit vs integration test execution and updated formatting command to include IntegrationTesting. |
Files not reviewed (1)
- IntegrationTesting/IntegrationTesting.xcodeproj/project.xcworkspace/contents.xcworkspacedata: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| 57408ED92F82B8FB001E2121 /* XCLocalSwiftPackageReference "../../mlx-swift-lm" */ = { | ||
| isa = XCLocalSwiftPackageReference; | ||
| relativePath = "../../mlx-swift-lm"; |
There was a problem hiding this comment.
XCLocalSwiftPackageReference points to ../../mlx-swift-lm, but this repo does not contain a mlx-swift-lm/ subdirectory (the package root is the repository root where Package.swift lives). This path will break opening/building the Xcode project on a clean checkout; update the local package reference to point at the repo root (e.g., ../..).
| 57408ED92F82B8FB001E2121 /* XCLocalSwiftPackageReference "../../mlx-swift-lm" */ = { | |
| isa = XCLocalSwiftPackageReference; | |
| relativePath = "../../mlx-swift-lm"; | |
| 57408ED92F82B8FB001E2121 /* XCLocalSwiftPackageReference "../.." */ = { | |
| isa = XCLocalSwiftPackageReference; | |
| relativePath = "../.."; |
| public static let vlm = "mlx-community/Qwen3-VL-4B-Instruct-4bit" | ||
| public static let lfm2 = "mlx-community/LFM2-2.6B-Exp-4bit" | ||
| public static let glm4 = "mlx-community/GLM-4-9B-0414-4bit" | ||
| public static let mistral3 = "mlx-community/Ministral-3-3B-Instruct-2512-4bit" |
There was a problem hiding this comment.
The identifier mistral3 is mapped to a Hugging Face model ID named Ministral-3-.... If this is the intended model, consider renaming the constant (and related task/method names/print messages) to ministral3 to avoid confusion between Mistral vs Ministral in test output and API usage.
| public static let mistral3 = "mlx-community/Ministral-3-3B-Instruct-2512-4bit" | |
| public static let ministral3 = "mlx-community/Ministral-3-3B-Instruct-2512-4bit" |
No description provided.