diff --git a/BUILD b/BUILD index 0fe53ba7fea..1159511776b 100644 --- a/BUILD +++ b/BUILD @@ -861,6 +861,22 @@ grpc_cc_library( ], ) +grpc_cc_library( + name = "grpc++_cronet_credentials", + srcs = [ + "src/cpp/client/cronet_credentials.cc", + ], + hdrs = [ + "include/grpcpp/security/cronet_credentials.h", + ], + language = "c++", + deps = [ + "grpc++_base", + "grpc_cronet_hdrs", + "grpc_public_hdrs", + ], +) + # This target pulls in a dependency on RE2 and should not be linked into grpc by default for binary-size reasons. grpc_cc_library( name = "grpc_authorization_provider", diff --git a/src/cpp/client/cronet_credentials.cc b/src/cpp/client/cronet_credentials.cc index a16309ad5f2..feba455278f 100644 --- a/src/cpp/client/cronet_credentials.cc +++ b/src/cpp/client/cronet_credentials.cc @@ -16,10 +16,18 @@ // // +#include +#include +#include +#include + +#include #include #include #include #include +#include +#include #include "src/cpp/client/create_channel_internal.h" diff --git a/src/objective-c/tests/BUILD b/src/objective-c/tests/BUILD index d5eea92d53a..fd4b9c8fede 100644 --- a/src/objective-c/tests/BUILD +++ b/src/objective-c/tests/BUILD @@ -193,6 +193,23 @@ grpc_objc_testing_library( ], ) +grpc_objc_testing_library( + name = "CppCronetTests-lib", + srcs = glob([ + "CppCronetTests/*.m", + "CppCronetTests/*.mm", + ]), + hdrs = glob([ + "CppCronetTests/*.h", + ]), + deps = [ + "//:grpc++_cronet_credentials", + "//src/objective-c:grpc_objc_client_core_cronet_testing", + "//src/proto/grpc/testing:echo_proto", + "//test/core/end2end:end2end_tests", + ], +) + grpc_objc_testing_library( name = "PerfTests-lib-Posix", srcs = [ @@ -263,6 +280,13 @@ grpc_objc_ios_unit_test( ], ) +grpc_objc_ios_unit_test( + name = "CppCronetTests", + deps = [ + "CppCronetTests-lib", + ], +) + grpc_objc_ios_unit_test( name = "PerfTestsPosix", deps = [ diff --git a/test/cpp/ios/CronetTests/CppCronetEnd2EndTests.mm b/src/objective-c/tests/CppCronetTests/CppCronetEnd2EndTests.mm similarity index 99% rename from test/cpp/ios/CronetTests/CppCronetEnd2EndTests.mm rename to src/objective-c/tests/CppCronetTests/CppCronetEnd2EndTests.mm index fa63cc5b65d..1890772bf23 100644 --- a/test/cpp/ios/CronetTests/CppCronetEnd2EndTests.mm +++ b/src/objective-c/tests/CppCronetTests/CppCronetEnd2EndTests.mm @@ -28,7 +28,7 @@ #import #import #import -#import +#import "src/proto/grpc/testing/echo.grpc.pb.h" #import "TestHelper.h" #import "test/core/end2end/data/ssl_test_data.h" diff --git a/test/cpp/ios/CronetTests/TestHelper.h b/src/objective-c/tests/CppCronetTests/TestHelper.h similarity index 100% rename from test/cpp/ios/CronetTests/TestHelper.h rename to src/objective-c/tests/CppCronetTests/TestHelper.h diff --git a/test/cpp/ios/CronetTests/TestHelper.mm b/src/objective-c/tests/CppCronetTests/TestHelper.mm similarity index 100% rename from test/cpp/ios/CronetTests/TestHelper.mm rename to src/objective-c/tests/CppCronetTests/TestHelper.mm diff --git a/test/cpp/ios/Info.plist b/test/cpp/ios/Info.plist deleted file mode 100644 index fbeeb96ba6c..00000000000 --- a/test/cpp/ios/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - gRPC.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/test/cpp/ios/Podfile b/test/cpp/ios/Podfile deleted file mode 100644 index d3d7ff1bebe..00000000000 --- a/test/cpp/ios/Podfile +++ /dev/null @@ -1,83 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' - -install! 'cocoapods', :deterministic_uuids => false - -# Location of gRPC's repo root relative to this file. -GRPC_LOCAL_SRC = '../../..' - - -target 'CronetTests' do - platform :ios, '9.0' - pod 'Protobuf', :path => "#{GRPC_LOCAL_SRC}/third_party/protobuf", :inhibit_warnings => true - - pod '!ProtoCompiler', :path => "#{GRPC_LOCAL_SRC}/src/objective-c" - pod '!ProtoCompiler-gRPCCppPlugin', :path => "#{GRPC_LOCAL_SRC}/src/objective-c" - pod 'Protobuf-C++', :podspec => "#{GRPC_LOCAL_SRC}/third_party/protobuf", :inhibit_warnings => true - - pod 'BoringSSL-GRPC', :podspec => "#{GRPC_LOCAL_SRC}/src/objective-c", :inhibit_warnings => true - - pod 'gRPC-Core', :path => GRPC_LOCAL_SRC - pod 'gRPC-C++/Cronet-Implementation', :path => GRPC_LOCAL_SRC - pod 'gRPC-C++/Protobuf', :path => GRPC_LOCAL_SRC - pod 'RemoteTestCpp', :path => "RemoteTestClientCpp", :inhibit_warnings => true - - pod 'gRPC-Core/Cronet-Implementation', :path => GRPC_LOCAL_SRC - pod 'CronetFramework', :podspec => "#{GRPC_LOCAL_SRC}/src/objective-c" - pod 'gRPC-Core/Tests', :path => GRPC_LOCAL_SRC, :inhibit_warnings => true -end - -pre_install do |installer| - # This is the RemoteTestCpp podspec object. - remote_test_cpp_spec = installer.pod_targets.find{|t| t.name.start_with?('RemoteTestCpp')}.root_spec - - # ios-cpp-test-cronet failes by chance because the RemoteTestCpp target cannot find Protobuf-C++. - remote_test_cpp_spec.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"$(inherited)" "$(PODS_ROOT)/header/Public/Protobuf-C++"', - } -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'YES' - end - - # CocoaPods creates duplicated library targets of gRPC-Core when the test targets include - # non-default subspecs of gRPC-Core. All of these library targets start with prefix 'gRPC-Core' - # and require the same error suppresion. - if target.name.start_with?('gRPC-Core') - 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 - # function" warning - config.build_settings['GCC_WARN_ABOUT_RETURN_TYPE'] = 'NO' - # Abseil isn't free from the following warning - config.build_settings['GCC_WARN_64_TO_32_BIT_CONVERSION'] = 'NO' - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) COCOAPODS=1 GRPC_CRONET_WITH_PACKET_COALESCING=1' - end - end - - # Activate Cronet for the dedicated build configuration 'Cronet', which will be used solely by - # the test target 'InteropTestsRemoteWithCronet' - # Activate GRPCCall+InternalTests functions for the dedicated build configuration 'Test', which will - # be used by all test targets using it. - if /gRPC-(mac|i)OS/.match(target.name) - target.build_configurations.each do |config| - if config.name == 'Cronet' - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) COCOAPODS=1 GRPC_COMPILE_WITH_CRONET=1 GRPC_TEST_OBJC=1' - elsif config.name == 'Test' - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited) COCOAPODS=1 GRPC_TEST_OBJC=1' - end - end - end - - # Enable NSAssert on gRPC - if /(gRPC|ProtoRPC|RxLibrary)-(mac|i)OS/.match(target.name) - target.build_configurations.each do |config| - if config.name != 'Release' - config.build_settings['ENABLE_NS_ASSERTIONS'] = 'YES' - end - end - end - end -end diff --git a/test/cpp/ios/RemoteTestClientCpp/RemoteTestCpp.podspec b/test/cpp/ios/RemoteTestClientCpp/RemoteTestCpp.podspec deleted file mode 100644 index 6197b85ef09..00000000000 --- a/test/cpp/ios/RemoteTestClientCpp/RemoteTestCpp.podspec +++ /dev/null @@ -1,45 +0,0 @@ -Pod::Spec.new do |s| - s.name = "RemoteTestCpp" - s.version = "0.0.1" - s.license = "Apache License, Version 2.0" - s.authors = { 'gRPC contributors' => 'grpc-io@googlegroups.com' } - s.homepage = "https://grpc.io/" - s.summary = "RemoteTest example" - s.source = { :git => 'https://github.com/grpc/grpc.git' } - - s.ios.deployment_target = '9.0' - s.osx.deployment_target = '10.10' - - # Run protoc with the C++ and gRPC plugins to generate protocol messages and gRPC clients. - s.dependency "!ProtoCompiler-gRPCCppPlugin" - s.dependency "Protobuf-C++" - s.dependency "gRPC-C++" - s.source_files = "src/proto/grpc/testing/**/*.pb.{h,cc}" - s.header_mappings_dir = "." - s.requires_arc = false - - repo_root = '../../../..' - bazel_exec_root = "#{repo_root}/bazel-bin" - - protoc = "#{bazel_exec_root}/external/com_google_protobuf/protoc" - well_known_types_dir = "#{repo_root}/third_party/protobuf/src" - plugin = "#{bazel_exec_root}/src/compiler/grpc_cpp_plugin" - proto_dir = "#{repo_root}/src/proto/grpc/testing" - - s.prepare_command = <<-CMD - #{protoc} \ - --plugin=protoc-gen-grpc=#{plugin} \ - --cpp_out=. \ - --grpc_out=. \ - -I #{repo_root} \ - -I #{well_known_types_dir} \ - #{proto_dir}/echo.proto #{proto_dir}/echo_messages.proto #{proto_dir}/simple_messages.proto #{proto_dir}/xds/v3/orca_load_report.proto - CMD - - s.pod_target_xcconfig = { - # This is needed by all pods that depend on Protobuf: - 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1 GPB_GRPC_FORWARD_DECLARE_MESSAGE_PROTO=1', - # This is needed by all pods that depend on gRPC-RxLibrary: - 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES', - } -end diff --git a/test/cpp/ios/Tests.xcodeproj/project.pbxproj b/test/cpp/ios/Tests.xcodeproj/project.pbxproj deleted file mode 100644 index ba277c80142..00000000000 --- a/test/cpp/ios/Tests.xcodeproj/project.pbxproj +++ /dev/null @@ -1,590 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - B02C351522E8E5FE00708B55 /* TestHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = B02C351322E8E5FE00708B55 /* TestHelper.mm */; }; - B0B151E622D7DFCA00C4BFE0 /* CppCronetEnd2EndTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = B0B151E522D7DFCA00C4BFE0 /* CppCronetEnd2EndTests.mm */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 00DA7762CD572056A66501B3 /* Pods-CronetTests.cronet.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CronetTests.cronet.xcconfig"; path = "Pods/Target Support Files/Pods-CronetTests/Pods-CronetTests.cronet.xcconfig"; sourceTree = ""; }; - 5E7F485922775B15006656AD /* CronetTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CronetTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 5E7F486622776AD8006656AD /* Cronet.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cronet.framework; path = Pods/CronetFramework/Cronet.framework; sourceTree = ""; }; - 635697D81B14FC11007A7283 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7B0DE0EC5EB517A302CD4698 /* Pods-CronetTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CronetTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-CronetTests/Pods-CronetTests.release.xcconfig"; sourceTree = ""; }; - B02C351322E8E5FE00708B55 /* TestHelper.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = TestHelper.mm; sourceTree = ""; }; - B02C351422E8E5FE00708B55 /* TestHelper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = TestHelper.h; sourceTree = ""; }; - B0B151E522D7DFCA00C4BFE0 /* CppCronetEnd2EndTests.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = CppCronetEnd2EndTests.mm; sourceTree = ""; }; - CDB4E9D8890B97B6FAF35A4F /* Pods-CronetTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CronetTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-CronetTests/Pods-CronetTests.debug.xcconfig"; sourceTree = ""; }; - ED8BB10304E81C38CAE911C2 /* Pods-CronetTests.test.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CronetTests.test.xcconfig"; path = "Pods/Target Support Files/Pods-CronetTests/Pods-CronetTests.test.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 5E7F485622775B15006656AD /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 136D535E19727099B941D7B1 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 5E7F486622776AD8006656AD /* Cronet.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 51E4650F34F854F41FF053B3 /* Pods */ = { - isa = PBXGroup; - children = ( - CDB4E9D8890B97B6FAF35A4F /* Pods-CronetTests.debug.xcconfig */, - ED8BB10304E81C38CAE911C2 /* Pods-CronetTests.test.xcconfig */, - 00DA7762CD572056A66501B3 /* Pods-CronetTests.cronet.xcconfig */, - 7B0DE0EC5EB517A302CD4698 /* Pods-CronetTests.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; - 5E7F485A22775B15006656AD /* CronetTests */ = { - isa = PBXGroup; - children = ( - B0B151E522D7DFCA00C4BFE0 /* CppCronetEnd2EndTests.mm */, - B02C351322E8E5FE00708B55 /* TestHelper.mm */, - B02C351422E8E5FE00708B55 /* TestHelper.h */, - ); - path = CronetTests; - sourceTree = ""; - }; - 635697BE1B14FC11007A7283 = { - isa = PBXGroup; - children = ( - 635697C91B14FC11007A7283 /* Tests */, - 5E7F485A22775B15006656AD /* CronetTests */, - 635697C81B14FC11007A7283 /* Products */, - 51E4650F34F854F41FF053B3 /* Pods */, - 136D535E19727099B941D7B1 /* Frameworks */, - ); - sourceTree = ""; - }; - 635697C81B14FC11007A7283 /* Products */ = { - isa = PBXGroup; - children = ( - 5E7F485922775B15006656AD /* CronetTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 635697C91B14FC11007A7283 /* Tests */ = { - isa = PBXGroup; - children = ( - 635697D71B14FC11007A7283 /* Supporting Files */, - ); - name = Tests; - sourceTree = SOURCE_ROOT; - }; - 635697D71B14FC11007A7283 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 635697D81B14FC11007A7283 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 5E7F485822775B15006656AD /* CronetTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 5E7F485E22775B15006656AD /* Build configuration list for PBXNativeTarget "CronetTests" */; - buildPhases = ( - CCAEC0F23E05489651A07D53 /* [CP] Check Pods Manifest.lock */, - 5E7F485522775B15006656AD /* Sources */, - 5E7F485622775B15006656AD /* Frameworks */, - 5E7F485722775B15006656AD /* Resources */, - 292EA42A76AC7933A37235FD /* [CP] Embed Pods Frameworks */, - 30AFD6F6FC40B9923632A866 /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = CronetTests; - productName = CronetTests; - productReference = 5E7F485922775B15006656AD /* CronetTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 635697BF1B14FC11007A7283 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0630; - ORGANIZATIONNAME = gRPC; - TargetAttributes = { - 5E7F485822775B15006656AD = { - CreatedOnToolsVersion = 10.1; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = 635697C21B14FC11007A7283 /* Build configuration list for PBXProject "Tests" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - English, - en, - ); - mainGroup = 635697BE1B14FC11007A7283; - productRefGroup = 635697C81B14FC11007A7283 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 5E7F485822775B15006656AD /* CronetTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 5E7F485722775B15006656AD /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 292EA42A76AC7933A37235FD /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-CronetTests/Pods-CronetTests-frameworks.sh", - "${PODS_ROOT}/CronetFramework/Cronet.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Cronet.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CronetTests/Pods-CronetTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 30AFD6F6FC40B9923632A866 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-CronetTests/Pods-CronetTests-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-C++/gRPCCertificates-Cpp.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CronetTests/Pods-CronetTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - CCAEC0F23E05489651A07D53 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-CronetTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 5E7F485522775B15006656AD /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B0B151E622D7DFCA00C4BFE0 /* CppCronetEnd2EndTests.mm in Sources */, - B02C351522E8E5FE00708B55 /* TestHelper.mm in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 5E1228981E4D400F00E8504F /* Test */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - "GRPC_TEST_OBJC=1", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Test; - }; - 5E7F485F22775B15006656AD /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CDB4E9D8890B97B6FAF35A4F /* Pods-CronetTests.debug.xcconfig */; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Pods/CronetFramework", - ); - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_INHIBIT_ALL_WARNINGS = YES; - INFOPLIST_FILE = Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.grpc.CronetTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = ../../..; - }; - name = Debug; - }; - 5E7F486022775B15006656AD /* Test */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = ED8BB10304E81C38CAE911C2 /* Pods-CronetTests.test.xcconfig */; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Pods/CronetFramework", - ); - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_INHIBIT_ALL_WARNINGS = YES; - INFOPLIST_FILE = Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.grpc.CronetTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = ../../..; - }; - name = Test; - }; - 5E7F486122775B15006656AD /* Cronet */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 00DA7762CD572056A66501B3 /* Pods-CronetTests.cronet.xcconfig */; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Pods/CronetFramework", - ); - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_INHIBIT_ALL_WARNINGS = YES; - INFOPLIST_FILE = Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.grpc.CronetTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = ../../..; - }; - name = Cronet; - }; - 5E7F486222775B15006656AD /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7B0DE0EC5EB517A302CD4698 /* Pods-CronetTests.release.xcconfig */; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Developer"; - CODE_SIGN_STYLE = Automatic; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Pods/CronetFramework", - ); - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_WARN_INHIBIT_ALL_WARNINGS = YES; - INFOPLIST_FILE = Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.grpc.CronetTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = ../../..; - }; - name = Release; - }; - 5EC3C7A01D4FC18C000330E2 /* Cronet */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - "GRPC_TEST_OBJC=1", - "GRPC_COMPILE_WITH_CRONET=1", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Cronet; - }; - 635697D91B14FC11007A7283 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 635697DA1B14FC11007A7283 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_TREAT_WARNINGS_AS_ERRORS = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 5E7F485E22775B15006656AD /* Build configuration list for PBXNativeTarget "CronetTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 5E7F485F22775B15006656AD /* Debug */, - 5E7F486022775B15006656AD /* Test */, - 5E7F486122775B15006656AD /* Cronet */, - 5E7F486222775B15006656AD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 635697C21B14FC11007A7283 /* Build configuration list for PBXProject "Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 635697D91B14FC11007A7283 /* Debug */, - 5E1228981E4D400F00E8504F /* Test */, - 5EC3C7A01D4FC18C000330E2 /* Cronet */, - 635697DA1B14FC11007A7283 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 635697BF1B14FC11007A7283 /* Project object */; -} diff --git a/test/cpp/ios/Tests.xcodeproj/xcshareddata/xcschemes/CronetTests.xcscheme b/test/cpp/ios/Tests.xcodeproj/xcshareddata/xcschemes/CronetTests.xcscheme deleted file mode 100644 index 0156c906971..00000000000 --- a/test/cpp/ios/Tests.xcodeproj/xcshareddata/xcschemes/CronetTests.xcscheme +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/cpp/ios/build_and_run_tests.sh b/test/cpp/ios/build_and_run_tests.sh deleted file mode 100755 index 0c84d2436ac..00000000000 --- a/test/cpp/ios/build_and_run_tests.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -# Copyright 2019 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Don't run this script standalone. Instead, run from the repository root: -# ./tools/run_tests/run_tests.py -l c++ - -set -ex -set -o pipefail # preserve xcodebuild exit code when piping output - -cd "$(dirname "$0")" - -time ./build_tests.sh - -XCODEBUILD_FILTER_OUTPUT_SCRIPT="../../../src/objective-c/tests/xcodebuild_filter_output.sh" - -XCODEBUILD_FLAGS=" - IPHONEOS_DEPLOYMENT_TARGET=10 -" - -XCODEBUILD_DESTINATION="platform=iOS Simulator,name=iPhone 11" - -time xcodebuild \ - -workspace Tests.xcworkspace \ - -scheme CronetTests \ - -destination "${XCODEBUILD_DESTINATION}" \ - test \ - "${XCODEBUILD_FLAGS}" \ - | "${XCODEBUILD_FILTER_OUTPUT_SCRIPT}" diff --git a/test/cpp/ios/build_tests.sh b/test/cpp/ios/build_tests.sh deleted file mode 100755 index 27c103663c5..00000000000 --- a/test/cpp/ios/build_tests.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -# Copyright 2019 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Don't run this script standalone. Instead, run from the repository root: -# ./tools/run_tests/run_tests.py -l objc - -set -ex - -# CocoaPods requires the terminal to be using UTF-8 encoding. -export LANG=en_US.UTF-8 - -cd "$(dirname "$0")" - -# Check that required tools are available. -hash pod 2>/dev/null || { echo >&2 "Cocoapods needs to be installed."; exit 1; } -hash xcodebuild 2>/dev/null || { - echo >&2 "XCode command-line tools need to be installed." - exit 1 -} - -# clean the directory -rm -rf Pods -rm -rf Tests.xcworkspace -rm -f Podfile.lock -rm -rf RemoteTestClientCpp/src - -time pod install - -# ios-cpp-test-cronet flakes sometimes because of missing files in Protobuf-C++, -# add some log to help find out the root cause. -# TODO(yulinliang): Delete it after solving the issue. -if [ -d "./Pods/Headers/Public/Protobuf-C++/google/protobuf" ] -then - echo "Protobuf-C++/google/protobuf/ has been imported." - number_of_files=$(find Pods/Headers/Public/Protobuf-C++/google/protobuf -name "*.h" | wc -l) - echo "The number of header files in Pods/Headers/Public/Protobuf-C++/google/protobuf/ is $number_of_files" -else - echo "Error: Protobuf-C++/google/protobuf/ hasn't been imported." -fi diff --git a/tools/internal_ci/macos/grpc_objc_bazel_test.sh b/tools/internal_ci/macos/grpc_objc_bazel_test.sh index 0ed702ef65c..a9b9e1c066b 100644 --- a/tools/internal_ci/macos/grpc_objc_bazel_test.sh +++ b/tools/internal_ci/macos/grpc_objc_bazel_test.sh @@ -56,6 +56,7 @@ TEST_TARGETS=( //src/objective-c/tests:InteropTestsRemote //src/objective-c/tests:MacTests //src/objective-c/tests:UnitTests + //src/objective-c/tests:CppCronetTests //src/objective-c/tests:CronetTests //src/objective-c/tests:PerfTests //src/objective-c/tests:CFStreamTests diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 490e0c5a14a..cc4a6e3eabe 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -1014,14 +1014,6 @@ class ObjCLanguage(object): shortname='ios-test-cfstream-tests', cpu_cost=1e6, environ=_FORCE_ENVIRON_FOR_WRAPPERS)) - # TODO(jtattermusch): Create bazel target for the test (how does one add the cronet dependency in bazel?) - # TODO(jtattermusch): move the test out of the test/cpp/ios directory? - out.append( - self.config.job_spec(['test/cpp/ios/build_and_run_tests.sh'], - timeout_seconds=60 * 60, - shortname='ios-cpp-test-cronet', - cpu_cost=1e6, - environ=_FORCE_ENVIRON_FOR_WRAPPERS)) return sorted(out) def pre_build_steps(self):