From 61777707ca6aecf077d35c7439dd263342a36226 Mon Sep 17 00:00:00 2001 From: Te993 <3923106166@qq.com> Date: Fri, 10 Jan 2025 13:55:59 +0800 Subject: [PATCH] add swift test cases --- Package.swift | 2 +- swift/LlavaTests/LlavaTests.swift | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 swift/LlavaTests/LlavaTests.swift diff --git a/Package.swift b/Package.swift index d8d199c3c..be98b19bd 100644 --- a/Package.swift +++ b/Package.swift @@ -52,7 +52,7 @@ var omniVlmSources = [ ] var testSources = [ - "tests/LlavaTests/LlavaTests.swift" + "swift/LlavaTests/LlavaTests.swift" ] var resources: [Resource] = [] diff --git a/swift/LlavaTests/LlavaTests.swift b/swift/LlavaTests/LlavaTests.swift new file mode 100644 index 000000000..b408e2f14 --- /dev/null +++ b/swift/LlavaTests/LlavaTests.swift @@ -0,0 +1,27 @@ +import XCTest +@testable import omnivlm + +final class LlavaTests: XCTestCase { + func testOmniVlm() { + omnivlm_init("/Users/liute/Downloads/model-q4_0.gguf", + "/Users/liute/Downloads/projector-q4_0.gguf", + "vlm-81-instruct") + + let startTime = Date() + + if let cString = omnivlm_inference("describe the image", "/Users/liute/Downloads/cat.png") { + let res = String(cString: cString) + print("res: \(res)") + + let endTime = Date() + let inferenceTime = endTime.timeIntervalSince(startTime) + print("Inference time: \(inferenceTime) seconds") + + XCTAssertFalse(res.isEmpty, "res should not be null") + } else { + XCTFail("failed") + } + + omnivlm_free() + } +}