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
This commit is contained in:
Taehee Jeong 2020-05-26 21:00:47 -07:00 committed by TensorFlower Gardener
parent 0a1449a983
commit ddb921bf77
3 changed files with 39 additions and 31 deletions

View File

@ -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

View File

@ -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]

View File

@ -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 {