You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
3.2 KiB
59 lines
3.2 KiB
/** |
|
* Тест загрузки debug настроек из конфигурационного файла |
|
*/ |
|
|
|
#include <stdio.h> |
|
#include <stdlib.h> |
|
#include <string.h> |
|
#include "../lib/debug_config.h" |
|
#include "../src/config_parser.h" |
|
|
|
int main() { |
|
printf("=== Тест загрузки debug настроек из конфигурационного файла ===\n"); |
|
|
|
// Инициализация отладки по умолчанию |
|
debug_config_init(); |
|
debug_set_level(DEBUG_LEVEL_ERROR); // Начальный уровень |
|
|
|
printf("\n1. До загрузки конфигурации:\n"); |
|
DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "ERROR сообщение до загрузки конфигурации"); |
|
DEBUG_INFO(DEBUG_CATEGORY_CONFIG, "INFO сообщение до загрузки конфигурации (не должно выводиться)"); |
|
|
|
// Загрузка конфигурации из файла |
|
printf("\n2. Загрузка конфигурации из файла: test_config_with_debug.conf\n"); |
|
struct utun_config *config = parse_config("test_config_with_debug.conf"); |
|
|
|
if (!config) { |
|
printf("❌ Ошибка загрузки конфигурации\n"); |
|
return 1; |
|
} |
|
|
|
printf("✅ Конфигурация загружена успешно\n"); |
|
printf(" Log file: %s\n", config->global.log_file[0] ? config->global.log_file : "(none)"); |
|
printf(" Debug level: %s\n", config->global.debug_level[0] ? config->global.debug_level : "(none)"); |
|
printf(" Debug categories: 0x%X\n", config->global.debug_categories); |
|
printf(" Enable timestamp: %d\n", config->global.enable_timestamp); |
|
printf(" Enable colors: %d\n", config->global.enable_colors); |
|
|
|
// Тестирование новых настроек |
|
printf("\n4. Тестирование после применения настроек:\n"); |
|
DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "ERROR от ETCP (должен выводиться)"); |
|
DEBUG_INFO(DEBUG_CATEGORY_ETCP, "INFO от ETCP (должен выводиться - уровень debug)"); |
|
DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "DEBUG от ETCP (должен выводиться - уровень debug)"); |
|
DEBUG_INFO(DEBUG_CATEGORY_LL_QUEUE, "INFO от LL_QUEUE (должен выводиться)"); |
|
DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "INFO от MEMORY (должен выводиться)"); |
|
DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "INFO от CONNECTION (НЕ должен выводиться - категория не включена)"); |
|
DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "INFO от CRYPTO (НЕ должен выводиться - категория не включена)"); |
|
|
|
// Проверка работы с файлом |
|
printf("\n5. Проверка вывода в файл:\n"); |
|
DEBUG_INFO(DEBUG_CATEGORY_CONFIG, "Это сообщение должно быть записано в файл: /tmp/utun_debug.log"); |
|
|
|
// Освобождение ресурсов |
|
free_config(config); |
|
|
|
printf("\n=== Тест завершен ===\n"); |
|
printf("Проверьте файл /tmp/utun_debug.log для записанных сообщений\n"); |
|
|
|
return 0; |
|
} |