From ec90007e35a57bf821ed62eb6dcbd91439a3e331 Mon Sep 17 00:00:00 2001 From: Ehsan Saei <71217171+esigo@users.noreply.github.com> Date: Mon, 28 Nov 2022 17:03:21 +0100 Subject: [PATCH] [BUILD] move client::nosend under test_common (#1811) --- .github/.codecov.yaml | 1 + CMakeLists.txt | 3 +++ exporters/otlp/BUILD | 12 ++++++------ exporters/otlp/CMakeLists.txt | 7 ++++--- .../otlp/test/otlp_http_exporter_test.cc | 2 +- .../otlp_http_log_record_exporter_test.cc | 2 +- .../test/otlp_http_metric_exporter_test.cc | 2 +- .../ext/http/client/http_client_factory.h | 2 ++ ext/src/CMakeLists.txt | 3 --- test_common/BUILD | 7 +++++++ test_common/CMakeLists.txt | 13 +++++++++++++ .../http/client/nosend/http_client_nosend.h | 0 test_common/src/CMakeLists.txt | 3 +++ .../src/http/client/nosend/BUILD | 1 + .../src/http/client/nosend/CMakeLists.txt | 19 +++++++------------ .../nosend/http_client_factory_nosend.cc | 2 +- .../http/client/nosend/http_client_nosend.cc | 2 +- 17 files changed, 52 insertions(+), 29 deletions(-) create mode 100644 test_common/BUILD create mode 100644 test_common/CMakeLists.txt rename {ext/include/opentelemetry => test_common/include/opentelemetry/test_common}/ext/http/client/nosend/http_client_nosend.h (100%) create mode 100644 test_common/src/CMakeLists.txt rename {ext => test_common}/src/http/client/nosend/BUILD (92%) rename {ext => test_common}/src/http/client/nosend/CMakeLists.txt (56%) rename {ext => test_common}/src/http/client/nosend/http_client_factory_nosend.cc (83%) rename {ext => test_common}/src/http/client/nosend/http_client_nosend.cc (96%) diff --git a/.github/.codecov.yaml b/.github/.codecov.yaml index c4bd839179..1b9921ac4c 100644 --- a/.github/.codecov.yaml +++ b/.github/.codecov.yaml @@ -42,6 +42,7 @@ ignore: - "cmake/**/*" - "buildscripts/**/*" - "third_party/**/*" + - "test_common/**/*" - "tools/**/*" - ".vscode/**/*" - ".github/**/*" diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b9710d9bc..f1a6d1cd17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -501,6 +501,9 @@ if(NOT WITH_API_ONLY) add_subdirectory(sdk) add_subdirectory(ext) add_subdirectory(exporters) + if(BUILD_TESTING) + add_subdirectory(test_common) + endif() if(WITH_EXAMPLES) add_subdirectory(examples) endif() diff --git a/exporters/otlp/BUILD b/exporters/otlp/BUILD index 2aab339e8d..8bb1ae2ff6 100644 --- a/exporters/otlp/BUILD +++ b/exporters/otlp/BUILD @@ -370,7 +370,7 @@ cc_test( deps = [ ":otlp_http_exporter", "//api", - "//ext/src/http/client/nosend:http_client_nosend", + "//test_common/src/http/client/nosend:http_client_nosend", "@com_google_googletest//:gtest_main", ], ) @@ -386,7 +386,7 @@ cc_test( deps = [ ":otlp_http_exporter", "//api", - "//ext/src/http/client/nosend:http_client_nosend", + "//test_common/src/http/client/nosend:http_client_nosend", "@com_google_googletest//:gtest_main", ], ) @@ -402,7 +402,7 @@ cc_test( deps = [ ":otlp_http_log_record_exporter", "//api", - "//ext/src/http/client/nosend:http_client_nosend", + "//test_common/src/http/client/nosend:http_client_nosend", "@com_google_googletest//:gtest_main", ], ) @@ -418,7 +418,7 @@ cc_test( deps = [ ":otlp_http_log_record_exporter", "//api", - "//ext/src/http/client/nosend:http_client_nosend", + "//test_common/src/http/client/nosend:http_client_nosend", "@com_google_googletest//:gtest_main", ], ) @@ -481,7 +481,7 @@ cc_test( deps = [ ":otlp_http_metric_exporter", "//api", - "//ext/src/http/client/nosend:http_client_nosend", + "//test_common/src/http/client/nosend:http_client_nosend", "@com_google_googletest//:gtest_main", ], ) @@ -497,7 +497,7 @@ cc_test( deps = [ ":otlp_http_metric_exporter", "//api", - "//ext/src/http/client/nosend:http_client_nosend", + "//test_common/src/http/client/nosend:http_client_nosend", "@com_google_googletest//:gtest_main", ], ) diff --git a/exporters/otlp/CMakeLists.txt b/exporters/otlp/CMakeLists.txt index 1ab0c7cb33..a894af7374 100644 --- a/exporters/otlp/CMakeLists.txt +++ b/exporters/otlp/CMakeLists.txt @@ -280,7 +280,8 @@ if(BUILD_TESTING) add_executable(otlp_http_exporter_test test/otlp_http_exporter_test.cc) target_link_libraries( otlp_http_exporter_test ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} - ${GMOCK_LIB} opentelemetry_exporter_otlp_http http_client_nosend) + ${GMOCK_LIB} opentelemetry_exporter_otlp_http + opentelemetry_http_client_nosend) gtest_add_tests( TARGET otlp_http_exporter_test TEST_PREFIX exporter.otlp. @@ -306,7 +307,7 @@ if(BUILD_TESTING) ${GMOCK_LIB} opentelemetry_exporter_otlp_http_log opentelemetry_logs - http_client_nosend) + opentelemetry_http_client_nosend) gtest_add_tests( TARGET otlp_http_log_record_exporter_test TEST_PREFIX exporter.otlp. @@ -333,7 +334,7 @@ if(BUILD_TESTING) ${GMOCK_LIB} opentelemetry_exporter_otlp_http_metric opentelemetry_metrics - http_client_nosend) + opentelemetry_http_client_nosend) gtest_add_tests( TARGET otlp_http_metric_exporter_test TEST_PREFIX exporter.otlp. diff --git a/exporters/otlp/test/otlp_http_exporter_test.cc b/exporters/otlp/test/otlp_http_exporter_test.cc index fe2dd37e07..d7d53d5839 100644 --- a/exporters/otlp/test/otlp_http_exporter_test.cc +++ b/exporters/otlp/test/otlp_http_exporter_test.cc @@ -15,10 +15,10 @@ # include "opentelemetry/exporters/otlp/protobuf_include_suffix.h" # include "opentelemetry/ext/http/client/http_client_factory.h" -# include "opentelemetry/ext/http/client/nosend/http_client_nosend.h" # include "opentelemetry/ext/http/server/http_server.h" # include "opentelemetry/sdk/trace/batch_span_processor.h" # include "opentelemetry/sdk/trace/tracer_provider.h" +# include "opentelemetry/test_common/ext/http/client/nosend/http_client_nosend.h" # include "opentelemetry/trace/provider.h" # include diff --git a/exporters/otlp/test/otlp_http_log_record_exporter_test.cc b/exporters/otlp/test/otlp_http_log_record_exporter_test.cc index e1ab896083..6dc8ef8960 100644 --- a/exporters/otlp/test/otlp_http_log_record_exporter_test.cc +++ b/exporters/otlp/test/otlp_http_log_record_exporter_test.cc @@ -17,7 +17,6 @@ # include "opentelemetry/common/key_value_iterable_view.h" # include "opentelemetry/ext/http/client/http_client_factory.h" -# include "opentelemetry/ext/http/client/nosend/http_client_nosend.h" # include "opentelemetry/ext/http/server/http_server.h" # include "opentelemetry/logs/provider.h" # include "opentelemetry/sdk/logs/batch_log_record_processor.h" @@ -25,6 +24,7 @@ # include "opentelemetry/sdk/logs/log_record.h" # include "opentelemetry/sdk/logs/logger_provider.h" # include "opentelemetry/sdk/resource/resource.h" +# include "opentelemetry/test_common/ext/http/client/nosend/http_client_nosend.h" # include # include diff --git a/exporters/otlp/test/otlp_http_metric_exporter_test.cc b/exporters/otlp/test/otlp_http_metric_exporter_test.cc index 7d4f2a1ebd..5dbb4cc2a7 100644 --- a/exporters/otlp/test/otlp_http_metric_exporter_test.cc +++ b/exporters/otlp/test/otlp_http_metric_exporter_test.cc @@ -15,13 +15,13 @@ #include "opentelemetry/common/key_value_iterable_view.h" #include "opentelemetry/ext/http/client/http_client_factory.h" -#include "opentelemetry/ext/http/client/nosend/http_client_nosend.h" #include "opentelemetry/ext/http/server/http_server.h" #include "opentelemetry/sdk/metrics/aggregation/default_aggregation.h" #include "opentelemetry/sdk/metrics/aggregation/histogram_aggregation.h" #include "opentelemetry/sdk/metrics/data/metric_data.h" #include "opentelemetry/sdk/metrics/instruments.h" #include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/test_common/ext/http/client/nosend/http_client_nosend.h" #include #include diff --git a/ext/include/opentelemetry/ext/http/client/http_client_factory.h b/ext/include/opentelemetry/ext/http/client/http_client_factory.h index f03c1a0b64..8df1e578d2 100644 --- a/ext/include/opentelemetry/ext/http/client/http_client_factory.h +++ b/ext/include/opentelemetry/ext/http/client/http_client_factory.h @@ -18,7 +18,9 @@ class HttpClientFactory static std::shared_ptr Create(); +#ifdef ENABLE_TEST static std::shared_ptr CreateNoSend(); +#endif }; } // namespace client } // namespace http diff --git a/ext/src/CMakeLists.txt b/ext/src/CMakeLists.txt index a976882ff0..6d7a14be41 100644 --- a/ext/src/CMakeLists.txt +++ b/ext/src/CMakeLists.txt @@ -3,6 +3,3 @@ if(WITH_ZPAGES) endif() add_subdirectory(http/client/curl) -if(BUILD_TESTING) - add_subdirectory(http/client/nosend) -endif() diff --git a/test_common/BUILD b/test_common/BUILD new file mode 100644 index 0000000000..cc62431b53 --- /dev/null +++ b/test_common/BUILD @@ -0,0 +1,7 @@ +package(default_visibility = ["//visibility:public"]) + +cc_library( + name = "headers", + hdrs = glob(["include/**/*.h"]), + strip_include_prefix = "include", +) diff --git a/test_common/CMakeLists.txt b/test_common/CMakeLists.txt new file mode 100644 index 0000000000..0ef4b9dab0 --- /dev/null +++ b/test_common/CMakeLists.txt @@ -0,0 +1,13 @@ +if(BUILD_TESTING) + add_library(opentelemetry_test_common INTERFACE) + target_include_directories( + opentelemetry_test_common + INTERFACE "$" + "$") + + set_target_properties(opentelemetry_test_common PROPERTIES EXPORT_NAME + "teset_common") + target_link_libraries(opentelemetry_test_common INTERFACE opentelemetry_api) + + add_subdirectory(src) +endif() diff --git a/ext/include/opentelemetry/ext/http/client/nosend/http_client_nosend.h b/test_common/include/opentelemetry/test_common/ext/http/client/nosend/http_client_nosend.h similarity index 100% rename from ext/include/opentelemetry/ext/http/client/nosend/http_client_nosend.h rename to test_common/include/opentelemetry/test_common/ext/http/client/nosend/http_client_nosend.h diff --git a/test_common/src/CMakeLists.txt b/test_common/src/CMakeLists.txt new file mode 100644 index 0000000000..4b1ee36afa --- /dev/null +++ b/test_common/src/CMakeLists.txt @@ -0,0 +1,3 @@ +if(BUILD_TESTING) + add_subdirectory(http/client/nosend) +endif() diff --git a/ext/src/http/client/nosend/BUILD b/test_common/src/http/client/nosend/BUILD similarity index 92% rename from ext/src/http/client/nosend/BUILD rename to test_common/src/http/client/nosend/BUILD index b27106a164..6053c967f4 100644 --- a/ext/src/http/client/nosend/BUILD +++ b/test_common/src/http/client/nosend/BUILD @@ -14,6 +14,7 @@ cc_library( "//api", "//ext:headers", "//sdk:headers", + "//test_common:headers", "@com_google_googletest//:gtest_main", ], ) diff --git a/ext/src/http/client/nosend/CMakeLists.txt b/test_common/src/http/client/nosend/CMakeLists.txt similarity index 56% rename from ext/src/http/client/nosend/CMakeLists.txt rename to test_common/src/http/client/nosend/CMakeLists.txt index 497daeb342..648944abfc 100644 --- a/ext/src/http/client/nosend/CMakeLists.txt +++ b/test_common/src/http/client/nosend/CMakeLists.txt @@ -1,9 +1,9 @@ if(${BUILD_TESTING}) - add_library(http_client_nosend http_client_factory_nosend.cc - http_client_nosend.cc) + add_library(opentelemetry_http_client_nosend http_client_factory_nosend.cc + http_client_nosend.cc) - set_target_properties(http_client_nosend PROPERTIES EXPORT_NAME - http_client_nosend) + set_target_properties(opentelemetry_http_client_nosend + PROPERTIES EXPORT_NAME opentelemetry_http_client_nosend) if(MSVC) # Explicitly specify that we consume GTest from shared library. The rest of @@ -24,13 +24,8 @@ if(${BUILD_TESTING}) find_library(GMOCK_LIB gmock PATH_SUFFIXES lib) endif() - target_link_libraries(http_client_nosend ${GTEST_BOTH_LIBRARIES} ${GMOCK_LIB} - opentelemetry_ext) + target_link_libraries( + opentelemetry_http_client_nosend ${GTEST_BOTH_LIBRARIES} ${GMOCK_LIB} + opentelemetry_ext opentelemetry_test_common) - install( - TARGETS http_client_nosend - EXPORT "${PROJECT_NAME}-target" - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/ext/src/http/client/nosend/http_client_factory_nosend.cc b/test_common/src/http/client/nosend/http_client_factory_nosend.cc similarity index 83% rename from ext/src/http/client/nosend/http_client_factory_nosend.cc rename to test_common/src/http/client/nosend/http_client_factory_nosend.cc index 841dd2d8eb..d30e2b0d7b 100644 --- a/ext/src/http/client/nosend/http_client_factory_nosend.cc +++ b/test_common/src/http/client/nosend/http_client_factory_nosend.cc @@ -3,7 +3,7 @@ #include "opentelemetry/ext/http/client/http_client.h" #include "opentelemetry/ext/http/client/http_client_factory.h" -#include "opentelemetry/ext/http/client/nosend/http_client_nosend.h" +#include "opentelemetry/test_common/ext/http/client/nosend/http_client_nosend.h" namespace http_client = opentelemetry::ext::http::client; diff --git a/ext/src/http/client/nosend/http_client_nosend.cc b/test_common/src/http/client/nosend/http_client_nosend.cc similarity index 96% rename from ext/src/http/client/nosend/http_client_nosend.cc rename to test_common/src/http/client/nosend/http_client_nosend.cc index 1c085e3fd4..dd14e4404a 100644 --- a/ext/src/http/client/nosend/http_client_nosend.cc +++ b/test_common/src/http/client/nosend/http_client_nosend.cc @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 #ifdef ENABLE_TEST -# include "opentelemetry/ext/http/client/nosend/http_client_nosend.h" +# include "opentelemetry/test_common/ext/http/client/nosend/http_client_nosend.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace ext