Skip to content

Add IntegrationTesting Xcode project and additional integration testing models#9

Merged
atdrendel merged 4 commits into
mainfrom
pr-133-qwen3.5-tool-calling
Apr 5, 2026
Merged

Add IntegrationTesting Xcode project and additional integration testing models#9
atdrendel merged 4 commits into
mainfrom
pr-133-qwen3.5-tool-calling

Conversation

@atdrendel

Copy link
Copy Markdown

No description provided.

Copilot AI review requested due to automatic review settings April 5, 2026 20:40
@atdrendel atdrendel merged commit bf5eacd into main Apr 5, 2026
4 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.xcodeproj with a test target for running integration tests locally (not in CI).
  • Expanded IntegrationTestHelpers with 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.

Comment on lines +519 to +521
57408ED92F82B8FB001E2121 /* XCLocalSwiftPackageReference "../../mlx-swift-lm" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = "../../mlx-swift-lm";

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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., ../..).

Suggested change
57408ED92F82B8FB001E2121 /* XCLocalSwiftPackageReference "../../mlx-swift-lm" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = "../../mlx-swift-lm";
57408ED92F82B8FB001E2121 /* XCLocalSwiftPackageReference "../.." */ = {
isa = XCLocalSwiftPackageReference;
relativePath = "../..";

Copilot uses AI. Check for mistakes.
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"

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
public static let mistral3 = "mlx-community/Ministral-3-3B-Instruct-2512-4bit"
public static let ministral3 = "mlx-community/Ministral-3-3B-Instruct-2512-4bit"

Copilot uses AI. Check for mistakes.
atdrendel added a commit that referenced this pull request Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants