From 0960875b064428e9ed8588666d6b11e79cc025e5 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 22 Jun 2015 14:32:31 -0700 Subject: [PATCH 1/7] Remove spammy line (this is obfuscating testing logs) --- test/cpp/qps/client_async.cc | 6 ------ 1 file changed, 6 deletions(-) diff --git a/test/cpp/qps/client_async.cc b/test/cpp/qps/client_async.cc index 1b7a8d26b2c..d120a8aaec8 100644 --- a/test/cpp/qps/client_async.cc +++ b/test/cpp/qps/client_async.cc @@ -234,12 +234,6 @@ class AsyncClient : public Client { GPR_ASSERT(false); break; } - if ((closed_loop_ || !rpc_deadlines_[thread_idx].empty()) && - grpc_time_source::now() > deadline) { - // we have missed some 1-second deadline, which is worth noting - gpr_log(GPR_INFO, "Missed an RPC deadline"); - // Don't give up, as there might be some truly heavy tails - } if (got_event) { ClientRpcContext* ctx = ClientRpcContext::detag(got_tag); if (ctx->RunNextState(ok, histogram) == false) { From 7b1a0ca2dd14fbbb99923b5c68534d890c3bb8f9 Mon Sep 17 00:00:00 2001 From: Jorge Canizales Date: Fri, 26 Jun 2015 21:49:42 -0700 Subject: [PATCH 2/7] Switch to grpc secure --- BUILD | 43 ++++++++++++++++++++++++++++++++++++++-- templates/BUILD.template | 2 +- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/BUILD b/BUILD index 7273b17d739..9263918880e 100644 --- a/BUILD +++ b/BUILD @@ -892,9 +892,31 @@ objc_library( objc_library( - name = "grpc_unsecure_objc", + name = "grpc_objc", srcs = [ - "src/core/surface/init_unsecure.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/httpcli_security_connector.c", + "src/core/httpcli/parser.c", + "src/core/security/base64.c", + "src/core/security/client_auth_filter.c", + "src/core/security/credentials.c", + "src/core/security/credentials_metadata.c", + "src/core/security/credentials_posix.c", + "src/core/security/credentials_win32.c", + "src/core/security/google_default_credentials.c", + "src/core/security/json_token.c", + "src/core/security/secure_endpoint.c", + "src/core/security/secure_transport_setup.c", + "src/core/security/security_connector.c", + "src/core/security/security_context.c", + "src/core/security/server_auth_filter.c", + "src/core/security/server_secure_chttp2.c", + "src/core/surface/init_secure.c", + "src/core/surface/secure_channel_create.c", + "src/core/tsi/fake_transport_security.c", + "src/core/tsi/ssl_transport_security.c", + "src/core/tsi/transport_security.c", "src/core/census/grpc_context.c", "src/core/channel/channel_args.c", "src/core/channel/channel_stack.c", @@ -996,12 +1018,29 @@ objc_library( "src/core/census/initialize.c", ], hdrs = [ + "include/grpc/grpc_security.h", "include/grpc/byte_buffer.h", "include/grpc/byte_buffer_reader.h", "include/grpc/compression.h", "include/grpc/grpc.h", "include/grpc/status.h", "include/grpc/census.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/httpcli_security_connector.h", + "src/core/httpcli/parser.h", + "src/core/security/auth_filters.h", + "src/core/security/base64.h", + "src/core/security/credentials.h", + "src/core/security/json_token.h", + "src/core/security/secure_endpoint.h", + "src/core/security/secure_transport_setup.h", + "src/core/security/security_connector.h", + "src/core/security/security_context.h", + "src/core/tsi/fake_transport_security.h", + "src/core/tsi/ssl_transport_security.h", + "src/core/tsi/transport_security.h", + "src/core/tsi/transport_security_interface.h", "src/core/census/grpc_context.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", diff --git a/templates/BUILD.template b/templates/BUILD.template index 98ad08a01c8..fcfaef0d485 100644 --- a/templates/BUILD.template +++ b/templates/BUILD.template @@ -64,7 +64,7 @@ ${cc_library(lib)} % endfor % for lib in libs: -% if lib.name in ("grpc_unsecure", "gpr"): +% if lib.name in ("grpc", "gpr"): ${objc_library(lib)} % endif % endfor From 4dc4e3dffb9cfab2e077545d29e7b3c9bd786264 Mon Sep 17 00:00:00 2001 From: Jorge Canizales Date: Fri, 26 Jun 2015 22:12:02 -0700 Subject: [PATCH 3/7] Blaze dependency on //external:libssl_objc --- BUILD | 1 + templates/BUILD.template | 3 +++ 2 files changed, 4 insertions(+) diff --git a/BUILD b/BUILD index 9263918880e..83130eabb31 100644 --- a/BUILD +++ b/BUILD @@ -1134,6 +1134,7 @@ objc_library( ], deps = [ ":gpr_objc", + "//external:libssl_objc", ], sdk_dylibs = ["libz"], ) diff --git a/templates/BUILD.template b/templates/BUILD.template index fcfaef0d485..76f06c2caab 100644 --- a/templates/BUILD.template +++ b/templates/BUILD.template @@ -127,6 +127,9 @@ objc_library( % for dep in lib.get("deps", []): ":${dep}_objc", % endfor +% if lib.get('secure', 'no') == 'yes': + "//external:libssl_objc", +% endif ], % if lib.get("baselib", false): sdk_dylibs = ["libz"], From 866255ec29ab09ce59950d0c3580b18b92d4db25 Mon Sep 17 00:00:00 2001 From: Jorge Canizales Date: Sat, 20 Jun 2015 18:58:38 -0700 Subject: [PATCH 4/7] Add BUILD target for GRPCClient --- BUILD | 19 +++++++++++++++++++ templates/BUILD.template | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/BUILD b/BUILD index 83130eabb31..648c030930d 100644 --- a/BUILD +++ b/BUILD @@ -1233,3 +1233,22 @@ objc_library( srcs = glob([rx_library_path + "/private/*.m"]), visibility = ["//visibility:private"], ) + +objc_client_path = objc_path + "/GRPCClient" + +objc_library( + name = "grpc_client", + hdrs = glob([ + objc_client_path + "/*.h", + objc_client_path + "/private/*.h", + ]), + srcs = glob([ + objc_client_path + "/*.m", + objc_client_path + "/private/*.m", + ]), + includes = [objc_path], + deps = [ + ":grpc_objc", + ":rx_library", + ], +) diff --git a/templates/BUILD.template b/templates/BUILD.template index 76f06c2caab..0841b66e7cb 100644 --- a/templates/BUILD.template +++ b/templates/BUILD.template @@ -179,3 +179,22 @@ objc_library( srcs = glob([rx_library_path + "/private/*.m"]), visibility = ["//visibility:private"], ) + +objc_client_path = objc_path + "/GRPCClient" + +objc_library( + name = "grpc_client", + hdrs = glob([ + objc_client_path + "/*.h", + objc_client_path + "/private/*.h", + ]), + srcs = glob([ + objc_client_path + "/*.m", + objc_client_path + "/private/*.m", + ]), + includes = [objc_path], + deps = [ + ":grpc_objc", + ":rx_library", + ], +) From bb54ae8073d7069808e4e34f3f13480704c9b55b Mon Sep 17 00:00:00 2001 From: Jorge Canizales Date: Sun, 28 Jun 2015 06:50:58 -0700 Subject: [PATCH 5/7] Add roots.pem bundle to the Bazel target, and use a better bundle name. --- BUILD | 7 +++++++ gRPC.podspec | 2 +- src/objective-c/GRPCClient/private/GRPCSecureChannel.m | 6 +++++- templates/BUILD.template | 7 +++++++ templates/gRPC.podspec.template | 2 +- 5 files changed, 21 insertions(+), 3 deletions(-) diff --git a/BUILD b/BUILD index 648c030930d..424cb970a80 100644 --- a/BUILD +++ b/BUILD @@ -1247,8 +1247,15 @@ objc_library( objc_client_path + "/private/*.m", ]), includes = [objc_path], + bundles = [":gRPCCertificates"], deps = [ ":grpc_objc", ":rx_library", ], ) + +objc_bundle_library( + # The choice of name is signicant here, since it determines the bundle name. + name = "gRPCCertificates", + resources = ["etc/roots.pem"], +) diff --git a/gRPC.podspec b/gRPC.podspec index 37b52dea1b6..1a4dfd4c9a6 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -520,7 +520,7 @@ Pod::Spec.new do |s| ss.dependency 'gRPC/RxLibrary' # Certificates, to be able to establish TLS connections: - ss.resource_bundles = { 'gRPC' => ['etc/roots.pem'] } + ss.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] } end # RPC library for ProtocolBuffers, based on gRPC diff --git a/src/objective-c/GRPCClient/private/GRPCSecureChannel.m b/src/objective-c/GRPCClient/private/GRPCSecureChannel.m index 0f6eece885e..43a8bd539ed 100644 --- a/src/objective-c/GRPCClient/private/GRPCSecureChannel.m +++ b/src/objective-c/GRPCClient/private/GRPCSecureChannel.m @@ -43,8 +43,12 @@ dispatch_once(&loading, ^{ // Do not use NSBundle.mainBundle, as it's nil for tests of library projects. NSBundle *bundle = [NSBundle bundleForClass:self.class]; - NSString *certsPath = [bundle pathForResource:@"gRPC.bundle/roots" ofType:@"pem"]; + NSString *certsPath = [bundle pathForResource:@"gRPCCertificates.bundle/roots" ofType:@"pem"]; + NSAssert(certsPath.length, + @"gRPCCertificates.bundle/roots.pem not found under %@. This file, with the root " + "certificates, is needed to establish TLS (HTTPS) connections.", bundle.bundlePath); NSData *certsData = [NSData dataWithContentsOfFile:certsPath]; + NSAssert(certsData.length, @"No data read from %@", certsPath); NSString *certsString = [[NSString alloc] initWithData:certsData encoding:NSUTF8StringEncoding]; kCredentials = grpc_ssl_credentials_create(certsString.UTF8String, NULL); }); diff --git a/templates/BUILD.template b/templates/BUILD.template index 0841b66e7cb..37be9671da7 100644 --- a/templates/BUILD.template +++ b/templates/BUILD.template @@ -193,8 +193,15 @@ objc_library( objc_client_path + "/private/*.m", ]), includes = [objc_path], + bundles = [":gRPCCertificates"], deps = [ ":grpc_objc", ":rx_library", ], ) + +objc_bundle_library( + # The choice of name is signicant here, since it determines the bundle name. + name = "gRPCCertificates", + resources = ["etc/roots.pem"], +) diff --git a/templates/gRPC.podspec.template b/templates/gRPC.podspec.template index 02e90d71804..deea07cee35 100644 --- a/templates/gRPC.podspec.template +++ b/templates/gRPC.podspec.template @@ -137,7 +137,7 @@ Pod::Spec.new do |s| ss.dependency 'gRPC/RxLibrary' # Certificates, to be able to establish TLS connections: - ss.resource_bundles = { 'gRPC' => ['etc/roots.pem'] } + ss.resource_bundles = { 'gRPCCertificates' => ['etc/roots.pem'] } end # RPC library for ProtocolBuffers, based on gRPC From bba8076ed4539205c5ecaaff31fae0571bd199f3 Mon Sep 17 00:00:00 2001 From: Jorge Canizales Date: Fri, 26 Jun 2015 23:25:48 -0700 Subject: [PATCH 6/7] Fix indents of rx_library blaze target --- BUILD | 34 +++++++++++++++++----------------- templates/BUILD.template | 34 +++++++++++++++++----------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/BUILD b/BUILD index 424cb970a80..934146f57e0 100644 --- a/BUILD +++ b/BUILD @@ -1212,26 +1212,26 @@ objc_path = "src/objective-c" rx_library_path = objc_path + "/RxLibrary" objc_library( - name = "rx_library", - hdrs = glob([ - rx_library_path + "/*.h", - rx_library_path + "/transformations/*.h", - ]), - srcs = glob([ - rx_library_path + "/*.m", - rx_library_path + "/transformations/*.m", - ]), - includes = [objc_path], - deps = [ - ":rx_library_private", - ], + name = "rx_library", + hdrs = glob([ + rx_library_path + "/*.h", + rx_library_path + "/transformations/*.h", + ]), + srcs = glob([ + rx_library_path + "/*.m", + rx_library_path + "/transformations/*.m", + ]), + includes = [objc_path], + deps = [ + ":rx_library_private", + ], ) objc_library( - name = "rx_library_private", - hdrs = glob([rx_library_path + "/private/*.h"]), - srcs = glob([rx_library_path + "/private/*.m"]), - visibility = ["//visibility:private"], + name = "rx_library_private", + hdrs = glob([rx_library_path + "/private/*.h"]), + srcs = glob([rx_library_path + "/private/*.m"]), + visibility = ["//visibility:private"], ) objc_client_path = objc_path + "/GRPCClient" diff --git a/templates/BUILD.template b/templates/BUILD.template index 37be9671da7..4d2bf7db283 100644 --- a/templates/BUILD.template +++ b/templates/BUILD.template @@ -158,26 +158,26 @@ objc_path = "src/objective-c" rx_library_path = objc_path + "/RxLibrary" objc_library( - name = "rx_library", - hdrs = glob([ - rx_library_path + "/*.h", - rx_library_path + "/transformations/*.h", - ]), - srcs = glob([ - rx_library_path + "/*.m", - rx_library_path + "/transformations/*.m", - ]), - includes = [objc_path], - deps = [ - ":rx_library_private", - ], + name = "rx_library", + hdrs = glob([ + rx_library_path + "/*.h", + rx_library_path + "/transformations/*.h", + ]), + srcs = glob([ + rx_library_path + "/*.m", + rx_library_path + "/transformations/*.m", + ]), + includes = [objc_path], + deps = [ + ":rx_library_private", + ], ) objc_library( - name = "rx_library_private", - hdrs = glob([rx_library_path + "/private/*.h"]), - srcs = glob([rx_library_path + "/private/*.m"]), - visibility = ["//visibility:private"], + name = "rx_library_private", + hdrs = glob([rx_library_path + "/private/*.h"]), + srcs = glob([rx_library_path + "/private/*.m"]), + visibility = ["//visibility:private"], ) objc_client_path = objc_path + "/GRPCClient" From bb30971cecb6a2e0af4bcea95995892567e68b95 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Sun, 28 Jun 2015 16:04:47 -0700 Subject: [PATCH 7/7] Fix run_tests forever mode --- tools/run_tests/run_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index a0e0fac27b1..fd90613ad66 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -496,7 +496,7 @@ class TestCache(object): self.parse(json.loads(f.read())) -def _build_and_run(check_cancelled, newline_on_success, travis, cache, xml_report): +def _build_and_run(check_cancelled, newline_on_success, travis, cache, xml_report=None): """Do one pass of building & running tests.""" # build latest sequentially if not jobset.run(build_steps, maxjobs=1,