|
lacteApp
C++17 service for Lacte hardware
|
TestConsoleApp: минимальная инстанциация ConsoleApp<Derived>, используемая ConsoleAppInstancePolicyTest.cpp (внутри процесса, через fork() — без execve()). More...
#include <chrono>#include <filesystem>#include <fstream>#include <memory>#include <stdexcept>#include <string>#include <thread>#include <tuple>#include "AppContext.h"#include "ConsoleApp.hpp"Go to the source code of this file.
Classes | |
| class | TestConsoleApp |
Namespaces | |
| namespace | test_console_app_schema |
| Минимальная самодостаточная схема, объявляющая ровно собственные REQUIRED FIELDS AppContext (см. | |
Functions | |
| auto | make_test_console_app_config (const std::string &app_name, const std::string &log_dir, const int port_offset) -> std::unique_ptr< insitech::config::ConfigStore<> > |
| Строит ConfigStore только со схемой (без файла — см. | |
Variables | |
| constexpr insitech::config::FieldSpec< const char * > | test_console_app_schema::K_APP_NAME |
| constexpr insitech::config::FieldSpec< const char * > | test_console_app_schema::K_APP_DESCRIPTION |
| constexpr insitech::config::FieldSpec< const char * > | test_console_app_schema::K_APP_DIR |
| constexpr insitech::config::FieldSpec< const char * > | test_console_app_schema::K_BUS_MULTICAST_GROUP |
| constexpr insitech::config::FieldSpec< int64_t > | test_console_app_schema::K_BUS_MULTICAST_PORT |
| constexpr insitech::config::FieldSpec< int64_t > | test_console_app_schema::K_SHARED_BUS_ADDRESS |
| constexpr insitech::config::FieldSpec< const char * > | test_console_app_schema::K_LOG_DIR |
| constexpr insitech::config::FieldSpec< int64_t > | test_console_app_schema::K_LOG_MIN_LEVEL |
| constexpr auto | test_console_app_schema::K_ALL_FIELDS |
| constexpr int | K_TEST_CONSOLE_APP_BASE_MULTICAST_PORT = 47800 |
TestConsoleApp: минимальная инстанциация ConsoleApp<Derived>, используемая ConsoleAppInstancePolicyTest.cpp (внутри процесса, через fork() — без execve()).
Это СОБСТВЕННАЯ копия km_lacte — у собственного пакета console_app из coffeboost есть эквивалентный фикстур того же имени/формы для ЕГО СОБСТВЕННЫХ тестов (console_app_reboot_helper.cpp/ ConsoleAppRebootTest.cpp/ConsoleAppCrashTest.cpp, которым также нужен РЕАЛЬНЫЙ отдельный бинарник для execv() — см. файловый doc-комментарий того репозитория), но опубликованный через conan пакет не экспортирует тестовые фикстуры, поэтому собственному тесту этого проекта нужна собственная копия, а не обращение в исходники coffeboost.
Definition in file TestConsoleApp.hpp.
|
inline |
Строит ConfigStore только со схемой (без файла — см.
шаблонный конструктор ConfigStore) для одного тестового процесса, с выбранными вызывающей стороной app_name/log_dir и СОБСТВЕННЫМ отдельным multicast-портом (чтобы несколько сосуществующих экземпляров — например, два конкурирующих "instances", либо клиент-запросчик — никогда не рисковали реальным конфликтом при UDP bind ни друг с другом, ни с реальным продакшн-экземпляром).
Возвращает unique_ptr — ConfigStore нельзя ни копировать, НИ перемещать (см. его собственный = deleteд конструктор копирования), поэтому его нельзя вернуть по значению.
Definition at line 172 of file TestConsoleApp.hpp.
|
inlineconstexpr |
Definition at line 65 of file TestConsoleApp.hpp.