--- sidebar_label: Команды качества (test, fmt) --- # Команды качества ## `dcr test` Запускает тесты. ```bash dcr test # debug профиль dcr test --release # release профиль dcr test --debug # явный debug dcr test --help # подробная справка ``` Перед первым запуском нужно инициализировать тесты: ```bash dcr test --init ``` Это создаёт `tests/dcr_test.h` (фреймворк) и `tests/test.c` (шаблон). Что делает `dcr test`: 1. Собирает проект 2. Собирает файлы `tests/*.c` (только `.c`, не `.cpp`) 3. Компилирует и линкует каждый файл теста 4. Запускает каждый бинарник тестов 5. Вывод сводки: TOTAL, PASS, SKIP, FAIL 6. Возвращает ненулевой код при наличии FAIL ## `dcr fmt` Форматирует исходный код C/C++ через `clang-format`. ```bash dcr fmt ``` Процессы: `src/**/*.{c,cpp,cxx,cc,h,hpp,hxx,hh}` и `tests/**/*.{c,cpp,cxx,cc,h,hpp,hxx,hh}`. Использует `.clang-format` в корне проекта (если таковой имеется), иначе стиль clang-format по умолчанию. ## `dcr lint` Выполняет `clang-tidy` на C/C++ исходных файлах для статического анализа. ```bash dcr lint # отобразить диагностику dcr lint --fix # автоматически применить исправления dcr lint --help # подробная справка ``` Процессы: `src/**/*.{c,cpp,cxx,cc}` и `tests/**/*.{c,cpp,cxx,cc}`. Без параметра `--fix` clang-tidy выдает предупреждения и ошибки, не внося изменений в файлы. При параметре `--fix` clang-tidy автоматически вносит предложения по исправлениям на месте.