From 2d19b7546348e3155616624542acd610f0776fbc Mon Sep 17 00:00:00 2001 From: rachguo Date: Thu, 20 Jul 2023 11:30:22 -0700 Subject: [PATCH] remove test/ docs/ etc. --- Package.swift | 2 +- objectivec/docs/jazzy_config.yaml | 13 - objectivec/docs/main_page.md | 5 - objectivec/docs/readme.md | 17 -- objectivec/test/assert_arc_enabled.mm | 4 - objectivec/test/assertion_utils.h | 32 --- objectivec/test/ort_env_test.mm | 30 --- objectivec/test/ort_session_test.mm | 243 ------------------ objectivec/test/ort_value_test.mm | 79 ------ objectivec/test/testdata/gen_models.sh | 12 - objectivec/test/testdata/single_add.basic.ort | Bin 1296 -> 0 bytes objectivec/test/testdata/single_add.onnx | Bin 93 -> 0 bytes objectivec/test/testdata/single_add_gen.py | 19 -- 13 files changed, 1 insertion(+), 455 deletions(-) delete mode 100644 objectivec/docs/jazzy_config.yaml delete mode 100644 objectivec/docs/main_page.md delete mode 100644 objectivec/docs/readme.md delete mode 100644 objectivec/test/assert_arc_enabled.mm delete mode 100644 objectivec/test/assertion_utils.h delete mode 100644 objectivec/test/ort_env_test.mm delete mode 100644 objectivec/test/ort_session_test.mm delete mode 100644 objectivec/test/ort_value_test.mm delete mode 100755 objectivec/test/testdata/gen_models.sh delete mode 100644 objectivec/test/testdata/single_add.basic.ort delete mode 100644 objectivec/test/testdata/single_add.onnx delete mode 100644 objectivec/test/testdata/single_add_gen.py diff --git a/Package.swift b/Package.swift index 167051f..6d09521 100644 --- a/Package.swift +++ b/Package.swift @@ -31,7 +31,7 @@ let package = Package( .target(name: "OnnxRuntimeBindings", dependencies: ["onnxruntime"], path: "objectivec", - exclude: ["test", "docs", "ReadMe.md", "format_objc.sh"], + exclude: ["ReadMe.md", "format_objc.sh"], cxxSettings: [ .define("SPM_BUILD"), .unsafeFlags(["-std=c++17", diff --git a/objectivec/docs/jazzy_config.yaml b/objectivec/docs/jazzy_config.yaml deleted file mode 100644 index 676f89d..0000000 --- a/objectivec/docs/jazzy_config.yaml +++ /dev/null @@ -1,13 +0,0 @@ -module: ONNX Runtime Objective-C API -author: ONNX Runtime Authors -author_url: https://www.onnxruntime.ai -github_url: https://github.com/microsoft/onnxruntime - -objc: true -umbrella_header: ../include/onnxruntime.h -framework_root: .. - -readme: ./main_page.md - -hide_documentation_coverage: true -undocumented_text: "" diff --git a/objectivec/docs/main_page.md b/objectivec/docs/main_page.md deleted file mode 100644 index fdc7c80..0000000 --- a/objectivec/docs/main_page.md +++ /dev/null @@ -1,5 +0,0 @@ -# ONNX Runtime Objective-C API - -ONNX Runtime provides an Objective-C API. - -It can be used from Objective-C/C++ or Swift with a bridging header. diff --git a/objectivec/docs/readme.md b/objectivec/docs/readme.md deleted file mode 100644 index 5697480..0000000 --- a/objectivec/docs/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -# Objective-C API Documentation - -The API should be documented with comments in the [public header files](../include). - -## Documentation Generation - -The [Jazzy](https://github.com/realm/jazzy) tool is used to generate documentation from the code. - -To generate documentation, from the repo root, run: - -```bash -jazzy --config objectivec/docs/jazzy_config.yaml --output -``` - -The generated documentation website files will be in ``. - -[main_page.md](./main_page.md) contains content for the main page of the generated documentation website. diff --git a/objectivec/test/assert_arc_enabled.mm b/objectivec/test/assert_arc_enabled.mm deleted file mode 100644 index 9aa0bad..0000000 --- a/objectivec/test/assert_arc_enabled.mm +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -static_assert(__has_feature(objc_arc), "Objective-C ARC must be enabled."); diff --git a/objectivec/test/assertion_utils.h b/objectivec/test/assertion_utils.h deleted file mode 100644 index f2b73e6..0000000 --- a/objectivec/test/assertion_utils.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -#import - -NS_ASSUME_NONNULL_BEGIN - -#define ORTAssertNullableResultSuccessful(result, error) \ - do { \ - XCTAssertNotNil(result, @"Expected non-nil result but got nil. Error: %@", error); \ - XCTAssertNil(error); \ - } while (0) - -#define ORTAssertBoolResultSuccessful(result, error) \ - do { \ - XCTAssertTrue(result, @"Expected true result but got false. Error: %@", error); \ - XCTAssertNil(error); \ - } while (0) - -#define ORTAssertNullableResultUnsuccessful(result, error) \ - do { \ - XCTAssertNil(result); \ - XCTAssertNotNil(error); \ - } while (0) - -#define ORTAssertBoolResultUnsuccessful(result, error) \ - do { \ - XCTAssertFalse(result); \ - XCTAssertNotNil(error); \ - } while (0) - -NS_ASSUME_NONNULL_END diff --git a/objectivec/test/ort_env_test.mm b/objectivec/test/ort_env_test.mm deleted file mode 100644 index 420f55f..0000000 --- a/objectivec/test/ort_env_test.mm +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -#import - -#import "ort_env.h" - -#import "test/assertion_utils.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface ORTEnvTest : XCTestCase -@end - -@implementation ORTEnvTest -- (void)testGetOrtVersion { - NSString* ver = ORTVersion(); - XCTAssertNotNil(ver); -} - -- (void)testInitOk { - NSError* err = nil; - ORTEnv* env = [[ORTEnv alloc] initWithLoggingLevel:ORTLoggingLevelWarning - error:&err]; - ORTAssertNullableResultSuccessful(env, err); -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/objectivec/test/ort_session_test.mm b/objectivec/test/ort_session_test.mm deleted file mode 100644 index 790ad1c..0000000 --- a/objectivec/test/ort_session_test.mm +++ /dev/null @@ -1,243 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -#import - -#import "ort_coreml_execution_provider.h" -#import "ort_xnnpack_execution_provider.h" -#import "ort_env.h" -#import "ort_session.h" -#import "ort_value.h" - -#import "test/assertion_utils.h" - -#include - -NS_ASSUME_NONNULL_BEGIN - -@interface ORTSessionTest : XCTestCase - -@property(readonly, nullable) ORTEnv* ortEnv; - -@end - -@implementation ORTSessionTest - -- (void)setUp { - [super setUp]; - - self.continueAfterFailure = NO; - - NSError* err = nil; - _ortEnv = [[ORTEnv alloc] initWithLoggingLevel:ORTLoggingLevelWarning - error:&err]; - ORTAssertNullableResultSuccessful(_ortEnv, err); -} - -- (void)tearDown { - _ortEnv = nil; - - [super tearDown]; -} - -// model with an Add op -// inputs: A, B -// output: C = A + B -+ (NSString*)getAddModelPath { - NSBundle* bundle = [NSBundle bundleForClass:[ORTSessionTest class]]; - NSString* path = [bundle pathForResource:@"single_add.basic" - ofType:@"ort"]; - return path; -} - -+ (NSMutableData*)dataWithScalarFloat:(float)value { - NSMutableData* data = [[NSMutableData alloc] initWithBytes:&value length:sizeof(value)]; - return data; -} - -+ (ORTValue*)ortValueWithScalarFloatData:(NSMutableData*)data { - NSArray* shape = @[ @1 ]; - NSError* err = nil; - ORTValue* ortValue = [[ORTValue alloc] initWithTensorData:data - elementType:ORTTensorElementDataTypeFloat - shape:shape - error:&err]; - ORTAssertNullableResultSuccessful(ortValue, err); - return ortValue; -} - -+ (ORTSessionOptions*)makeSessionOptions { - NSError* err = nil; - ORTSessionOptions* sessionOptions = [[ORTSessionOptions alloc] initWithError:&err]; - ORTAssertNullableResultSuccessful(sessionOptions, err); - return sessionOptions; -} - -+ (ORTRunOptions*)makeRunOptions { - NSError* err = nil; - ORTRunOptions* runOptions = [[ORTRunOptions alloc] initWithError:&err]; - ORTAssertNullableResultSuccessful(runOptions, err); - return runOptions; -} - -- (void)testInitAndRunWithPreallocatedOutputOk { - NSMutableData* aData = [ORTSessionTest dataWithScalarFloat:1.0f]; - NSMutableData* bData = [ORTSessionTest dataWithScalarFloat:2.0f]; - NSMutableData* cData = [ORTSessionTest dataWithScalarFloat:0.0f]; - - ORTValue* a = [ORTSessionTest ortValueWithScalarFloatData:aData]; - ORTValue* b = [ORTSessionTest ortValueWithScalarFloatData:bData]; - ORTValue* c = [ORTSessionTest ortValueWithScalarFloatData:cData]; - - NSError* err = nil; - ORTSession* session = [[ORTSession alloc] initWithEnv:self.ortEnv - modelPath:[ORTSessionTest getAddModelPath] - sessionOptions:[ORTSessionTest makeSessionOptions] - error:&err]; - ORTAssertNullableResultSuccessful(session, err); - - BOOL runResult = [session runWithInputs:@{@"A" : a, @"B" : b} - outputs:@{@"C" : c} - runOptions:[ORTSessionTest makeRunOptions] - error:&err]; - ORTAssertBoolResultSuccessful(runResult, err); - - const float cExpected = 3.0f; - float cActual; - memcpy(&cActual, cData.bytes, sizeof(float)); - XCTAssertEqual(cActual, cExpected); -} - -- (void)testInitAndRunOk { - NSMutableData* aData = [ORTSessionTest dataWithScalarFloat:1.0f]; - NSMutableData* bData = [ORTSessionTest dataWithScalarFloat:2.0f]; - - ORTValue* a = [ORTSessionTest ortValueWithScalarFloatData:aData]; - ORTValue* b = [ORTSessionTest ortValueWithScalarFloatData:bData]; - - NSError* err = nil; - ORTSession* session = [[ORTSession alloc] initWithEnv:self.ortEnv - modelPath:[ORTSessionTest getAddModelPath] - sessionOptions:[ORTSessionTest makeSessionOptions] - error:&err]; - ORTAssertNullableResultSuccessful(session, err); - - NSDictionary* outputs = - [session runWithInputs:@{@"A" : a, @"B" : b} - outputNames:[NSSet setWithArray:@[ @"C" ]] - runOptions:[ORTSessionTest makeRunOptions] - error:&err]; - ORTAssertNullableResultSuccessful(outputs, err); - - ORTValue* cOutput = outputs[@"C"]; - XCTAssertNotNil(cOutput); - - NSData* cData = [cOutput tensorDataWithError:&err]; - ORTAssertNullableResultSuccessful(cData, err); - - const float cExpected = 3.0f; - float cActual; - memcpy(&cActual, cData.bytes, sizeof(float)); - XCTAssertEqual(cActual, cExpected); -} - -- (void)testGetNamesOk { - NSError* err = nil; - ORTSession* session = [[ORTSession alloc] initWithEnv:self.ortEnv - modelPath:[ORTSessionTest getAddModelPath] - sessionOptions:[ORTSessionTest makeSessionOptions] - error:&err]; - ORTAssertNullableResultSuccessful(session, err); - - NSArray* inputNames = [session inputNamesWithError:&err]; - ORTAssertNullableResultSuccessful(inputNames, err); - XCTAssertEqualObjects(inputNames, (@[ @"A", @"B" ])); - - NSArray* overridableInitializerNames = [session overridableInitializerNamesWithError:&err]; - ORTAssertNullableResultSuccessful(overridableInitializerNames, err); - XCTAssertEqualObjects(overridableInitializerNames, (@[])); - - NSArray* outputNames = [session outputNamesWithError:&err]; - ORTAssertNullableResultSuccessful(outputNames, err); - XCTAssertEqualObjects(outputNames, (@[ @"C" ])); -} - -- (void)testInitFailsWithInvalidPath { - NSString* invalidModelPath = @"invalid/path/to/model.ort"; - NSError* err = nil; - ORTSession* session = [[ORTSession alloc] initWithEnv:self.ortEnv - modelPath:invalidModelPath - sessionOptions:[ORTSessionTest makeSessionOptions] - error:&err]; - ORTAssertNullableResultUnsuccessful(session, err); -} - -- (void)testRunFailsWithInvalidInput { - NSMutableData* dData = [ORTSessionTest dataWithScalarFloat:1.0f]; - NSMutableData* cData = [ORTSessionTest dataWithScalarFloat:0.0f]; - - ORTValue* d = [ORTSessionTest ortValueWithScalarFloatData:dData]; - ORTValue* c = [ORTSessionTest ortValueWithScalarFloatData:cData]; - - NSError* err = nil; - ORTSession* session = [[ORTSession alloc] initWithEnv:self.ortEnv - modelPath:[ORTSessionTest getAddModelPath] - sessionOptions:[ORTSessionTest makeSessionOptions] - error:&err]; - ORTAssertNullableResultSuccessful(session, err); - - BOOL runResult = [session runWithInputs:@{@"D" : d} - outputs:@{@"C" : c} - runOptions:[ORTSessionTest makeRunOptions] - error:&err]; - ORTAssertBoolResultUnsuccessful(runResult, err); -} - -- (void)testAppendCoreMLEP { - NSError* err = nil; - ORTSessionOptions* sessionOptions = [ORTSessionTest makeSessionOptions]; - ORTCoreMLExecutionProviderOptions* coreMLOptions = [[ORTCoreMLExecutionProviderOptions alloc] init]; - coreMLOptions.enableOnSubgraphs = YES; // set an arbitrary option - - BOOL appendResult = [sessionOptions appendCoreMLExecutionProviderWithOptions:coreMLOptions - error:&err]; - - if (!ORTIsCoreMLExecutionProviderAvailable()) { - ORTAssertBoolResultUnsuccessful(appendResult, err); - return; - } - - ORTAssertBoolResultSuccessful(appendResult, err); - - ORTSession* session = [[ORTSession alloc] initWithEnv:self.ortEnv - modelPath:[ORTSessionTest getAddModelPath] - sessionOptions:sessionOptions - error:&err]; - ORTAssertNullableResultSuccessful(session, err); -} - -- (void)testAppendXnnpackEP { - NSError* err = nil; - ORTSessionOptions* sessionOptions = [ORTSessionTest makeSessionOptions]; - ORTXnnpackExecutionProviderOptions* XnnpackOptions = [[ORTXnnpackExecutionProviderOptions alloc] init]; - XnnpackOptions.intra_op_num_threads = 2; - - BOOL appendResult = [sessionOptions appendXnnpackExecutionProviderWithOptions:XnnpackOptions - error:&err]; - // Without xnnpack EP in building also can pass the test - NSString* err_msg = [err localizedDescription]; - if (!appendResult && [err_msg containsString:@"XNNPACK execution provider is not supported in this build. "]) { - return; - } - - ORTAssertBoolResultSuccessful(appendResult, err); - - ORTSession* session = [[ORTSession alloc] initWithEnv:self.ortEnv - modelPath:[ORTSessionTest getAddModelPath] - sessionOptions:sessionOptions - error:&err]; - ORTAssertNullableResultSuccessful(session, err); -} -@end - -NS_ASSUME_NONNULL_END diff --git a/objectivec/test/ort_value_test.mm b/objectivec/test/ort_value_test.mm deleted file mode 100644 index 734ad39..0000000 --- a/objectivec/test/ort_value_test.mm +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -#import - -#import "ort_value.h" - -#include - -#import "test/assertion_utils.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface ORTValueTest : XCTestCase -@end - -@implementation ORTValueTest - -- (void)setUp { - [super setUp]; - - self.continueAfterFailure = NO; -} - -- (void)testInitTensorOk { - int32_t value = 42; - NSMutableData* data = [[NSMutableData alloc] initWithBytes:&value - length:sizeof(int32_t)]; - NSArray* shape = @[ @1 ]; - - const ORTTensorElementDataType elementType = ORTTensorElementDataTypeInt32; - - NSError* err = nil; - ORTValue* ortValue = [[ORTValue alloc] initWithTensorData:data - elementType:elementType - shape:shape - error:&err]; - ORTAssertNullableResultSuccessful(ortValue, err); - - auto checkTensorInfo = [&](ORTTensorTypeAndShapeInfo* tensorInfo) { - XCTAssertEqual(tensorInfo.elementType, elementType); - XCTAssertEqualObjects(tensorInfo.shape, shape); - }; - - ORTValueTypeInfo* typeInfo = [ortValue typeInfoWithError:&err]; - ORTAssertNullableResultSuccessful(typeInfo, err); - XCTAssertEqual(typeInfo.type, ORTValueTypeTensor); - XCTAssertNotNil(typeInfo.tensorTypeAndShapeInfo); - checkTensorInfo(typeInfo.tensorTypeAndShapeInfo); - - ORTTensorTypeAndShapeInfo* tensorInfo = [ortValue tensorTypeAndShapeInfoWithError:&err]; - ORTAssertNullableResultSuccessful(tensorInfo, err); - checkTensorInfo(tensorInfo); - - NSData* actualData = [ortValue tensorDataWithError:&err]; - ORTAssertNullableResultSuccessful(actualData, err); - XCTAssertEqual(actualData.length, sizeof(int32_t)); - int32_t actualValue; - memcpy(&actualValue, actualData.bytes, sizeof(int32_t)); - XCTAssertEqual(actualValue, value); -} - -- (void)testInitTensorFailsWithDataSmallerThanShape { - std::vector values{1, 2, 3, 4}; - NSMutableData* data = [[NSMutableData alloc] initWithBytes:values.data() - length:values.size() * sizeof(int32_t)]; - NSArray* shape = @[ @2, @3 ]; // too large - - NSError* err = nil; - ORTValue* ortValue = [[ORTValue alloc] initWithTensorData:data - elementType:ORTTensorElementDataTypeInt32 - shape:shape - error:&err]; - ORTAssertNullableResultUnsuccessful(ortValue, err); -} - -@end - -NS_ASSUME_NONNULL_END diff --git a/objectivec/test/testdata/gen_models.sh b/objectivec/test/testdata/gen_models.sh deleted file mode 100755 index 0a58ca8..0000000 --- a/objectivec/test/testdata/gen_models.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -e - -# Get directory this script is in -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -cd ${DIR} - -python3 ./single_add_gen.py - -ORT_CONVERT_ONNX_MODELS_TO_ORT_OPTIMIZATION_LEVEL=basic python3 -m onnxruntime.tools.convert_onnx_models_to_ort --optimization_style=Fixed . diff --git a/objectivec/test/testdata/single_add.basic.ort b/objectivec/test/testdata/single_add.basic.ort deleted file mode 100644 index f622784b35366ea8f0c33ccbdb513b5d6f7df7c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1296 zcmaJ=L2DCH5T59w+gK&qP=ZMC5X6H#a!@S6gSGW228qz?vUxTO&D*eD(+Gkdq9fHT2w9Z|5JC$eX^YH( zlR%{XYq5Zk8bCRK-6(YKQNIB6HiyIBeUTjJWFiO82f%rt3)}>_&xlYiY8;GOSmb7$ z&l6~_CL&tWWB~H``e>1B;n$lD6g595VDqaf9Yo#GIDe}^8Mfg=^Z{}(59JBa!5-}v zK)DTw)V0wS&J3ry_RPrw0VxVu)->>nX{L6ljZwugT zn6K>BBj`Na1Xh4|F#13TU_ZV9N5By10*w3i+xH!++T=^KT{C%=r&&BQQEna2_~=2S zi*eV1I31gD5@+dt`XV=WHnCYUwl0tMa9HtY5MwR_r($65RQ%|}{~$_C>fFpsGCNJ| zfyuKdaf#c-k-R_S&w5M$s^44qU1dPA$jzB){(Y0U+-5G?Gj4Pc)8#w-`Bu5;%UPDZ nW85dyzl#&~J%&)fHONzUGA<@%sQ;t)_p@e%kMWx4xd-D9DJ`oI diff --git a/objectivec/test/testdata/single_add.onnx b/objectivec/test/testdata/single_add.onnx deleted file mode 100644 index 82e8fe669e0d84b6111f678b0742a552d820269b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93 zcmd;Jw+iMG=3;c@VssK>be3XvOi57!5kj27nR)3ssX%5FKTuwXi;IJUQHX_$iGvX& U;DjuY1Qc*a7I0$WVi4c~0E&7GKL7v# diff --git a/objectivec/test/testdata/single_add_gen.py b/objectivec/test/testdata/single_add_gen.py deleted file mode 100644 index 15b4372..0000000 --- a/objectivec/test/testdata/single_add_gen.py +++ /dev/null @@ -1,19 +0,0 @@ -import onnx -from onnx import TensorProto, helper - -graph = helper.make_graph( - [ # nodes - helper.make_node("Add", ["A", "B"], ["C"], "Add"), - ], - "SingleAdd", # name - [ # inputs - helper.make_tensor_value_info("A", TensorProto.FLOAT, [1]), - helper.make_tensor_value_info("B", TensorProto.FLOAT, [1]), - ], - [ # outputs - helper.make_tensor_value_info("C", TensorProto.FLOAT, [1]), - ], -) - -model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 12)]) -onnx.save(model, r"single_add.onnx")