mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 13:38:30 +00:00
61 lines
1.4 KiB
Plaintext
61 lines
1.4 KiB
Plaintext
---
|
|
sidebar_label: Quality commands (test, fmt)
|
|
---
|
|
|
|
# Quality Commands
|
|
|
|
## `dcr test`
|
|
|
|
Runs tests.
|
|
|
|
```bash
|
|
dcr test # debug profile
|
|
dcr test --release # release profile
|
|
dcr test --debug # explicit debug
|
|
dcr test --help # detailed help
|
|
```
|
|
|
|
Before first use, initialize tests:
|
|
|
|
```bash
|
|
dcr test --init
|
|
```
|
|
|
|
This creates `tests/dcr_test.h` (framework) and `tests/test.c` (template).
|
|
|
|
What `dcr test` does:
|
|
|
|
1. Builds the project
|
|
2. Collects `tests/*.c` files (`.c` only, not `.cpp`)
|
|
3. Compiles and links each test file
|
|
4. Runs each test binary
|
|
5. Prints summary: TOTAL, PASS, SKIP, FAIL
|
|
6. Returns non-zero exit code on any FAIL
|
|
|
|
## `dcr fmt`
|
|
|
|
Formats C/C++ source files using `clang-format`.
|
|
|
|
```bash
|
|
dcr fmt
|
|
```
|
|
|
|
Processes: `src/**/*.{c,cpp,cxx,cc,h,hpp,hxx,hh}` and `tests/**/*.{c,cpp,cxx,cc,h,hpp,hxx,hh}`.
|
|
|
|
Uses `.clang-format` at the project root (if present), otherwise default clang-format style.
|
|
|
|
## `dcr lint`
|
|
|
|
Runs `clang-tidy` on C/C++ source files for static analysis.
|
|
|
|
```bash
|
|
dcr lint # show diagnostics
|
|
dcr lint --fix # apply fixes automatically
|
|
dcr lint --help # detailed help
|
|
```
|
|
|
|
Processes: `src/**/*.{c,cpp,cxx,cc}` and `tests/**/*.{c,cpp,cxx,cc}`.
|
|
|
|
Without `--fix`, clang-tidy reports warnings and errors without modifying files.
|
|
With `--fix`, clang-tidy applies automatic suggestions in place.
|