1/* 2 * 3 * Copyright 2019 gRPC authors. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 */ 18 19#import <GRPCClient/GRPCCall+Tests.h> 20#import <GRPCClient/GRPCTransport.h> 21#import <GRPCClient/internal_testing/GRPCCall+InternalTests.h> 22 23#import "PerfTests.h" 24 25// The server address is derived from preprocessor macro, which is 26// in turn derived from environment variable of the same name. 27#define NSStringize_helper(x) #x 28#define NSStringize(x) @NSStringize_helper(x) 29static NSString *const kLocalCleartextHost = NSStringize(HOST_PORT_LOCAL); 30 31extern const char *kCFStreamVarName; 32 33// The Protocol Buffers encoding overhead of local interop server. Acquired 34// by experiment. Adjust this when server's proto file changes. 35static int32_t kLocalInteropServerOverhead = 10; 36 37/** Tests in PerfTests.m, sending the RPCs to a local cleartext server. */ 38@interface PerfTestsNoCFStreamCleartext : PerfTests 39@end 40 41@implementation PerfTestsNoCFStreamCleartext 42 43+ (NSString *)host { 44 return kLocalCleartextHost; 45} 46 47+ (NSString *)PEMRootCertificates { 48 return nil; 49} 50 51+ (NSString *)hostNameOverride { 52 return nil; 53} 54 55- (int32_t)encodingOverhead { 56 return kLocalInteropServerOverhead; // bytes 57} 58 59+ (void)setUp { 60 setenv(kCFStreamVarName, "0", 1); 61} 62 63- (void)setUp { 64 [super setUp]; 65 66 // Register test server as non-SSL. 67 [GRPCCall useInsecureConnectionsForHost:kLocalCleartextHost]; 68} 69 70+ (GRPCTransportID)transport { 71 return GRPCDefaultTransportImplList.core_insecure; 72} 73 74@end 75