From ddb921bf7703ab04c8f16347484ced95b7f579ee Mon Sep 17 00:00:00 2001 From: Taehee Jeong Date: Tue, 26 May 2020 21:00:47 -0700 Subject: [PATCH] Move test_spec in TensorFlowLiteSwift.podspec.template into subspec, so that the Delegate tests are only done in corresponding delegates. PiperOrigin-RevId: 313321621 Change-Id: Ibf39faa449315b75e9b61a4b6a91fac14e454232 --- .../TensorFlowLiteSwift.podspec.template | 26 ++++++++++++------- .../swift/Tests/InterpreterTests.swift | 24 ++--------------- .../swift/Tests/MetalDelegateTests.swift | 20 ++++++++++++++ 3 files changed, 39 insertions(+), 31 deletions(-) diff --git a/tensorflow/lite/experimental/swift/TensorFlowLiteSwift.podspec.template b/tensorflow/lite/experimental/swift/TensorFlowLiteSwift.podspec.template index b87b4c97d67..1e414f1959f 100644 --- a/tensorflow/lite/experimental/swift/TensorFlowLiteSwift.podspec.template +++ b/tensorflow/lite/experimental/swift/TensorFlowLiteSwift.podspec.template @@ -26,7 +26,16 @@ Pod::Spec.new do |s| s.subspec 'Core' do |core| core.dependency 'TensorFlowLiteC', "#{s.version}" core.source_files = swift_dir + 'Sources/*.swift' - core.exclude_files = swift_dir + 'Sources/*Delegate.swift' + core.exclude_files = swift_dir + 'Sources/{CoreML,Metal}Delegate.swift' + + core.test_spec 'Tests' do |ts| + ts.source_files = swift_dir + 'Tests/*.swift' + ts.exclude_files = swift_dir + 'Tests/MetalDelegateTests.swift' + ts.resources = [ + tfl_dir + 'testdata/add.bin', + tfl_dir + 'testdata/add_quantized.bin', + ] + end end s.subspec 'CoreML' do |coreml| @@ -39,14 +48,13 @@ Pod::Spec.new do |s| metal.source_files = swift_dir + 'Sources/MetalDelegate.swift' metal.dependency 'TensorFlowLiteC/Metal', "#{s.version}" metal.dependency 'TensorFlowLiteSwift/Core', "#{s.version}" - end - - s.test_spec 'Tests' do |ts| - ts.source_files = swift_dir + 'Tests/*.swift' - ts.resources = [ - tfl_dir + 'testdata/add.bin', - tfl_dir + 'testdata/add_quantized.bin', - ] + metal.test_spec 'Tests' do |ts| + ts.source_files = swift_dir + 'Tests/{Interpreter,MetalDelegate}Tests.swift' + ts.resources = [ + tfl_dir + 'testdata/add.bin', + tfl_dir + 'testdata/add_quantized.bin', + ] + end end end diff --git a/tensorflow/lite/experimental/swift/Tests/InterpreterTests.swift b/tensorflow/lite/experimental/swift/Tests/InterpreterTests.swift index 09b001cb0cb..8d0140279af 100644 --- a/tensorflow/lite/experimental/swift/Tests/InterpreterTests.swift +++ b/tensorflow/lite/experimental/swift/Tests/InterpreterTests.swift @@ -50,26 +50,6 @@ class InterpreterTests: XCTestCase { XCTAssertNil(interpreter.delegates) } - func testInitWithDelegate() throws { - let metalDelegate = MetalDelegate() - let interpreter = try Interpreter(modelPath: AddQuantizedModel.path, delegates: [metalDelegate]) - XCTAssertEqual(interpreter.delegates?.count, 1) - XCTAssertNil(interpreter.options) - } - - func testInitWithOptionsAndDelegate() throws { - var options = Interpreter.Options() - options.threadCount = 1 - let metalDelegate = MetalDelegate() - let interpreter = try Interpreter( - modelPath: AddQuantizedModel.path, - options: options, - delegates: [metalDelegate] - ) - XCTAssertNotNil(interpreter.options) - XCTAssertEqual(interpreter.delegates?.count, 1) - } - func testInputTensorCount() { XCTAssertEqual(interpreter.inputTensorCount, AddModel.inputTensorCount) } @@ -268,7 +248,7 @@ class InterpreterOptionsTests: XCTestCase { // MARK: - Constants /// Values for the `add.bin` model. -private enum AddModel { +enum AddModel { static let info = (name: "add", extension: "bin") static let inputTensorCount = 1 static let outputTensorCount = 1 @@ -301,7 +281,7 @@ private enum AddModel { } /// Values for the `add_quantized.bin` model. -private enum AddQuantizedModel { +enum AddQuantizedModel { static let info = (name: "add_quantized", extension: "bin") static let inputOutputIndex = 0 static let shape: Tensor.Shape = [2] diff --git a/tensorflow/lite/experimental/swift/Tests/MetalDelegateTests.swift b/tensorflow/lite/experimental/swift/Tests/MetalDelegateTests.swift index 6daa429e2f0..8af43842d7a 100644 --- a/tensorflow/lite/experimental/swift/Tests/MetalDelegateTests.swift +++ b/tensorflow/lite/experimental/swift/Tests/MetalDelegateTests.swift @@ -32,6 +32,26 @@ class MetalDelegateTests: XCTestCase { XCTAssertTrue(delegate.options.allowsPrecisionLoss) XCTAssertEqual(delegate.options.waitType, .active) } + + func testInitInterpreterWithDelegate() throws { + let metalDelegate = MetalDelegate() + let interpreter = try Interpreter(modelPath: AddQuantizedModel.path, delegates: [metalDelegate]) + XCTAssertEqual(interpreter.delegates?.count, 1) + XCTAssertNil(interpreter.options) + } + + func testInitInterpreterWithOptionsAndDelegate() throws { + var options = Interpreter.Options() + options.threadCount = 1 + let metalDelegate = MetalDelegate() + let interpreter = try Interpreter( + modelPath: AddQuantizedModel.path, + options: options, + delegates: [metalDelegate] + ) + XCTAssertNotNil(interpreter.options) + XCTAssertEqual(interpreter.delegates?.count, 1) + } } class MetalDelegateOptionsTests: XCTestCase {