From b5d3cb3ac5f9dfe184a5ed1268988680ac994ddf Mon Sep 17 00:00:00 2001 From: antoshkka Date: Sat, 28 Dec 2024 14:50:31 +0300 Subject: [PATCH] feat conan: test userver package on samples, including testsuite runs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: https://github.com/userver-framework/userver/pull/816 Tests: протестировано локально и в CI commit_hash:b80386a30e1aa571c801dca41b04558fe7924058 --- .github/workflows/ci-conan.yml | 13 ++- .mapping.json | 24 ----- cmake/UserverEmbedFile.cmake | 7 +- conan/README.md | 3 - conan/test_package/CMakeLists.txt | 72 -------------- conan/test_package/conanfile.py | 94 ------------------- conan/test_package/hello.cpp | 36 ------- conan/test_package/hello.hpp | 14 --- conan/test_package/hello_service.cpp | 20 ---- .../test_package/hello_service/CMakeLists.txt | 13 --- conan/test_package/hello_service/conftest.py | 3 - .../hello_service/hello_service.cpp | 25 ----- .../hello_service/static_config.yaml | 27 ------ .../test_package/hello_service/test_hello.py | 4 - conan/test_package/proto/greeter.proto | 15 --- conan/test_package/test_clickhouse.cpp | 27 ------ conan/test_package/test_core.cpp | 24 ----- conan/test_package/test_easy.cpp | 3 - conan/test_package/test_grpc.cpp | 58 ------------ conan/test_package/test_kafka.cpp | 28 ------ conan/test_package/test_mongo.cpp | 26 ----- conan/test_package/test_postgresql.cpp | 26 ----- conan/test_package/test_rabbitmq.cpp | 26 ----- conan/test_package/test_redis.cpp | 26 ----- conan/test_package/test_ubench.cpp | 23 ----- conan/test_package/test_universal.cpp | 11 --- conan/test_package/test_utest.cpp | 8 -- universal/CMakeLists.txt | 1 + 28 files changed, 16 insertions(+), 641 deletions(-) delete mode 100644 conan/README.md delete mode 100644 conan/test_package/CMakeLists.txt delete mode 100644 conan/test_package/conanfile.py delete mode 100644 conan/test_package/hello.cpp delete mode 100644 conan/test_package/hello.hpp delete mode 100644 conan/test_package/hello_service.cpp delete mode 100644 conan/test_package/hello_service/CMakeLists.txt delete mode 100644 conan/test_package/hello_service/conftest.py delete mode 100644 conan/test_package/hello_service/hello_service.cpp delete mode 100644 conan/test_package/hello_service/static_config.yaml delete mode 100644 conan/test_package/hello_service/test_hello.py delete mode 100644 conan/test_package/proto/greeter.proto delete mode 100644 conan/test_package/test_clickhouse.cpp delete mode 100644 conan/test_package/test_core.cpp delete mode 100644 conan/test_package/test_easy.cpp delete mode 100644 conan/test_package/test_grpc.cpp delete mode 100644 conan/test_package/test_kafka.cpp delete mode 100644 conan/test_package/test_mongo.cpp delete mode 100644 conan/test_package/test_postgresql.cpp delete mode 100644 conan/test_package/test_rabbitmq.cpp delete mode 100644 conan/test_package/test_redis.cpp delete mode 100644 conan/test_package/test_ubench.cpp delete mode 100644 conan/test_package/test_universal.cpp delete mode 100644 conan/test_package/test_utest.cpp diff --git a/.github/workflows/ci-conan.yml b/.github/workflows/ci-conan.yml index 010f23d13ad5..6dedeeff661b 100644 --- a/.github/workflows/ci-conan.yml +++ b/.github/workflows/ci-conan.yml @@ -33,7 +33,7 @@ jobs: - name: Install Ubuntu packages if: matrix.os == 'ubuntu-22.04' run: | - sudo apt-get install -y gcc g++ cmake wget git python3 python3-pip python3-venv + sudo apt-get install -y gcc g++ cmake wget git python3 python3-pip python3-venv postgresql - name: Install MacOS packages if: matrix.os == 'macos-latest' @@ -52,4 +52,13 @@ jobs: - name: Run conan run: | - conan create . --build=missing -s:a compiler.cppstd=17 -pr:b=default ${{matrix.conanflags}} -tf conan/test_package/ + conan create . --build=missing -s:a compiler.cppstd=17 -pr:b=default ${{matrix.conanflags}} + + - name: Test userver conan package + run: | + USERVER_VERSION=$(conan list -c -v quiet userver/* | tail -n 1) + for SAMPLE in hello_service embedded_files postgres_service grpc_service; do + cp scripts/tests/conanfile.py samples/$SAMPLE/ + conan test samples/$SAMPLE/ --build=never -s:a compiler.cppstd=17 -pr:b=default ${{matrix.conanflags}} ${USERVER_VERSION} + rm samples/$SAMPLE/conanfile.py + done diff --git a/.mapping.json b/.mapping.json index 4356739c0110..e021f99f86a4 100644 --- a/.mapping.json +++ b/.mapping.json @@ -480,30 +480,6 @@ "cmake/modules/Findmongoc.cmake":"taxi/uservices/userver/cmake/modules/Findmongoc.cmake", "cmake/sanitize-macos.blacklist.txt":"taxi/uservices/userver/cmake/sanitize-macos.blacklist.txt", "cmake/sanitize.blacklist.txt":"taxi/uservices/userver/cmake/sanitize.blacklist.txt", - "conan/README.md":"taxi/uservices/userver/conan/README.md", - "conan/test_package/CMakeLists.txt":"taxi/uservices/userver/conan/test_package/CMakeLists.txt", - "conan/test_package/conanfile.py":"taxi/uservices/userver/conan/test_package/conanfile.py", - "conan/test_package/hello.cpp":"taxi/uservices/userver/conan/test_package/hello.cpp", - "conan/test_package/hello.hpp":"taxi/uservices/userver/conan/test_package/hello.hpp", - "conan/test_package/hello_service.cpp":"taxi/uservices/userver/conan/test_package/hello_service.cpp", - "conan/test_package/hello_service/CMakeLists.txt":"taxi/uservices/userver/conan/test_package/hello_service/CMakeLists.txt", - "conan/test_package/hello_service/conftest.py":"taxi/uservices/userver/conan/test_package/hello_service/conftest.py", - "conan/test_package/hello_service/hello_service.cpp":"taxi/uservices/userver/conan/test_package/hello_service/hello_service.cpp", - "conan/test_package/hello_service/static_config.yaml":"taxi/uservices/userver/conan/test_package/hello_service/static_config.yaml", - "conan/test_package/hello_service/test_hello.py":"taxi/uservices/userver/conan/test_package/hello_service/test_hello.py", - "conan/test_package/proto/greeter.proto":"taxi/uservices/userver/conan/test_package/proto/greeter.proto", - "conan/test_package/test_clickhouse.cpp":"taxi/uservices/userver/conan/test_package/test_clickhouse.cpp", - "conan/test_package/test_core.cpp":"taxi/uservices/userver/conan/test_package/test_core.cpp", - "conan/test_package/test_easy.cpp":"taxi/uservices/userver/conan/test_package/test_easy.cpp", - "conan/test_package/test_grpc.cpp":"taxi/uservices/userver/conan/test_package/test_grpc.cpp", - "conan/test_package/test_kafka.cpp":"taxi/uservices/userver/conan/test_package/test_kafka.cpp", - "conan/test_package/test_mongo.cpp":"taxi/uservices/userver/conan/test_package/test_mongo.cpp", - "conan/test_package/test_postgresql.cpp":"taxi/uservices/userver/conan/test_package/test_postgresql.cpp", - "conan/test_package/test_rabbitmq.cpp":"taxi/uservices/userver/conan/test_package/test_rabbitmq.cpp", - "conan/test_package/test_redis.cpp":"taxi/uservices/userver/conan/test_package/test_redis.cpp", - "conan/test_package/test_ubench.cpp":"taxi/uservices/userver/conan/test_package/test_ubench.cpp", - "conan/test_package/test_universal.cpp":"taxi/uservices/userver/conan/test_package/test_universal.cpp", - "conan/test_package/test_utest.cpp":"taxi/uservices/userver/conan/test_package/test_utest.cpp", "conanfile.py":"taxi/uservices/userver/conanfile.py", "core/CMakeLists.txt":"taxi/uservices/userver/core/CMakeLists.txt", "core/README.md":"taxi/uservices/userver/core/README.md", diff --git a/cmake/UserverEmbedFile.cmake b/cmake/UserverEmbedFile.cmake index cbe9fd6e9a56..585da3d442ef 100644 --- a/cmake/UserverEmbedFile.cmake +++ b/cmake/UserverEmbedFile.cmake @@ -20,20 +20,21 @@ function(userver_embed_file TARGET) COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/embedded && touch ${CMAKE_CURRENT_BINARY_DIR}/embedded/embedded.cpp ) + + get_property(USERVER_CMAKE_DIR GLOBAL PROPERTY userver_cmake_dir) add_custom_command( OUTPUT ${CONFIG_HPP} DEPENDS - ${USERVER_ROOT_DIR}/cmake/embedded_config.cmake + ${USERVER_CMAKE_DIR}/embedded_config.cmake ${ARG_FILEPATH} COMMAND ${CMAKE_COMMAND} - -DUSERVER_ROOT_DIR=${USERVER_ROOT_DIR} -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DFILEPATH=${ARG_FILEPATH} -DOUTPUT=${CONFIG_HPP} -DNAME=${ARG_NAME} - -P ${USERVER_ROOT_DIR}/cmake/embedded_config.cmake + -P ${USERVER_CMAKE_DIR}/embedded_config.cmake ${CODEGEN} ) add_library(${TARGET} STATIC ${CONFIG_HPP} ${CMAKE_CURRENT_BINARY_DIR}/embedded/embedded.cpp) diff --git a/conan/README.md b/conan/README.md deleted file mode 100644 index 56d67b40d022..000000000000 --- a/conan/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# userver: Conan - -[Conan](https://conan.io/) helper files. diff --git a/conan/test_package/CMakeLists.txt b/conan/test_package/CMakeLists.txt deleted file mode 100644 index c8f3291cc12d..000000000000 --- a/conan/test_package/CMakeLists.txt +++ /dev/null @@ -1,72 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) - -find_package(userver REQUIRED) -find_package(Python COMPONENTS Interpreter Development) - -add_library(${PROJECT_NAME}_objs OBJECT - hello.hpp - hello.cpp -) -target_link_libraries(${PROJECT_NAME}_objs PRIVATE userver::core) - -add_executable(${PROJECT_NAME}_core test_core.cpp) -target_link_libraries(${PROJECT_NAME}_core ${PROJECT_NAME}_objs userver::core) - -add_executable(${PROJECT_NAME}_universal test_universal.cpp) -target_link_libraries(${PROJECT_NAME}_universal ${PROJECT_NAME}_objs userver::universal) - -if (TARGET userver::utest) - add_executable(${PROJECT_NAME}_utest test_utest.cpp) - target_link_libraries(${PROJECT_NAME}_utest ${PROJECT_NAME}_objs userver::utest) - add_google_tests(${PROJECT_NAME}_utest) -endif() - -if (TARGET userver::ubench) - add_executable(${PROJECT_NAME}_ubench test_ubench.cpp) - target_link_libraries(${PROJECT_NAME}_ubench ${PROJECT_NAME}_objs userver::ubench) - add_google_benchmark_tests(${PROJECT_NAME}_ubench) -endif() - -if (TARGET userver::postgresql) - add_executable(${PROJECT_NAME}_postgresql test_postgresql.cpp) - target_link_libraries(${PROJECT_NAME}_postgresql ${PROJECT_NAME}_objs userver::postgresql) -endif() - -if (TARGET userver::redis) - add_executable(${PROJECT_NAME}_redis test_redis.cpp) - target_link_libraries(${PROJECT_NAME}_redis ${PROJECT_NAME}_objs userver::redis) -endif() - -if (TARGET userver::rabbitmq) - add_executable(${PROJECT_NAME}_rabbitmq test_rabbitmq.cpp) - target_link_libraries(${PROJECT_NAME}_rabbitmq ${PROJECT_NAME}_objs userver::rabbitmq) -endif() - -if (TARGET userver::grpc) - add_executable(${PROJECT_NAME}_grpc test_grpc.cpp) - userver_add_grpc_library(${PROJECT_NAME}_proto PROTOS greeter.proto) - target_link_libraries(${PROJECT_NAME}_grpc ${PROJECT_NAME}_objs userver::grpc ${PROJECT_NAME}_proto) -endif() - -if (TARGET userver::mongo) - add_executable(${PROJECT_NAME}_mongo test_mongo.cpp) - target_link_libraries(${PROJECT_NAME}_mongo ${PROJECT_NAME}_objs userver::mongo) -endif() - -if (TARGET userver::clickhouse) - add_executable(${PROJECT_NAME}_clickhouse test_clickhouse.cpp) - target_link_libraries(${PROJECT_NAME}_clickhouse ${PROJECT_NAME}_objs userver::clickhouse) -endif() - -if (TARGET userver::kafka) - add_executable(${PROJECT_NAME}_kafka test_kafka.cpp) - target_link_libraries(${PROJECT_NAME}_kafka ${PROJECT_NAME}_objs userver::kafka) -endif() - -if (TARGET userver::easy) - add_executable(${PROJECT_NAME}_easy test_easy.cpp) - target_link_libraries(${PROJECT_NAME}_easy userver::easy) -endif() - -add_subdirectory(hello_service) diff --git a/conan/test_package/conanfile.py b/conan/test_package/conanfile.py deleted file mode 100644 index 436571ca4150..000000000000 --- a/conan/test_package/conanfile.py +++ /dev/null @@ -1,94 +0,0 @@ -import os - -from conan import ConanFile -from conan.tools.build import can_run -from conan.tools.cmake import CMake -from conan.tools.cmake import cmake_layout - - -class TestPackageConan(ConanFile): - settings = 'os', 'arch', 'compiler', 'build_type' - generators = 'CMakeToolchain', 'CMakeDeps', 'VirtualRunEnv' - test_type = 'explicit' - - def layout(self): - cmake_layout(self) - - def requirements(self): - self.requires(self.tested_reference_str) - self.build_requires('protobuf/5.27.0') - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if can_run(self): - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_core', - ) - self.run(bin_path, env='conanrun') - - if self.dependencies[self.tested_reference_str].options.with_utest: - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_utest', - ) - if self.dependencies[self.tested_reference_str].options.with_grpc: - self.run(bin_path, env='conanrun') - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_grpc', - ) - if self.dependencies[ - self.tested_reference_str - ].options.with_mongodb: - self.run(bin_path, env='conanrun') - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_mongo', - ) - if self.dependencies[ - self.tested_reference_str - ].options.with_postgresql: - self.run(bin_path, env='conanrun') - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_postgresql', - ) - if self.dependencies[ - self.tested_reference_str - ].options.with_rabbitmq: - self.run(bin_path, env='conanrun') - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_rabbitmq', - ) - if self.dependencies[self.tested_reference_str].options.with_redis: - self.run(bin_path, env='conanrun') - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_redis', - ) - if self.dependencies[ - self.tested_reference_str - ].options.with_clickhouse: - self.run(bin_path, env='conanrun') - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_clickhouse', - ) - if self.dependencies[self.tested_reference_str].options.with_kafka: - self.run(bin_path, env='conanrun') - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_kafka', - ) - self.run(bin_path, env='conanrun') - bin_path = os.path.join( - self.cpp.build.bindirs[0], 'PackageTest_universal', - ) - self.run(bin_path, env='conanrun') - - bin_path = os.path.join( - self.cpp.build.bindirs[0], - 'hello_service', - 'runtests-conan-samples-hello_service', - ) - command = ' ' - folder = os.path.join(self.source_folder, 'hello_service') - args = [bin_path, '--service-logs-pretty', '-vv', folder] - self.run(command.join(args), env='conanrun') diff --git a/conan/test_package/hello.cpp b/conan/test_package/hello.cpp deleted file mode 100644 index 1c681967a505..000000000000 --- a/conan/test_package/hello.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include "hello.hpp" - -#include - -#include - -namespace service_template { - -namespace { - -class Hello final : public userver::server::handlers::HttpHandlerBase { -public: - static constexpr std::string_view kName = "handler-hello"; - - using HttpHandlerBase::HttpHandlerBase; - - std::string - HandleRequestThrow(const userver::server::http::HttpRequest& request, userver::server::request::RequestContext&) - const override { - return service_template::SayHelloTo(request.GetArg("name")); - } -}; - -} // namespace - -std::string SayHelloTo(std::string_view name) { - if (name.empty()) { - name = "unknown user"; - } - - return fmt::format("Hello, {}!\n", name); -} - -void AppendHello(userver::components::ComponentList& component_list) { component_list.Append(); } - -} // namespace service_template diff --git a/conan/test_package/hello.hpp b/conan/test_package/hello.hpp deleted file mode 100644 index d2ec2ebd248a..000000000000 --- a/conan/test_package/hello.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -#include -#include - -#include - -namespace service_template { - -std::string SayHelloTo(std::string_view name); - -void AppendHello(userver::components::ComponentList& component_list); - -} // namespace service_template diff --git a/conan/test_package/hello_service.cpp b/conan/test_package/hello_service.cpp deleted file mode 100644 index 9d3aa83ad7a5..000000000000 --- a/conan/test_package/hello_service.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include -#include - -class Hello final : public userver::server::handlers::HttpHandlerBase { -public: - static constexpr std::string_view kName = "handler-hello-sample"; - - using HttpHandlerBase::HttpHandlerBase; - - std::string HandleRequestThrow(const userver::server::http::HttpRequest&, userver::server::request::RequestContext&) - const override { - return "Hello world!\n"; - } -}; - -int main(int argc, char* argv[]) { - const auto component_list = userver::components::MinimalServerComponentList().Append(); - return 0; -} diff --git a/conan/test_package/hello_service/CMakeLists.txt b/conan/test_package/hello_service/CMakeLists.txt deleted file mode 100644 index 176cc049b6cf..000000000000 --- a/conan/test_package/hello_service/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -project(conan-samples-hello_service CXX) - -add_executable(${PROJECT_NAME} "hello_service.cpp") -target_link_libraries(${PROJECT_NAME} userver::core) - -userver_testsuite_add( - SERVICE_TARGET ${PROJECT_NAME} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - PYTEST_ARGS - --service-config=${CMAKE_CURRENT_SOURCE_DIR}/static_config.yaml - --service-source-dir=${CMAKE_CURRENT_SOURCE_DIR} - --service-binary=${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME} -) diff --git a/conan/test_package/hello_service/conftest.py b/conan/test_package/hello_service/conftest.py deleted file mode 100644 index f22f982eed19..000000000000 --- a/conan/test_package/hello_service/conftest.py +++ /dev/null @@ -1,3 +0,0 @@ -# /// [registration] -pytest_plugins = ['pytest_userver.plugins.core'] -# /// [registration] diff --git a/conan/test_package/hello_service/hello_service.cpp b/conan/test_package/hello_service/hello_service.cpp deleted file mode 100644 index e1bf18a1f525..000000000000 --- a/conan/test_package/hello_service/hello_service.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -#include -#include -#include - -namespace samples::hello { - -class Hello final : public server::handlers::HttpHandlerBase { -public: - static constexpr std::string_view kName = "handler-hello-sample"; - - using HttpHandlerBase::HttpHandlerBase; - - std::string HandleRequestThrow(const server::http::HttpRequest&, server::request::RequestContext&) const override { - return "Hello world!\n"; - } -}; - -} // namespace samples::hello - -int main(int argc, char* argv[]) { - const auto component_list = components::MinimalServerComponentList().Append(); - return utils::DaemonMain(argc, argv, component_list); -} diff --git a/conan/test_package/hello_service/static_config.yaml b/conan/test_package/hello_service/static_config.yaml deleted file mode 100644 index 50ffdc99ace0..000000000000 --- a/conan/test_package/hello_service/static_config.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# yaml -components_manager: - task_processors: # Task processor is an executor for coroutine tasks - main-task-processor: # Make a task processor for CPU-bound coroutine tasks. - worker_threads: 4 # Process tasks in 4 threads. - fs-task-processor: # Make a separate task processor for filesystem bound tasks. - worker_threads: 4 - - default_task_processor: main-task-processor # Task processor in which components start. - - components: # Configuring components that were registered via component_list - server: - listener: # configuring the main listening socket... - port: 8080 # ...to listen on this port and... - task_processor: main-task-processor # ...process incoming requests on this task processor. - logging: - fs-task-processor: fs-task-processor - loggers: - default: - file_path: '@stderr' - level: debug - overflow_behavior: discard # Drop logs if the system is too busy to write them down. - - handler-hello-sample: # Finally! Our handler. - path: /hello # Registering handler by URL '/hello'. - method: GET,POST # It will only reply to GET (HEAD) and POST requests. - task_processor: main-task-processor # Run it on CPU bound task processor diff --git a/conan/test_package/hello_service/test_hello.py b/conan/test_package/hello_service/test_hello.py deleted file mode 100644 index 03f733a6d3fe..000000000000 --- a/conan/test_package/hello_service/test_hello.py +++ /dev/null @@ -1,4 +0,0 @@ -async def test_ping(service_client): - response = await service_client.get('/hello') - assert response.status == 200 - assert response.content == b'Hello world!\n' diff --git a/conan/test_package/proto/greeter.proto b/conan/test_package/proto/greeter.proto deleted file mode 100644 index b239fa823b85..000000000000 --- a/conan/test_package/proto/greeter.proto +++ /dev/null @@ -1,15 +0,0 @@ -syntax = "proto3"; - -package samples.api; - -service GreeterService { - rpc SayHello(GreetingRequest) returns(GreetingResponse) {} -} - -message GreetingRequest { - string name = 1; -} - -message GreetingResponse { - string greeting = 1; -} diff --git a/conan/test_package/test_clickhouse.cpp b/conan/test_package/test_clickhouse.cpp deleted file mode 100644 index cf612ee120a4..000000000000 --- a/conan/test_package/test_clickhouse.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "hello.hpp" - -int main(int argc, char* argv[]) { - auto component_list = userver::components::MinimalServerComponentList() - .Append() - .Append() - .Append() - .Append() - .Append(""); - - service_template::AppendHello(component_list); - - auto size = std::distance(component_list.begin(), component_list.end()); - std::cout << size << std::endl; - - return 0; -} diff --git a/conan/test_package/test_core.cpp b/conan/test_package/test_core.cpp deleted file mode 100644 index d1d0f94fc1a0..000000000000 --- a/conan/test_package/test_core.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "hello.hpp" - -int main(int argc, char* argv[]) { - auto component_list = userver::components::MinimalServerComponentList() - .Append() - .Append() - .Append() - .Append(); - - service_template::AppendHello(component_list); - - auto size = std::distance(component_list.begin(), component_list.end()); - std::cout << size << std::endl; - - return 0; -} diff --git a/conan/test_package/test_easy.cpp b/conan/test_package/test_easy.cpp deleted file mode 100644 index e449c968eb10..000000000000 --- a/conan/test_package/test_easy.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include - -int main() {} diff --git a/conan/test_package/test_grpc.cpp b/conan/test_package/test_grpc.cpp deleted file mode 100644 index 5e08d952a410..000000000000 --- a/conan/test_package/test_grpc.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "hello.hpp" - -namespace samples { - -class GreeterServiceComponent final : public api::GreeterServiceBase::Component { -public: - static constexpr std::string_view kName = "greeter-service"; - - GreeterServiceComponent( - const userver::components::ComponentConfig& config, - const userver::components::ComponentContext& context - ) - : api::GreeterServiceBase::Component(config, context), prefix_(config["greeting-prefix"].As()) {} - - SayHelloResult SayHello(CallContext& context, api::GreetingRequest&& request) override; - -private: - const std::string prefix_; -}; - -GreeterServiceComponent::SayHelloResult -GreeterServiceComponent::SayHello(CallContext& /*context*/, api::GreetingRequest&& request) { - api::GreetingResponse response; - response.set_greeting(fmt::format("{}, {}!", prefix_, request.name())); - - return response; -} - -} // namespace samples - -int main(int argc, char* argv[]) { - auto component_list = userver::components::MinimalServerComponentList() - .Append() - .Append() - .Append() - .Append() - .Append("") - .Append(); - - service_template::AppendHello(component_list); - - auto size = std::distance(component_list.begin(), component_list.end()); - std::cout << size << std::endl; - - return 0; -} diff --git a/conan/test_package/test_kafka.cpp b/conan/test_package/test_kafka.cpp deleted file mode 100644 index f49e26c75375..000000000000 --- a/conan/test_package/test_kafka.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "hello.hpp" - -int main(int argc, char* argv[]) { - auto component_list = userver::components::MinimalServerComponentList() - .Append() - .Append() - .Append() - .Append() - .Append() - .Append(); - - service_template::AppendHello(component_list); - - auto size = std::distance(component_list.begin(), component_list.end()); - std::cout << size << std::endl; - - return 0; -} diff --git a/conan/test_package/test_mongo.cpp b/conan/test_package/test_mongo.cpp deleted file mode 100644 index 6325dee4ac1f..000000000000 --- a/conan/test_package/test_mongo.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "hello.hpp" - -int main(int argc, char* argv[]) { - auto component_list = userver::components::MinimalServerComponentList() - .Append() - .Append() - .Append() - .Append() - .Append(""); - - service_template::AppendHello(component_list); - - auto size = std::distance(component_list.begin(), component_list.end()); - std::cout << size << std::endl; - - return 0; -} diff --git a/conan/test_package/test_postgresql.cpp b/conan/test_package/test_postgresql.cpp deleted file mode 100644 index 71c467438a95..000000000000 --- a/conan/test_package/test_postgresql.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "hello.hpp" - -int main(int argc, char* argv[]) { - auto component_list = userver::components::MinimalServerComponentList() - .Append() - .Append() - .Append() - .Append() - .Append(""); - - service_template::AppendHello(component_list); - - auto size = std::distance(component_list.begin(), component_list.end()); - std::cout << size << std::endl; - - return 0; -} diff --git a/conan/test_package/test_rabbitmq.cpp b/conan/test_package/test_rabbitmq.cpp deleted file mode 100644 index 1b0fd94d454f..000000000000 --- a/conan/test_package/test_rabbitmq.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "hello.hpp" - -int main(int argc, char* argv[]) { - auto component_list = userver::components::MinimalServerComponentList() - .Append() - .Append() - .Append() - .Append() - .Append(""); - - service_template::AppendHello(component_list); - - auto size = std::distance(component_list.begin(), component_list.end()); - std::cout << size << std::endl; - - return 0; -} diff --git a/conan/test_package/test_redis.cpp b/conan/test_package/test_redis.cpp deleted file mode 100644 index 276bb4672add..000000000000 --- a/conan/test_package/test_redis.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "hello.hpp" - -int main(int argc, char* argv[]) { - auto component_list = userver::components::MinimalServerComponentList() - .Append() - .Append() - .Append() - .Append() - .Append(""); - - service_template::AppendHello(component_list); - - auto size = std::distance(component_list.begin(), component_list.end()); - std::cout << size << std::endl; - - return 0; -} diff --git a/conan/test_package/test_ubench.cpp b/conan/test_package/test_ubench.cpp deleted file mode 100644 index 5263f76bc43e..000000000000 --- a/conan/test_package/test_ubench.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include "hello.hpp" - -#include // for std::uint64_t -#include // for std::size -#include - -#include -#include - -void HelloBenchmark(benchmark::State& state) { - userver::engine::RunStandalone([&] { - constexpr std::string_view kNames[] = {"userver", "is", "awesome", "!"}; - std::uint64_t i = 0; - - for (auto _ : state) { - const auto name = kNames[i++ % std::size(kNames)]; - auto result = service_template::SayHelloTo(name); - benchmark::DoNotOptimize(result); - } - }); -} - -BENCHMARK(HelloBenchmark); diff --git a/conan/test_package/test_universal.cpp b/conan/test_package/test_universal.cpp deleted file mode 100644 index 3a6c9a9e6f41..000000000000 --- a/conan/test_package/test_universal.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include - -#include - -int main() { - auto json = userver::formats::json::FromString(R"({ - "test": "hello from universal" - })"); - std::cout << userver::formats::json::ToString(json) << std::endl; -} diff --git a/conan/test_package/test_utest.cpp b/conan/test_package/test_utest.cpp deleted file mode 100644 index 3f6899e19503..000000000000 --- a/conan/test_package/test_utest.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include "hello.hpp" - -#include - -UTEST(SayHelloTo, Basic) { - EXPECT_EQ(service_template::SayHelloTo("Developer"), "Hello, Developer!\n"); - EXPECT_EQ(service_template::SayHelloTo({}), "Hello, unknown user!\n"); -} diff --git a/universal/CMakeLists.txt b/universal/CMakeLists.txt index 82f36b9a8e65..2eb72d7e10fc 100644 --- a/universal/CMakeLists.txt +++ b/universal/CMakeLists.txt @@ -390,6 +390,7 @@ _userver_directory_install(COMPONENT universal FILES "${USERVER_ROOT_DIR}/cmake/UserverSetupEnvironment.cmake" "${USERVER_ROOT_DIR}/cmake/UserverVenv.cmake" "${USERVER_ROOT_DIR}/cmake/UserverEmbedFile.cmake" + "${USERVER_ROOT_DIR}/cmake/embedded_config.cmake" "${USERVER_ROOT_DIR}/cmake/install/userver-universal-config.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/userver )