diff --git a/.clang-tidy b/.clang-tidy index c1bc785337f..34f0688f40f 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -17,8 +17,9 @@ # it's not activated yet due to the existing issues with the checks. # Once those issues are clear, these checks can be enabled later. # +# - bugprone-assignment-in-if-condition # - bugprone-branch-clone -# - bugprone-easily-swappable-parameters, +# - bugprone-easily-swappable-parameters # - bugprone-implicit-widening-of-multiplication-result # - bugprone-infinite-loop # - bugprone-narrowing-conversions @@ -26,9 +27,11 @@ # - bugprone-signed-char-misuse # - bugprone-sizeof-expression # - bugprone-too-small-loop-variable +# - bugprone-unchecked-optional-access # - clang-diagnostic-deprecated-declarations # - clang-diagnostic-unused-function # - google-readability-avoid-underscore-in-googletest-name +# - google-readability-casting # - google-runtime-int # - google-runtime-references # - modernize-avoid-bind @@ -55,6 +58,7 @@ Checks: '-*, abseil-*, -abseil-no-namespace, bugprone-*, + -bugprone-assignment-in-if-condition, -bugprone-branch-clone, -bugprone-easily-swappable-parameters, -bugprone-implicit-widening-of-multiplication-result, @@ -65,8 +69,10 @@ Checks: '-*, -bugprone-signed-char-misuse, -bugprone-sizeof-expression, -bugprone-too-small-loop-variable, + -bugprone-unchecked-optional-access, google-*, -google-readability-avoid-underscore-in-googletest-name, + -google-readability-casting, -google-runtime-int, -google-runtime-references, -google-upgrade-googletest-case, @@ -133,3 +139,5 @@ CheckOptions: value: 'absl/memory/memory.h' - key: google-readability-braces-around-statements.ShortStatementLines value: 1 + - key: readability-simplify-boolean-expr.SimplifyDeMorgan + value: false diff --git a/include/grpcpp/client_context.h b/include/grpcpp/client_context.h index 52492a1e134..a94ff02ab9b 100644 --- a/include/grpcpp/client_context.h +++ b/include/grpcpp/client_context.h @@ -373,9 +373,7 @@ class ClientContext { void set_census_context(struct census_context* ccp) { census_context_ = ccp; } /// Returns the census context that has been set, or nullptr if not set. - struct census_context* census_context() const { - return census_context_; - } + struct census_context* census_context() const { return census_context_; } /// Send a best-effort out-of-band cancel on the call associated with /// this client context. The call could be in any stage; e.g., if it is diff --git a/include/grpcpp/server_builder.h b/include/grpcpp/server_builder.h index 60d8650eb49..81a9947d71d 100644 --- a/include/grpcpp/server_builder.h +++ b/include/grpcpp/server_builder.h @@ -328,6 +328,7 @@ class ServerBuilder { /// Experimental, to be deprecated std::vector services() { std::vector service_refs; + service_refs.reserve(services_.size()); for (auto& ptr : services_) { service_refs.push_back(ptr.get()); } @@ -337,6 +338,7 @@ class ServerBuilder { /// Experimental, to be deprecated std::vector options() { std::vector option_refs; + option_refs.reserve(options_.size()); for (auto& ptr : options_) { option_refs.push_back(ptr.get()); } diff --git a/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc b/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc index 8e7dd7d6c10..99aa670ebf8 100644 --- a/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +++ b/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc @@ -438,7 +438,7 @@ void WeightedTargetLb::UpdateStateLocked() { break; } default: - GPR_UNREACHABLE_CODE(return ); + GPR_UNREACHABLE_CODE(return); } } // Determine aggregated connectivity state. diff --git a/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc b/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc index ad5588fdcb3..9be9dc58c99 100644 --- a/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +++ b/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc @@ -374,7 +374,7 @@ void XdsClusterManagerLb::UpdateStateLocked() { break; } default: - GPR_UNREACHABLE_CODE(return ); + GPR_UNREACHABLE_CODE(return); } } // Determine aggregated connectivity state. diff --git a/src/core/ext/xds/xds_common_types.cc b/src/core/ext/xds/xds_common_types.cc index 0af88958858..eead15a7169 100644 --- a/src/core/ext/xds/xds_common_types.cc +++ b/src/core/ext/xds/xds_common_types.cc @@ -76,6 +76,7 @@ Duration ParseDuration(const google_protobuf_Duration* proto_duration, std::string CommonTlsContext::CertificateValidationContext::ToString() const { std::vector contents; + contents.reserve(match_subject_alt_names.size()); for (const auto& match : match_subject_alt_names) { contents.push_back(match.ToString()); } diff --git a/src/core/ext/xds/xds_endpoint.cc b/src/core/ext/xds/xds_endpoint.cc index 47d64037e89..180491a0637 100644 --- a/src/core/ext/xds/xds_endpoint.cc +++ b/src/core/ext/xds/xds_endpoint.cc @@ -83,6 +83,7 @@ bool XdsEndpointResource::Priority::operator==(const Priority& other) const { std::string XdsEndpointResource::Priority::ToString() const { std::vector locality_strings; + locality_strings.reserve(localities.size()); for (const auto& p : localities) { locality_strings.emplace_back(p.second.ToString()); } diff --git a/src/core/ext/xds/xds_listener.cc b/src/core/ext/xds/xds_listener.cc index d5649600c1d..2deb7a674c5 100644 --- a/src/core/ext/xds/xds_listener.cc +++ b/src/core/ext/xds/xds_listener.cc @@ -80,6 +80,7 @@ std::string XdsListenerResource::HttpConnectionManager::ToString() const { http_max_stream_duration.ToString())); if (!http_filters.empty()) { std::vector filter_strings; + filter_strings.reserve(http_filters.size()); for (const auto& http_filter : http_filters) { filter_strings.push_back(http_filter.ToString()); } @@ -164,6 +165,7 @@ std::string FilterChain::FilterChainMatch::ToString() const { } if (!prefix_ranges.empty()) { std::vector prefix_ranges_content; + prefix_ranges_content.reserve(prefix_ranges.size()); for (const auto& range : prefix_ranges) { prefix_ranges_content.push_back(range.ToString()); } @@ -179,6 +181,7 @@ std::string FilterChain::FilterChainMatch::ToString() const { } if (!source_prefix_ranges.empty()) { std::vector source_prefix_ranges_content; + source_prefix_ranges_content.reserve(source_prefix_ranges.size()); for (const auto& range : source_prefix_ranges) { source_prefix_ranges_content.push_back(range.ToString()); } diff --git a/src/core/ext/xds/xds_route_config.cc b/src/core/ext/xds/xds_route_config.cc index d6cb9120155..af1b3c856c8 100644 --- a/src/core/ext/xds/xds_route_config.cc +++ b/src/core/ext/xds/xds_route_config.cc @@ -231,6 +231,7 @@ XdsRouteConfigResource::Route::RouteAction::ClusterWeight::ToString() const { std::string XdsRouteConfigResource::Route::RouteAction::ToString() const { std::vector contents; + contents.reserve(hash_policies.size()); for (const HashPolicy& hash_policy : hash_policies) { contents.push_back(absl::StrCat("hash_policy=", hash_policy.ToString())); } diff --git a/src/core/lib/event_engine/posix_engine/lockfree_event.cc b/src/core/lib/event_engine/posix_engine/lockfree_event.cc index a5a4d3821c6..3a71c3e08e2 100644 --- a/src/core/lib/event_engine/posix_engine/lockfree_event.cc +++ b/src/core/lib/event_engine/posix_engine/lockfree_event.cc @@ -157,7 +157,7 @@ void LockfreeEvent::NotifyOn(PosixEngineClosure* closure) { } } - GPR_UNREACHABLE_CODE(return ); + GPR_UNREACHABLE_CODE(return); } bool LockfreeEvent::SetShutdown(absl::Status shutdown_error) { diff --git a/src/core/lib/iomgr/cfstream_handle.cc b/src/core/lib/iomgr/cfstream_handle.cc index 76cc40c766d..58074e9d926 100644 --- a/src/core/lib/iomgr/cfstream_handle.cc +++ b/src/core/lib/iomgr/cfstream_handle.cc @@ -88,7 +88,7 @@ void CFStreamHandle::ReadCallback(CFReadStreamRef stream, handle->read_event_.SetShutdown(error); break; default: - GPR_UNREACHABLE_CODE(return ); + GPR_UNREACHABLE_CODE(return); } } void CFStreamHandle::WriteCallback(CFWriteStreamRef stream, @@ -122,7 +122,7 @@ void CFStreamHandle::WriteCallback(CFWriteStreamRef stream, handle->read_event_.SetShutdown(error); break; default: - GPR_UNREACHABLE_CODE(return ); + GPR_UNREACHABLE_CODE(return); } } diff --git a/src/core/lib/iomgr/lockfree_event.cc b/src/core/lib/iomgr/lockfree_event.cc index 738473f604a..9b576cb42ac 100644 --- a/src/core/lib/iomgr/lockfree_event.cc +++ b/src/core/lib/iomgr/lockfree_event.cc @@ -156,7 +156,7 @@ void LockfreeEvent::NotifyOn(grpc_closure* closure) { } } - GPR_UNREACHABLE_CODE(return ); + GPR_UNREACHABLE_CODE(return); } bool LockfreeEvent::SetShutdown(grpc_error_handle shutdown_error) { diff --git a/src/core/lib/iomgr/tcp_server_posix.cc b/src/core/lib/iomgr/tcp_server_posix.cc index 43514e4359b..d16bc8fff36 100644 --- a/src/core/lib/iomgr/tcp_server_posix.cc +++ b/src/core/lib/iomgr/tcp_server_posix.cc @@ -282,7 +282,7 @@ static void on_read(void* arg, grpc_error_handle err) { read_notifier_pollset, acceptor); } - GPR_UNREACHABLE_CODE(return ); + GPR_UNREACHABLE_CODE(return); error: gpr_mu_lock(&sp->server->mu); diff --git a/src/core/lib/promise/loop.h b/src/core/lib/promise/loop.h index 84874e13e63..ba2c58294e2 100644 --- a/src/core/lib/promise/loop.h +++ b/src/core/lib/promise/loop.h @@ -118,7 +118,9 @@ class Loop { private: GPR_NO_UNIQUE_ADDRESS Factory factory_; - GPR_NO_UNIQUE_ADDRESS union { GPR_NO_UNIQUE_ADDRESS PromiseType promise_; }; + GPR_NO_UNIQUE_ADDRESS union { + GPR_NO_UNIQUE_ADDRESS PromiseType promise_; + }; }; } // namespace promise_detail diff --git a/src/core/lib/resolver/server_address.cc b/src/core/lib/resolver/server_address.cc index 11a78009921..630049ed6bc 100644 --- a/src/core/lib/resolver/server_address.cc +++ b/src/core/lib/resolver/server_address.cc @@ -164,6 +164,7 @@ std::string ServerAddress::ToString() const { } if (!attributes_.empty()) { std::vector attrs; + attrs.reserve(attributes_.size()); for (const auto& p : attributes_) { attrs.emplace_back(absl::StrCat(p.first, "=", p.second->ToString())); } diff --git a/src/core/lib/security/authorization/matchers.cc b/src/core/lib/security/authorization/matchers.cc index 8bbcae37638..3c4a51f01c5 100644 --- a/src/core/lib/security/authorization/matchers.cc +++ b/src/core/lib/security/authorization/matchers.cc @@ -38,6 +38,7 @@ std::unique_ptr AuthorizationMatcher::Create( switch (permission.type) { case Rbac::Permission::RuleType::kAnd: { std::vector> matchers; + matchers.reserve(permission.permissions.size()); for (const auto& rule : permission.permissions) { matchers.push_back(AuthorizationMatcher::Create(std::move(*rule))); } @@ -45,6 +46,7 @@ std::unique_ptr AuthorizationMatcher::Create( } case Rbac::Permission::RuleType::kOr: { std::vector> matchers; + matchers.reserve(permission.permissions.size()); for (const auto& rule : permission.permissions) { matchers.push_back(AuthorizationMatcher::Create(std::move(*rule))); } @@ -80,6 +82,7 @@ std::unique_ptr AuthorizationMatcher::Create( switch (principal.type) { case Rbac::Principal::RuleType::kAnd: { std::vector> matchers; + matchers.reserve(principal.principals.size()); for (const auto& id : principal.principals) { matchers.push_back(AuthorizationMatcher::Create(std::move(*id))); } @@ -87,6 +90,7 @@ std::unique_ptr AuthorizationMatcher::Create( } case Rbac::Principal::RuleType::kOr: { std::vector> matchers; + matchers.reserve(principal.principals.size()); for (const auto& id : principal.principals) { matchers.push_back(AuthorizationMatcher::Create(std::move(*id))); } diff --git a/src/core/lib/security/credentials/external/aws_request_signer.cc b/src/core/lib/security/credentials/external/aws_request_signer.cc index 1c38b2b1d71..fb89704f70c 100644 --- a/src/core/lib/security/credentials/external/aws_request_signer.cc +++ b/src/core/lib/security/credentials/external/aws_request_signer.cc @@ -170,6 +170,7 @@ std::map AwsRequestSigner::GetSignedRequestHeaders() { canonical_request_vector.emplace_back("\n"); // 5. SignedHeaders std::vector signed_headers_vector; + signed_headers_vector.reserve(request_headers_.size()); for (const auto& header : request_headers_) { signed_headers_vector.emplace_back(header.first); } diff --git a/src/core/lib/surface/completion_queue.cc b/src/core/lib/surface/completion_queue.cc index 5db53ede31c..fe49c127d48 100644 --- a/src/core/lib/surface/completion_queue.cc +++ b/src/core/lib/surface/completion_queue.cc @@ -1134,7 +1134,7 @@ static void del_plucker(grpc_completion_queue* cq, void* tag, return; } } - GPR_UNREACHABLE_CODE(return ); + GPR_UNREACHABLE_CODE(return); } class ExecCtxPluck : public grpc_core::ExecCtx { diff --git a/src/core/lib/surface/server.cc b/src/core/lib/surface/server.cc index 2f988394952..141b16e345a 100644 --- a/src/core/lib/surface/server.cc +++ b/src/core/lib/surface/server.cc @@ -1238,7 +1238,7 @@ void Server::CallData::Publish(size_t cq_idx, RequestedCall* rc) { } break; default: - GPR_UNREACHABLE_CODE(return ); + GPR_UNREACHABLE_CODE(return); } grpc_cq_end_op(cq_new_, rc->tag, absl::OkStatus(), Server::DoneRequestEvent, rc, &rc->completion, true); diff --git a/src/cpp/ext/proto_server_reflection.cc b/src/cpp/ext/proto_server_reflection.cc index c67a269198b..f035ac9291a 100644 --- a/src/cpp/ext/proto_server_reflection.cc +++ b/src/cpp/ext/proto_server_reflection.cc @@ -22,12 +22,9 @@ #include #include -#include // IWYU pragma: no_include -using grpc::Status; -using grpc::StatusCode; using grpc::reflection::v1alpha::ErrorResponse; using grpc::reflection::v1alpha::ExtensionNumberResponse; using grpc::reflection::v1alpha::ExtensionRequest; diff --git a/src/objective-c/ProtoRPC/ProtoMethod.h b/src/objective-c/ProtoRPC/ProtoMethod.h index 42e2aeda0c8..227154c629b 100644 --- a/src/objective-c/ProtoRPC/ProtoMethod.h +++ b/src/objective-c/ProtoRPC/ProtoMethod.h @@ -22,7 +22,8 @@ * A fully-qualified proto service method name. Full qualification is needed because a gRPC endpoint * can implement multiple services. */ -__attribute__((deprecated("Please use GRPCProtoMethod."))) @interface ProtoMethod : NSObject +__attribute__((deprecated("Please use GRPCProtoMethod."))) +@interface ProtoMethod : NSObject @property(nonatomic, readonly) NSString *package; @property(nonatomic, readonly) NSString *service; @property(nonatomic, readonly) NSString *method; diff --git a/src/objective-c/ProtoRPC/ProtoRPCLegacy.h b/src/objective-c/ProtoRPC/ProtoRPCLegacy.h index 4ca4c92d6d0..914e8f5dc77 100644 --- a/src/objective-c/ProtoRPC/ProtoRPCLegacy.h +++ b/src/objective-c/ProtoRPC/ProtoRPCLegacy.h @@ -30,7 +30,8 @@ @class GRXWriter; @protocol GRXWriteable; -__attribute__((deprecated("Please use GRPCProtoCall."))) @interface ProtoRPC : GRPCCall +__attribute__((deprecated("Please use GRPCProtoCall."))) +@interface ProtoRPC : GRPCCall /** * host parameter should not contain the scheme (http:// or https://), only the name or IP diff --git a/src/objective-c/ProtoRPC/ProtoService.h b/src/objective-c/ProtoRPC/ProtoService.h index 29805cd5d13..45034cae03f 100644 --- a/src/objective-c/ProtoRPC/ProtoService.h +++ b/src/objective-c/ProtoRPC/ProtoService.h @@ -28,7 +28,8 @@ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wnullability-completeness" -__attribute__((deprecated("Please use GRPCProtoService."))) @interface ProtoService : NSObject +__attribute__((deprecated("Please use GRPCProtoService."))) +@interface ProtoService : NSObject - (nullable instancetype)initWithHost:(nonnull NSString *)host packageName:(nonnull NSString *)packageName diff --git a/templates/tools/dockerfile/grpc_clang_format/Dockerfile.template b/templates/tools/dockerfile/grpc_clang_format/Dockerfile.template index d16cd199414..47076066f73 100644 --- a/templates/tools/dockerfile/grpc_clang_format/Dockerfile.template +++ b/templates/tools/dockerfile/grpc_clang_format/Dockerfile.template @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. - FROM silkeh/clang:13 + FROM silkeh/clang:15-bullseye ADD clang_format_all_the_things.sh / diff --git a/templates/tools/dockerfile/grpc_clang_tidy/Dockerfile.template b/templates/tools/dockerfile/grpc_clang_tidy/Dockerfile.template index 3ae4ad77718..ee20410d0b3 100644 --- a/templates/tools/dockerfile/grpc_clang_tidy/Dockerfile.template +++ b/templates/tools/dockerfile/grpc_clang_tidy/Dockerfile.template @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. - FROM silkeh/clang:13 + FROM silkeh/clang:15-bullseye # Install prerequisites for the clang-tidy script RUN apt-get update && apt-get install -y python3 jq git && apt-get clean diff --git a/templates/tools/dockerfile/grpc_iwyu/Dockerfile.template b/templates/tools/dockerfile/grpc_iwyu/Dockerfile.template index ece2e2e166c..862726690aa 100644 --- a/templates/tools/dockerfile/grpc_iwyu/Dockerfile.template +++ b/templates/tools/dockerfile/grpc_iwyu/Dockerfile.template @@ -14,7 +14,10 @@ # See the License for the specific language governing permissions and # limitations under the License. - FROM silkeh/clang:13 + # Docker file for running IWYU. + # Updated: 2022-11-03 + + FROM silkeh/clang:15-bullseye # Install prerequisites for the iwyu script RUN apt-get update && apt-get install -y python3 jq git cmake python zlib1g-dev libtinfo-dev && apt-get clean diff --git a/templates/tools/dockerfile/test/cxx_clang_13_x64/Dockerfile.template b/templates/tools/dockerfile/test/cxx_clang_15_x64/Dockerfile.template similarity index 96% rename from templates/tools/dockerfile/test/cxx_clang_13_x64/Dockerfile.template rename to templates/tools/dockerfile/test/cxx_clang_15_x64/Dockerfile.template index eb8afee09e5..977c223b30c 100644 --- a/templates/tools/dockerfile/test/cxx_clang_13_x64/Dockerfile.template +++ b/templates/tools/dockerfile/test/cxx_clang_15_x64/Dockerfile.template @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. - FROM silkeh/clang:13 + FROM silkeh/clang:15-bullseye RUN apt-get update && apt-get install -y build-essential curl git time wget zip && apt-get clean <%include file="../../run_tests_python_deps.include"/> diff --git a/templates/tools/dockerfile/test/sanity/Dockerfile.template b/templates/tools/dockerfile/test/sanity/Dockerfile.template index 962cd458924..d57b89ff9af 100644 --- a/templates/tools/dockerfile/test/sanity/Dockerfile.template +++ b/templates/tools/dockerfile/test/sanity/Dockerfile.template @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. - FROM silkeh/clang:13 + FROM silkeh/clang:15-bullseye <%include file="../../apt_get_basic.include"/> <%include file="../../cxx_deps.include"/> diff --git a/test/core/end2end/cq_verifier.cc b/test/core/end2end/cq_verifier.cc index c84f5d1d3ac..c4904318241 100644 --- a/test/core/end2end/cq_verifier.cc +++ b/test/core/end2end/cq_verifier.cc @@ -181,6 +181,7 @@ std::string CqVerifier::Expectation::ToString() const { std::string CqVerifier::ToString() const { std::vector expectations; + expectations.reserve(expectations_.size()); for (const auto& e : expectations_) { expectations.push_back(e.ToString()); } diff --git a/test/core/promise/sleep_test.cc b/test/core/promise/sleep_test.cc index bc43ba7ecc5..addc8b7c8c9 100644 --- a/test/core/promise/sleep_test.cc +++ b/test/core/promise/sleep_test.cc @@ -51,7 +51,7 @@ TEST(Sleep, Zzzz) { ExecCtx exec_ctx; Notification done; Timestamp done_time = Timestamp::Now() + Duration::Seconds(1); - auto engine = grpc_event_engine::experimental::GetDefaultEventEngine(); + auto engine = GetDefaultEventEngine(); // Sleep for one second then set done to true. auto activity = MakeActivity( Sleep(done_time), InlineWakeupScheduler(), @@ -96,7 +96,7 @@ TEST(Sleep, AlreadyDone) { ExecCtx exec_ctx; Notification done; Timestamp done_time = Timestamp::Now() - Duration::Seconds(1); - auto engine = grpc_event_engine::experimental::GetDefaultEventEngine(); + auto engine = GetDefaultEventEngine(); // Sleep for no time at all then set done to true. auto activity = MakeActivity( Sleep(done_time), InlineWakeupScheduler(), @@ -112,7 +112,7 @@ TEST(Sleep, Cancel) { ExecCtx exec_ctx; Notification done; Timestamp done_time = Timestamp::Now() + Duration::Seconds(1); - auto engine = grpc_event_engine::experimental::GetDefaultEventEngine(); + auto engine = GetDefaultEventEngine(); // Sleep for one second but race it to complete immediately auto activity = MakeActivity( Race(Sleep(done_time), [] { return absl::CancelledError(); }), @@ -134,7 +134,7 @@ TEST(Sleep, MoveSemantics) { Timestamp done_time = Timestamp::Now() + Duration::Milliseconds(111); Sleep donor(done_time); Sleep sleeper = std::move(donor); - auto engine = grpc_event_engine::experimental::GetDefaultEventEngine(); + auto engine = GetDefaultEventEngine(); auto activity = MakeActivity( std::move(sleeper), InlineWakeupScheduler(), [&done](absl::Status r) { @@ -153,7 +153,7 @@ TEST(Sleep, StressTest) { ExecCtx exec_ctx; std::vector> notifications; std::vector activities; - auto engine = grpc_event_engine::experimental::GetDefaultEventEngine(); + auto engine = GetDefaultEventEngine(); gpr_log(GPR_INFO, "Starting %d sleeps for 1sec", kNumActivities); for (int i = 0; i < kNumActivities; i++) { auto notification = std::make_shared(); diff --git a/test/cpp/end2end/client_crash_test.cc b/test/cpp/end2end/client_crash_test.cc index 3fd537bdb12..58e3a21e6b3 100644 --- a/test/cpp/end2end/client_crash_test.cc +++ b/test/cpp/end2end/client_crash_test.cc @@ -36,9 +36,6 @@ #include "test/core/util/test_config.h" #include "test/cpp/util/subprocess.h" -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; - static std::string g_root; namespace grpc { diff --git a/test/cpp/end2end/client_lb_end2end_test.cc b/test/cpp/end2end/client_lb_end2end_test.cc index b2fbd4917eb..359713e7082 100644 --- a/test/cpp/end2end/client_lb_end2end_test.cc +++ b/test/cpp/end2end/client_lb_end2end_test.cc @@ -76,9 +76,6 @@ #include "test/cpp/end2end/connection_attempt_injector.h" #include "test/cpp/end2end/test_service_impl.h" -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; - namespace grpc { namespace testing { namespace { diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc index 58c7c64bab9..d28f986b846 100644 --- a/test/cpp/end2end/end2end_test.cc +++ b/test/cpp/end2end/end2end_test.cc @@ -60,9 +60,6 @@ #include -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; -using grpc::testing::kTlsCredentialsType; using std::chrono::system_clock; namespace grpc { diff --git a/test/cpp/end2end/filter_end2end_test.cc b/test/cpp/end2end/filter_end2end_test.cc index 43b7e2f740e..e10a39c64ce 100644 --- a/test/cpp/end2end/filter_end2end_test.cc +++ b/test/cpp/end2end/filter_end2end_test.cc @@ -44,9 +44,6 @@ #include "test/core/util/test_config.h" #include "test/cpp/util/byte_buffer_proto_helper.h" -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; - namespace grpc { namespace testing { namespace { diff --git a/test/cpp/end2end/flaky_network_test.cc b/test/cpp/end2end/flaky_network_test.cc index 7df89eb74ba..f1f40b6aa1e 100644 --- a/test/cpp/end2end/flaky_network_test.cc +++ b/test/cpp/end2end/flaky_network_test.cc @@ -51,8 +51,6 @@ #include "test/cpp/util/test_credentials_provider.h" #ifdef GPR_LINUX -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; namespace grpc { namespace testing { diff --git a/test/cpp/end2end/generic_end2end_test.cc b/test/cpp/end2end/generic_end2end_test.cc index 5b67ef334ba..d74dda6ae06 100644 --- a/test/cpp/end2end/generic_end2end_test.cc +++ b/test/cpp/end2end/generic_end2end_test.cc @@ -41,9 +41,6 @@ #include "test/core/util/test_config.h" #include "test/cpp/util/byte_buffer_proto_helper.h" -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; - namespace grpc { namespace testing { namespace { diff --git a/test/cpp/end2end/mock_test.cc b/test/cpp/end2end/mock_test.cc index 3ee49fd9dcb..203716cb38b 100644 --- a/test/cpp/end2end/mock_test.cc +++ b/test/cpp/end2end/mock_test.cc @@ -42,11 +42,6 @@ #include "test/core/util/port.h" #include "test/core/util/test_config.h" -using grpc::testing::DefaultReactorTestPeer; -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; -using grpc::testing::EchoTestService; -using grpc::testing::MockClientReaderWriter; using std::vector; using ::testing::_; using ::testing::AtLeast; diff --git a/test/cpp/end2end/service_config_end2end_test.cc b/test/cpp/end2end/service_config_end2end_test.cc index 90eb62db255..678ebfebc71 100644 --- a/test/cpp/end2end/service_config_end2end_test.cc +++ b/test/cpp/end2end/service_config_end2end_test.cc @@ -65,9 +65,6 @@ #include "test/core/util/test_config.h" #include "test/cpp/end2end/test_service_impl.h" -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; - namespace grpc { namespace testing { namespace { diff --git a/test/cpp/end2end/shutdown_test.cc b/test/cpp/end2end/shutdown_test.cc index 82e8ca81b65..bbd5739e854 100644 --- a/test/cpp/end2end/shutdown_test.cc +++ b/test/cpp/end2end/shutdown_test.cc @@ -36,9 +36,6 @@ #include "test/core/util/test_config.h" #include "test/cpp/util/test_credentials_provider.h" -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; - namespace grpc { namespace testing { diff --git a/test/cpp/end2end/thread_stress_test.cc b/test/cpp/end2end/thread_stress_test.cc index 6a90b2b007e..47e66655b99 100644 --- a/test/cpp/end2end/thread_stress_test.cc +++ b/test/cpp/end2end/thread_stress_test.cc @@ -40,9 +40,6 @@ #include "test/core/util/port.h" #include "test/core/util/test_config.h" -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; - #if defined(__APPLE__) // Use less # of threads on Mac because its test machines are less powerful // to finish the test on time. (context: b/185231823) diff --git a/test/cpp/end2end/time_change_test.cc b/test/cpp/end2end/time_change_test.cc index 90c4bc44bfa..6890bbe66f3 100644 --- a/test/cpp/end2end/time_change_test.cc +++ b/test/cpp/end2end/time_change_test.cc @@ -41,9 +41,6 @@ #include "test/cpp/end2end/test_service_impl.h" #include "test/cpp/util/subprocess.h" -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; - static std::string g_root; static gpr_mu g_mu; diff --git a/test/cpp/end2end/xds/xds_end2end_test.cc b/test/cpp/end2end/xds/xds_end2end_test.cc index a8d3d154040..6ccc2c294e7 100644 --- a/test/cpp/end2end/xds/xds_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_end2end_test.cc @@ -111,7 +111,6 @@ namespace { using ::envoy::config::listener::v3::FilterChainMatch; using ::envoy::config::rbac::v3::Policy; -using ::envoy::config::rbac::v3::RBAC_Action; using ::envoy::config::rbac::v3::RBAC_Action_ALLOW; using ::envoy::config::rbac::v3::RBAC_Action_DENY; using ::envoy::config::rbac::v3::RBAC_Action_LOG; @@ -2029,7 +2028,7 @@ TEST_P(XdsRbacTest, AbsentRbacPolicy) { TEST_P(XdsRbacTest, LogAction) { RBAC rbac; auto* rules = rbac.mutable_rules(); - rules->set_action(envoy::config::rbac::v3::RBAC_Action_LOG); + rules->set_action(RBAC_Action_LOG); SetServerRbacPolicy(rbac); backends_[0]->Start(); backends_[0]->notifier()->WaitOnServingStatusChange( diff --git a/test/cpp/interop/interop_server.cc b/test/cpp/interop/interop_server.cc index 106614656ba..e2bf7fcd248 100644 --- a/test/cpp/interop/interop_server.cc +++ b/test/cpp/interop/interop_server.cc @@ -47,7 +47,6 @@ ABSL_FLAG(int32_t, port, 0, "Server port."); ABSL_FLAG(int32_t, max_send_message_size, -1, "The maximum send message size."); using grpc::Server; -using grpc::ServerBuilder; using grpc::ServerContext; using grpc::ServerCredentials; using grpc::ServerReader; diff --git a/test/cpp/interop/xds_interop_server.cc b/test/cpp/interop/xds_interop_server.cc index 1b3724bd47f..ef79beb7418 100644 --- a/test/cpp/interop/xds_interop_server.cc +++ b/test/cpp/interop/xds_interop_server.cc @@ -129,7 +129,7 @@ void RunServer(bool secure_mode, const int port, const int maintenance_port, grpc::reflection::InitProtoReflectionServerBuilderPlugin(); ServerBuilder builder; if (secure_mode) { - grpc::XdsServerBuilder xds_builder; + XdsServerBuilder xds_builder; xds_builder.RegisterService(&service); xds_builder.AddListeningPort( absl::StrCat("0.0.0.0:", port), diff --git a/test/cpp/ios/CronetTests/CppCronetEnd2EndTests.mm b/test/cpp/ios/CronetTests/CppCronetEnd2EndTests.mm index afaf2c93b32..fa63cc5b65d 100644 --- a/test/cpp/ios/CronetTests/CppCronetEnd2EndTests.mm +++ b/test/cpp/ios/CronetTests/CppCronetEnd2EndTests.mm @@ -39,10 +39,10 @@ #import using namespace grpc::testing; -using std::chrono::system_clock; -using grpc::Status; -using grpc::ServerContext; using grpc::ClientContext; +using grpc::ServerContext; +using grpc::Status; +using std::chrono::system_clock; @interface CppCronetEnd2EndTests : XCTestCase diff --git a/test/cpp/ios/CronetTests/TestHelper.mm b/test/cpp/ios/CronetTests/TestHelper.mm index 41cd5dbc75e..de056ae28a9 100644 --- a/test/cpp/ios/CronetTests/TestHelper.mm +++ b/test/cpp/ios/CronetTests/TestHelper.mm @@ -21,12 +21,12 @@ #import #import -using std::chrono::system_clock; +using grpc::ServerContext; +using grpc::Status; using grpc::testing::EchoRequest; using grpc::testing::EchoResponse; using grpc::testing::EchoTestService; -using grpc::ServerContext; -using grpc::Status; +using std::chrono::system_clock; std::atomic PhonyInterceptor::num_times_run_; std::atomic PhonyInterceptor::num_times_run_reverse_; diff --git a/test/cpp/naming/resolver_component_tests_runner_invoker.cc b/test/cpp/naming/resolver_component_tests_runner_invoker.cc index ab5f0ac0e7f..a80527cb271 100644 --- a/test/cpp/naming/resolver_component_tests_runner_invoker.cc +++ b/test/cpp/naming/resolver_component_tests_runner_invoker.cc @@ -61,8 +61,6 @@ ABSL_FLAG(std::string, extra_args, "", "Comma-separated list of opaque command args to plumb through to " "the binary pointed at by --test_bin_name"); -using grpc::SubProcess; - namespace grpc { namespace testing { diff --git a/test/cpp/server/load_reporter/load_reporter_test.cc b/test/cpp/server/load_reporter/load_reporter_test.cc index f18ee1ef7b4..48d124ea63d 100644 --- a/test/cpp/server/load_reporter/load_reporter_test.cc +++ b/test/cpp/server/load_reporter/load_reporter_test.cc @@ -58,8 +58,7 @@ class MockCensusViewProvider : public CensusViewProvider { public: MOCK_METHOD0(FetchViewData, CensusViewProvider::ViewDataMap()); - const ::opencensus::stats::ViewDescriptor& FindViewDescriptor( - const std::string& view_name) { + const ViewDescriptor& FindViewDescriptor(const std::string& view_name) { auto it = view_descriptor_map().find(view_name); GPR_ASSERT(it != view_descriptor_map().end()); return it->second; diff --git a/test/cpp/util/channelz_sampler_test.cc b/test/cpp/util/channelz_sampler_test.cc index 9757fcd129e..b367034ea5a 100644 --- a/test/cpp/util/channelz_sampler_test.cc +++ b/test/cpp/util/channelz_sampler_test.cc @@ -69,7 +69,7 @@ std::string output_json("output.json"); // Creata an echo server class EchoServerImpl final : public grpc::testing::TestService::Service { - Status EmptyCall(grpc::ServerContext* /*context*/, + Status EmptyCall(ServerContext* /*context*/, const grpc::testing::Empty* /*request*/, grpc::testing::Empty* /*response*/) override { return Status::OK; @@ -118,7 +118,7 @@ TEST(ChannelzSamplerTest, SimpleTest) { // start server grpc::channelz::experimental::InitChannelzService(); EchoServerImpl service; - grpc::ServerBuilder builder; + ServerBuilder builder; auto server_creds = grpc::testing::GetCredentialsProvider()->GetServerCredentials( custom_credentials_type); diff --git a/test/cpp/util/cli_call_test.cc b/test/cpp/util/cli_call_test.cc index cdbf42aa1dc..48523924241 100644 --- a/test/cpp/util/cli_call_test.cc +++ b/test/cpp/util/cli_call_test.cc @@ -33,9 +33,6 @@ #include "test/core/util/test_config.h" #include "test/cpp/util/string_ref_helper.h" -using grpc::testing::EchoRequest; -using grpc::testing::EchoResponse; - namespace grpc { namespace testing { diff --git a/test/cpp/util/tls_test_utils.cc b/test/cpp/util/tls_test_utils.cc index 6bf727c8cbe..cfdfcca7988 100644 --- a/test/cpp/util/tls_test_utils.cc +++ b/test/cpp/util/tls_test_utils.cc @@ -22,7 +22,6 @@ #include "test/core/util/port.h" #include "test/core/util/test_config.h" -using ::grpc::experimental::ExternalCertificateVerifier; using ::grpc::experimental::TlsCustomVerificationCheckRequest; namespace grpc { diff --git a/tools/dockerfile/grpc_clang_format/Dockerfile b/tools/dockerfile/grpc_clang_format/Dockerfile index 7f19e50dcea..72257a71219 100644 --- a/tools/dockerfile/grpc_clang_format/Dockerfile +++ b/tools/dockerfile/grpc_clang_format/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM silkeh/clang:13 +FROM silkeh/clang:15-bullseye ADD clang_format_all_the_things.sh / diff --git a/tools/dockerfile/grpc_clang_tidy/Dockerfile b/tools/dockerfile/grpc_clang_tidy/Dockerfile index 804e20d540b..297bdfbdd2e 100644 --- a/tools/dockerfile/grpc_clang_tidy/Dockerfile +++ b/tools/dockerfile/grpc_clang_tidy/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM silkeh/clang:13 +FROM silkeh/clang:15-bullseye # Install prerequisites for the clang-tidy script RUN apt-get update && apt-get install -y python3 jq git && apt-get clean diff --git a/tools/dockerfile/grpc_iwyu/Dockerfile b/tools/dockerfile/grpc_iwyu/Dockerfile index 31ec1086b2e..af16ddf7dee 100644 --- a/tools/dockerfile/grpc_iwyu/Dockerfile +++ b/tools/dockerfile/grpc_iwyu/Dockerfile @@ -12,7 +12,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM silkeh/clang:13 +# Docker file for running IWYU. +# Updated: 2022-11-03 + +FROM silkeh/clang:15-bullseye # Install prerequisites for the iwyu script RUN apt-get update && apt-get install -y python3 jq git cmake python zlib1g-dev libtinfo-dev && apt-get clean diff --git a/tools/dockerfile/grpc_iwyu/iwyu.sh b/tools/dockerfile/grpc_iwyu/iwyu.sh index d4a1efa7f92..277a8960427 100755 --- a/tools/dockerfile/grpc_iwyu/iwyu.sh +++ b/tools/dockerfile/grpc_iwyu/iwyu.sh @@ -24,12 +24,12 @@ CPU_COUNT=`nproc` rm -rf iwyu || true git clone https://github.com/include-what-you-use/include-what-you-use.git iwyu -# latest commit on the clang 13 branch +# latest commit on the clang 15 branch cd ${IWYU_ROOT}/iwyu -git checkout fbd921d6640bf1b18fe5a8a895636215367eb6b9 +git checkout f20eadd2060103543dac46732cb4dd7dbed970e2 mkdir -p ${IWYU_ROOT}/iwyu_build cd ${IWYU_ROOT}/iwyu_build -cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ROOT_DIR=/usr/lib/llvm-13 ${IWYU_ROOT}/iwyu +cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ROOT_DIR=/usr/lib/llvm-15 ${IWYU_ROOT}/iwyu make -j $CPU_COUNT cd ${IWYU_ROOT} diff --git a/tools/dockerfile/test/cxx_clang_13_x64/Dockerfile b/tools/dockerfile/test/cxx_clang_15_x64/Dockerfile similarity index 98% rename from tools/dockerfile/test/cxx_clang_13_x64/Dockerfile rename to tools/dockerfile/test/cxx_clang_15_x64/Dockerfile index c54962aeee3..c1ce96eb1f5 100644 --- a/tools/dockerfile/test/cxx_clang_13_x64/Dockerfile +++ b/tools/dockerfile/test/cxx_clang_15_x64/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM silkeh/clang:13 +FROM silkeh/clang:15-bullseye RUN apt-get update && apt-get install -y build-essential curl git time wget zip && apt-get clean #==================== diff --git a/tools/dockerfile/test/sanity/Dockerfile b/tools/dockerfile/test/sanity/Dockerfile index cd5eb238312..e3bbaab0e49 100644 --- a/tools/dockerfile/test/sanity/Dockerfile +++ b/tools/dockerfile/test/sanity/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM silkeh/clang:13 +FROM silkeh/clang:15-bullseye #================= # Basic C core dependencies diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 900adc2ea6f..0327aa1e6e1 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -492,8 +492,8 @@ class CLanguage(object): return ('alpine', []) elif compiler == 'clang6': return ('clang_6', self._clang_cmake_configure_extra_args()) - elif compiler == 'clang13': - return ('clang_13', self._clang_cmake_configure_extra_args()) + elif compiler == 'clang15': + return ('clang_15', self._clang_cmake_configure_extra_args()) else: raise Exception('Compiler %s not supported.' % compiler) @@ -1463,7 +1463,7 @@ argp.add_argument( 'gcc12', 'gcc_musl', 'clang6', - 'clang13', + 'clang15', 'python2.7', 'python3.5', 'python3.7', diff --git a/tools/run_tests/run_tests_matrix.py b/tools/run_tests/run_tests_matrix.py index 5c02f2340cf..4a269fceec1 100755 --- a/tools/run_tests/run_tests_matrix.py +++ b/tools/run_tests/run_tests_matrix.py @@ -301,7 +301,7 @@ def _create_portability_test_jobs(extra_args=[], # portability C and C++ on x64 for compiler in [ 'gcc7', 'gcc10.2_openssl102', 'gcc12', 'gcc_musl', 'clang6', - 'clang13' + 'clang15' ]: test_jobs += _generate_jobs(languages=['c', 'c++'], configs=['dbg'],