diff --git a/tests/test_config_debug.c b/tests/test_config_debug.c index 1b2c72dc..5a3cc656 100644 --- a/tests/test_config_debug.c +++ b/tests/test_config_debug.c @@ -9,34 +9,34 @@ #include "../src/config_parser.h" int main() { - printf("=== Тест загрузки debug настроек из конфигурационного файла ===\n"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "=== Тест загрузки debug настроек из конфигурационного файла ==="); // Инициализация отладки по умолчанию debug_config_init(); debug_set_level(DEBUG_LEVEL_ERROR); // Начальный уровень - printf("\n1. До загрузки конфигурации:\n"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "1. До загрузки конфигурации:"); DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "ERROR сообщение до загрузки конфигурации"); DEBUG_INFO(DEBUG_CATEGORY_CONFIG, "INFO сообщение до загрузки конфигурации (не должно выводиться)"); // Загрузка конфигурации из файла - printf("\n2. Загрузка конфигурации из файла: test_config_with_debug.conf\n"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "2. Загрузка конфигурации из файла: test_config_with_debug.conf"); struct utun_config *config = parse_config("test_config_with_debug.conf"); if (!config) { - printf("❌ Ошибка загрузки конфигурации\n"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "❌ Ошибка загрузки конфигурации"); 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); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "✅ Конфигурация загружена успешно"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, " Log file: %s", config->global.log_file[0] ? config->global.log_file : "(none)"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, " Debug level: %s", config->global.debug_level[0] ? config->global.debug_level : "(none)"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, " Debug categories: 0x%X", config->global.debug_categories); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, " Enable timestamp: %d", config->global.enable_timestamp); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, " Enable colors: %d", config->global.enable_colors); // Тестирование новых настроек - printf("\n4. Тестирование после применения настроек:\n"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "4. Тестирование после применения настроек:"); DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "ERROR от ETCP (должен выводиться)"); DEBUG_INFO(DEBUG_CATEGORY_ETCP, "INFO от ETCP (должен выводиться - уровень debug)"); DEBUG_DEBUG(DEBUG_CATEGORY_ETCP, "DEBUG от ETCP (должен выводиться - уровень debug)"); @@ -46,14 +46,14 @@ int main() { DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "INFO от CRYPTO (НЕ должен выводиться - категория не включена)"); // Проверка работы с файлом - printf("\n5. Проверка вывода в файл:\n"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "5. Проверка вывода в файл:"); DEBUG_INFO(DEBUG_CATEGORY_CONFIG, "Это сообщение должно быть записано в файл: /tmp/utun_debug.log"); // Освобождение ресурсов free_config(config); - printf("\n=== Тест завершен ===\n"); - printf("Проверьте файл /tmp/utun_debug.log для записанных сообщений\n"); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "=== Тест завершен ==="); + DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, "Проверьте файл /tmp/utun_debug.log для записанных сообщений"); return 0; } \ No newline at end of file diff --git a/tests/test_debug_categories.c b/tests/test_debug_categories.c index 7f2ae022..d0b6fea0 100644 --- a/tests/test_debug_categories.c +++ b/tests/test_debug_categories.c @@ -8,15 +8,18 @@ #include "../lib/debug_config.h" int main(int argc, char *argv[]) { - printf("=== Тест настройки категорий из аргументов ===\n"); - printf("Запуск с аргументами: "); - for (int i = 0; i < argc; i++) { - printf("%s ", argv[i]); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "=== Тест настройки категорий из аргументов ==="); + char buf[1024]; + int pos = snprintf(buf, sizeof(buf), "Запуск с аргументами: "); + for (int i = 0; i < argc && pos < (int)sizeof(buf) - 1; i++) { + pos += snprintf(buf + pos, sizeof(buf) - pos, "%s ", argv[i]); } - printf("\n\n"); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "%s", buf); // Инициализация отладки debug_config_init(); + debug_set_level(DEBUG_LEVEL_INFO); + debug_set_categories(DEBUG_CATEGORY_ALL); // Анализ аргументов командной строки int debug_categories = 0; @@ -47,41 +50,41 @@ int main(int argc, char *argv[]) { if (strcmp(argv[i], "--debug-etcp") == 0) { debug_enable_category(DEBUG_CATEGORY_ETCP); debug_categories |= DEBUG_CATEGORY_ETCP; - printf("✅ Включена категория ETCP\n"); + DEBUG_INFO(DEBUG_CATEGORY_ETCP, "✅ Включена категория ETCP"); } else if (strcmp(argv[i], "--debug-queue") == 0) { debug_enable_category(DEBUG_CATEGORY_LL_QUEUE); debug_categories |= DEBUG_CATEGORY_LL_QUEUE; - printf("✅ Включена категория LL_QUEUE\n"); + DEBUG_INFO(DEBUG_CATEGORY_LL_QUEUE, "✅ Включена категория LL_QUEUE"); } else if (strcmp(argv[i], "--debug-memory") == 0) { debug_enable_category(DEBUG_CATEGORY_MEMORY); debug_categories |= DEBUG_CATEGORY_MEMORY; - printf("✅ Включена категория MEMORY\n"); + DEBUG_INFO(DEBUG_CATEGORY_MEMORY, "✅ Включена категория MEMORY"); } else if (strcmp(argv[i], "--debug-all") == 0) { debug_set_categories(DEBUG_CATEGORY_ALL); debug_categories = DEBUG_CATEGORY_ALL; - printf("✅ Включены все категории\n"); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "✅ Включены все категории"); break; // Все категории уже включены } else if (strcmp(argv[i], "--debug-none") == 0) { debug_set_categories(DEBUG_CATEGORY_NONE); debug_categories = DEBUG_CATEGORY_NONE; - printf("✅ Выключены все категории\n"); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "✅ Выключены все категории"); break; // Все категории уже выключены } else if (strcmp(argv[i], "--level") == 0 && i+1 < argc) { i++; if (strcmp(argv[i], "error") == 0) { debug_set_level(DEBUG_LEVEL_ERROR); - printf("✅ Установлен уровень ERROR\n"); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "✅ Установлен уровень ERROR"); } else if (strcmp(argv[i], "info") == 0) { debug_set_level(DEBUG_LEVEL_INFO); - printf("✅ Установлен уровень INFO\n"); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "✅ Установлен уровень INFO"); } else if (strcmp(argv[i], "debug") == 0) { debug_set_level(DEBUG_LEVEL_DEBUG); - printf("✅ Установлен уровень DEBUG\n"); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "✅ Установлен уровень DEBUG"); } } } - printf("\n=== Тестовые сообщения ===\n"); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "=== Тестовые сообщения ==="); // Сообщения от разных категорий DEBUG_INFO(DEBUG_CATEGORY_ETCP, "Сообщение от ETCP категории"); @@ -90,17 +93,18 @@ int main(int argc, char *argv[]) { DEBUG_INFO(DEBUG_CATEGORY_CONNECTION, "Сообщение от CONNECTION категории"); DEBUG_INFO(DEBUG_CATEGORY_CRYPTO, "Сообщение от CRYPTO категории"); - printf("\n=== Информация о текущих настройках ===\n"); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "=== Информация о текущих настройках ==="); - printf("Активные категории: "); - if (debug_categories & DEBUG_CATEGORY_ETCP) printf("ETCP "); - if (debug_categories & DEBUG_CATEGORY_LL_QUEUE) printf("LL_QUEUE "); - if (debug_categories & DEBUG_CATEGORY_MEMORY) printf("MEMORY "); - if (debug_categories & DEBUG_CATEGORY_CONNECTION) printf("CONNECTION "); - if (debug_categories & DEBUG_CATEGORY_CRYPTO) printf("CRYPTO "); - if (debug_categories == DEBUG_CATEGORY_ALL) printf("ALL "); - if (debug_categories == DEBUG_CATEGORY_NONE) printf("NONE "); - printf("\n"); + char cat_buf[256]; + int cat_pos = snprintf(cat_buf, sizeof(cat_buf), "Активные категории: "); + if (debug_categories & DEBUG_CATEGORY_ETCP) cat_pos += snprintf(cat_buf + cat_pos, sizeof(cat_buf) - cat_pos, "ETCP "); + if (debug_categories & DEBUG_CATEGORY_LL_QUEUE) cat_pos += snprintf(cat_buf + cat_pos, sizeof(cat_buf) - cat_pos, "LL_QUEUE "); + if (debug_categories & DEBUG_CATEGORY_MEMORY) cat_pos += snprintf(cat_buf + cat_pos, sizeof(cat_buf) - cat_pos, "MEMORY "); + if (debug_categories & DEBUG_CATEGORY_CONNECTION) cat_pos += snprintf(cat_buf + cat_pos, sizeof(cat_buf) - cat_pos, "CONNECTION "); + if (debug_categories & DEBUG_CATEGORY_CRYPTO) cat_pos += snprintf(cat_buf + cat_pos, sizeof(cat_buf) - cat_pos, "CRYPTO "); + if (debug_categories == DEBUG_CATEGORY_ALL) cat_pos += snprintf(cat_buf + cat_pos, sizeof(cat_buf) - cat_pos, "ALL "); + if (debug_categories == DEBUG_CATEGORY_NONE) cat_pos += snprintf(cat_buf + cat_pos, sizeof(cat_buf) - cat_pos, "NONE "); + DEBUG_INFO(DEBUG_CATEGORY_ALL, "%s", cat_buf); return 0; } \ No newline at end of file