diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b81a21e51c..9782163ed81 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1069,7 +1069,6 @@ if(gRPC_BUILD_TESTS) add_dependencies(buildtests_cxx grpc_tls_credentials_options_comparator_test) add_dependencies(buildtests_cxx grpc_tls_credentials_options_test) add_dependencies(buildtests_cxx grpc_tls_crl_provider_test) - add_dependencies(buildtests_cxx grpc_tls_directory_reloader_crl_provider_test) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) add_dependencies(buildtests_cxx grpc_tool_test) endif() @@ -13730,39 +13729,6 @@ target_link_libraries(grpc_tls_crl_provider_test ) -endif() -if(gRPC_BUILD_TESTS) - -add_executable(grpc_tls_directory_reloader_crl_provider_test - test/core/security/grpc_tls_directory_reloader_crl_provider_test.cc -) -target_compile_features(grpc_tls_directory_reloader_crl_provider_test PUBLIC cxx_std_14) -target_include_directories(grpc_tls_directory_reloader_crl_provider_test - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${_gRPC_ADDRESS_SORTING_INCLUDE_DIR} - ${_gRPC_RE2_INCLUDE_DIR} - ${_gRPC_SSL_INCLUDE_DIR} - ${_gRPC_UPB_GENERATED_DIR} - ${_gRPC_UPB_GRPC_GENERATED_DIR} - ${_gRPC_UPB_INCLUDE_DIR} - ${_gRPC_XXHASH_INCLUDE_DIR} - ${_gRPC_ZLIB_INCLUDE_DIR} - third_party/googletest/googletest/include - third_party/googletest/googletest - third_party/googletest/googlemock/include - third_party/googletest/googlemock - ${_gRPC_PROTO_GENS_DIR} -) - -target_link_libraries(grpc_tls_directory_reloader_crl_provider_test - ${_gRPC_ALLTARGETS_LIBRARIES} - gtest - grpc_test_util -) - - endif() if(gRPC_BUILD_TESTS) if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX) diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index aaffc1b822a..392481ce4cc 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -10221,16 +10221,6 @@ targets: - gtest - protobuf - grpc_test_util -- name: grpc_tls_directory_reloader_crl_provider_test - gtest: true - build: test - language: c++ - headers: [] - src: - - test/core/security/grpc_tls_directory_reloader_crl_provider_test.cc - deps: - - gtest - - grpc_test_util - name: grpc_tool_test gtest: true build: test diff --git a/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc b/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc index 35b594bec03..f9c0868f7c1 100644 --- a/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +++ b/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc @@ -165,7 +165,7 @@ DirectoryReloaderCrlProvider::DirectoryReloaderCrlProvider( crl_directory_(std::move(directory_impl)) { // Must be called before `GetDefaultEventEngine` grpc_init(); - if (event_engine_ == nullptr) { + if (event_engine == nullptr) { event_engine_ = grpc_event_engine::experimental::GetDefaultEventEngine(); } else { event_engine_ = std::move(event_engine); diff --git a/test/core/security/BUILD b/test/core/security/BUILD index 17de6873741..7c955f22afc 100644 --- a/test/core/security/BUILD +++ b/test/core/security/BUILD @@ -586,21 +586,3 @@ grpc_cc_test( "//test/core/util:grpc_test_util", ], ) - -grpc_cc_test( - name = "grpc_tls_directory_reloader_crl_provider_test", - srcs = ["grpc_tls_directory_reloader_crl_provider_test.cc"], - data = [ - "//test/core/tsi/test_creds/crl_data:ca.pem", - "//test/core/tsi/test_creds/crl_data/crls:ab06acdd.r0", - "//test/core/tsi/test_creds/crl_data/crls:b9322cac.r0", - "//test/core/tsi/test_creds/crl_data/crls:current.crl", - "//test/core/tsi/test_creds/crl_data/crls:intermediate.crl", - ], - external_deps = ["gtest"], - language = "C++", - deps = [ - "//src/core:grpc_crl_provider", - "//test/core/util:grpc_test_util", - ], -) diff --git a/test/core/security/grpc_tls_directory_reloader_crl_provider_test.cc b/test/core/security/grpc_tls_directory_reloader_crl_provider_test.cc deleted file mode 100644 index 55a76b6d645..00000000000 --- a/test/core/security/grpc_tls_directory_reloader_crl_provider_test.cc +++ /dev/null @@ -1,58 +0,0 @@ -// -// -// Copyright 2023 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. -// -// - -#include - -#include - -#include "absl/status/statusor.h" -#include "absl/strings/string_view.h" - -#include -#include - -#include "src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h" -#include "test/core/util/test_config.h" - -static constexpr absl::string_view kCrlDirectory = - "test/core/tsi/test_creds/crl_data/crls"; - -namespace grpc_core { -namespace testing { - -// This test is needed separately from the tests in grpc_tls_crl_provider_test -// because the DirectoryReloaderCrlProvider gets the default event engine on -// construction. To get the default event engine, grpc_init must have been -// called, otherwise a segfault occurs. This test checks that no segfault occurs -// while getting the default event engine during the construction of a -// DirectoryReloaderCrlProvider. -TEST(DirectoryReloaderCrlProviderTestNoFixture, Construction) { - auto provider = experimental::CreateDirectoryReloaderCrlProvider( - kCrlDirectory, std::chrono::seconds(60), nullptr); - ASSERT_TRUE(provider.ok()) << provider.status(); -} - -} // namespace testing -} // namespace grpc_core - -int main(int argc, char** argv) { - grpc::testing::TestEnvironment env(&argc, argv); - ::testing::InitGoogleTest(&argc, argv); - int ret = RUN_ALL_TESTS(); - return ret; -} diff --git a/test/cpp/end2end/crl_provider_test.cc b/test/cpp/end2end/crl_provider_test.cc index f6d93e58cc5..180da59eb0e 100644 --- a/test/cpp/end2end/crl_provider_test.cc +++ b/test/cpp/end2end/crl_provider_test.cc @@ -62,6 +62,20 @@ const char* kRootCrlPath = "test/core/tsi/test_creds/crl_data/crls/current.crl"; const char* kCrlDirectoryPath = "test/core/tsi/test_creds/crl_data/crls/"; constexpr char kMessage[] = "Hello"; +// This test must be at the top of the file because the +// DirectoryReloaderCrlProvider gets the default event engine on construction. +// To get the default event engine, grpc_init must have been called, otherwise a +// segfault occurs. This test checks that no segfault occurs while getting the +// default event engine during the construction of a +// DirectoryReloaderCrlProvider. `grpc_init` is global state, so if another test +// runs first, then this test could pass because of another test modifying the +// global state +TEST(DirectoryReloaderCrlProviderTestNoFixture, Construction) { + auto provider = grpc_core::experimental::CreateDirectoryReloaderCrlProvider( + kCrlDirectoryPath, std::chrono::seconds(60), nullptr); + ASSERT_TRUE(provider.ok()) << provider.status(); +} + class CrlProviderTest : public ::testing::Test { protected: void RunServer(absl::Notification* notification, absl::string_view server_key, diff --git a/tools/run_tests/generated/tests.json b/tools/run_tests/generated/tests.json index 50bd5f1a8a7..6b2a8024173 100644 --- a/tools/run_tests/generated/tests.json +++ b/tools/run_tests/generated/tests.json @@ -4325,30 +4325,6 @@ ], "uses_polling": true }, - { - "args": [], - "benchmark": false, - "ci_platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "cpu_cost": 1.0, - "exclude_configs": [], - "exclude_iomgrs": [], - "flaky": false, - "gtest": true, - "language": "c++", - "name": "grpc_tls_directory_reloader_crl_provider_test", - "platforms": [ - "linux", - "mac", - "posix", - "windows" - ], - "uses_polling": true - }, { "args": [], "benchmark": false,