From e04089e7c043e34e79bd077ca9a8c0b98d6c9ec7 Mon Sep 17 00:00:00 2001 From: Muxi Yan <mxyan@google.com> Date: Fri, 15 Jul 2016 16:35:20 -0700 Subject: [PATCH] Establish Objective C end-to-end core test with Cronet --- gRPC-Core.podspec | 2 + .../CoreCronetEnd2EndTests.m | 15 +----- .../tests/CoreCronetEnd2EndTests/h2_ssl.h | 46 +++++++++++++++---- src/objective-c/tests/Podfile | 3 +- .../tests/Tests.xcodeproj/project.pbxproj | 2 + 5 files changed, 43 insertions(+), 25 deletions(-) diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index 4811abf698..0678f3b3ae 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -101,6 +101,8 @@ Pod::Spec.new do |s| 'ALWAYS_SEARCH_USER_PATHS' => 'NO', } + s.default_subspecs = 'Interface', 'Implementation' + # Like many other C libraries, gRPC-Core has its public headers under `include/<libname>/` and its # sources and private headers in other directories outside `include/`. Cocoapods' linter doesn't # allow any header to be listed outside the `header_mappings_dir` (even though doing so works in diff --git a/src/objective-c/tests/CoreCronetEnd2EndTests/CoreCronetEnd2EndTests.m b/src/objective-c/tests/CoreCronetEnd2EndTests/CoreCronetEnd2EndTests.m index 1703b5265e..5d501602d9 100644 --- a/src/objective-c/tests/CoreCronetEnd2EndTests/CoreCronetEnd2EndTests.m +++ b/src/objective-c/tests/CoreCronetEnd2EndTests/CoreCronetEnd2EndTests.m @@ -32,28 +32,15 @@ */ #import <XCTest/XCTest.h> +#include "./h2_ssl.h" @interface CoreCronetEnd2EndTests : XCTestCase @end -int main(int argc, char **argv); - @implementation CoreCronetEnd2EndTests -- (void)setUp { - [super setUp]; - // Put setup code here. This method is called before the invocation of each test method in the class. -} - -- (void)tearDown { - // Put teardown code here. This method is called after the invocation of each test method in the class. - [super tearDown]; -} - - (void)testCoreCronetEnd2End { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. char *argv[] = {"h2_ssl"}; main(1, argv); } diff --git a/src/objective-c/tests/CoreCronetEnd2EndTests/h2_ssl.h b/src/objective-c/tests/CoreCronetEnd2EndTests/h2_ssl.h index a7f2bd724a..3aa0a05dda 100644 --- a/src/objective-c/tests/CoreCronetEnd2EndTests/h2_ssl.h +++ b/src/objective-c/tests/CoreCronetEnd2EndTests/h2_ssl.h @@ -1,13 +1,39 @@ -// -// h2_ssl.h -// Tests -// -// Created by Muxi Yan on 7/15/16. -// Copyright © 2016 gRPC. All rights reserved. -// +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ -#ifndef h2_ssl_h -#define h2_ssl_h +#ifndef GRPC_H2_SSL_H +#define GRPC_H2_SSL_H +int main(int argc, char **argv); -#endif /* h2_ssl_h */ +#endif /* GRPC_H2_SSL_H */ \ No newline at end of file diff --git a/src/objective-c/tests/Podfile b/src/objective-c/tests/Podfile index 546017c9f7..db11208a1b 100644 --- a/src/objective-c/tests/Podfile +++ b/src/objective-c/tests/Podfile @@ -27,6 +27,7 @@ GRPC_LOCAL_SRC = '../../..' pod 'gRPC-Core', :path => GRPC_LOCAL_SRC pod 'gRPC-RxLibrary', :path => GRPC_LOCAL_SRC pod 'gRPC-ProtoRPC', :path => GRPC_LOCAL_SRC + pod 'RemoteTest', :path => "RemoteTestClient" end end @@ -74,7 +75,7 @@ post_install do |installer| target.build_configurations.each do |config| config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'YES' end - if target.name == 'gRPC-Core' + if target.name == 'gRPC-Core' or target.name == 'gRPC-Core.default-Cronet-Interface-Cronet-Tests' target.build_configurations.each do |config| # TODO(zyc): Remove this setting after the issue is resolved # GPR_UNREACHABLE_CODE causes "Control may reach end of non-void diff --git a/src/objective-c/tests/Tests.xcodeproj/project.pbxproj b/src/objective-c/tests/Tests.xcodeproj/project.pbxproj index 4aa5b1bdbe..4161dcc43c 100644 --- a/src/objective-c/tests/Tests.xcodeproj/project.pbxproj +++ b/src/objective-c/tests/Tests.xcodeproj/project.pbxproj @@ -113,6 +113,7 @@ 5E8A5DA41D3840B4000F8BC4 /* CoreCronetEnd2EndTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoreCronetEnd2EndTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 5E8A5DA61D3840B4000F8BC4 /* CoreCronetEnd2EndTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CoreCronetEnd2EndTests.m; sourceTree = "<group>"; }; 5E8A5DAF1D3849F1000F8BC4 /* h2_ssl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = h2_ssl.m; sourceTree = "<group>"; }; + 5ED3173E1D397C7500C613BD /* h2_ssl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = h2_ssl.h; sourceTree = "<group>"; }; 6312AE4D1B1BF49B00341DEE /* GRPCClientTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GRPCClientTests.m; sourceTree = "<group>"; }; 63423F441B150A5F006CF63C /* AllTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AllTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 63423F501B151B77006CF63C /* RxLibraryUnitTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RxLibraryUnitTests.m; sourceTree = "<group>"; }; @@ -252,6 +253,7 @@ isa = PBXGroup; children = ( 5E8A5DAF1D3849F1000F8BC4 /* h2_ssl.m */, + 5ED3173E1D397C7500C613BD /* h2_ssl.h */, 5E8A5DA61D3840B4000F8BC4 /* CoreCronetEnd2EndTests.m */, ); path = CoreCronetEnd2EndTests; -- GitLab