# QA Utils
[](https://components.espressif.com/components/esp-qa/utils)
This repository contains qa test utils.
There is no GitHub repository for this component. Please report issues to [the iperf-cmd repository](https://github.com/espressif/iperf-cmd) instead.
## Documentation
Protocol / parseable test logs live in `qa_utils_log.h` (also pulled in by `qa_utils.h`).
`QA_TEST_LOG` builds the line at the call site via `#if CONFIG_QA_TEST_LOG_ENABLE_TAG`
(`tag ": " format "\n"` or just `format "\n"`). `QA_TEST_LOG_T` uses the caller tag
literal. `qa_utils_log_writev()` only writes that line.
| Macro | Example output body |
|---|---|
| `QA_TEST_LOG(...)` | free-form |
| `QA_TEST_LOG_OK("TEST")` / `QA_TEST_LOG_RES("TEST", "OK")` | `+TEST,OK,` |
| `QA_TEST_LOG_FAIL("ACTION")` / `QA_TEST_LOG_RES("ACTION", "FAIL")` | `+ACTION,FAIL,` |
| `QA_TEST_LOG_RES_F("TEST", "FAIL", "%d", n)` | `+TEST,FAIL,<n>` |
| `QA_TEST_DONE(err, "DESC")` | `DONE.DESC,OK.` / `DONE.DESC,FAIL.` |
| `QA_TEST_EW(...)` | `@EW:...` |
| `QA_TEST_SAFE_PRINT(data, len)` | raw escaped payload (no tag) |
### Installation
- To add a plugin command or any component from IDF component manager into your project, simply include an entry within the `idf_component.yml` file.
```yaml
dependencies:
esp-qa/utils:
version: "^0.3.0"
```
- For more details refer [IDF Component Manager](https://docs.espressif.com/projects/idf-component-manager/en/latest/)
idf.py add-dependency "esp-qa/utils^0.3.0"