Helper command for Static Code Analysis.
pio check [OPTIONS]
Perform static analysis check on PlatformIO based project. By default Cppcheck analysis tool is used.
More details about PlatformIO Static Code Analysis.
Process specified environments.
You can specify which source files or folders should be included/excluded from check
process. By default only src_dir and include_dir
are checked. Multiple --pattern
options and GLOB Patterns are allowed.
Example: pio check --pattern="tests" --pattern="src/*.cpp"
Specify additional flags that need to be passed to the analysis tool. If multiple tools set in check_tool option, the flags are passed to all of them. Individual flags for each tool can be added using a special suffix with the tool name.
Flag |
Meaning |
---|---|
|
Execute addon. i.e. cert. |
|
Define preprocessor symbol. |
Multiple --flags
options are allowed.
Example: pio check --flags "-DDEBUG cppcheck: --std=c++11 --platform=avr8"
Specify the Defect severity types which will be reported by the Check tools.
Possible values described in Defect severity section. Multiple --severity
options are allowed.
Example: pio check --severity=high
Specify the path to project directory. By default, --project-dir
is equal
to the current working directory (CWD
).
Process project with a custom “platformio.ini” (Project Configuration File).
Return the output in JSON format.
Fail (exit with non-zero code) if there is a defect found with specified
severity. By default exit code is the same as the exit code returned by
a tool selected for performing check. Possible values described in
Defect severity section. Multiple --fail-on-defect
options are allowed.
Example: pio check --fail-on-defect=low --fail-on-defect=medium
Exclude underlying third-party packages from the checking process. By default, PlatformIO passes frameworks and toolchains include paths required by internal analysis tools to properly analyze project sources. Some of the supported analysis tools use their own preprocessor which may fail to parse perfectly valid code and thus provide empty or partial check reports. This option is useful when developers have no control over this third-party code and want to perform analysis at least on project sources.
Example: pio check --skip-packages
Suppress progress reporting and show only defects with high
severity.
See Defect severity.
Show detailed information when processing environments.
This option can also be set globally using force_verbose setting
or by environment variable PLATFORMIO_SETTING_FORCE_VERBOSE
.
For the examples please follow to Static Code Analysis page.