mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 21:39:36 +00:00
61 lines
2.1 KiB
Plaintext
61 lines
2.1 KiB
Plaintext
---
|
|
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 автоматически вносит предложения по исправлениям на месте.
|