Commit Graph

31 Commits

Author SHA1 Message Date
Valerii Koval d9ff250f82 Improved file filtering for the Static Analysis feature (#4570)
* Improved file filtering for the Static Analysis feature

* Better handling of legacy "check_patterns" option

* Rename "check_src_filter" to plural form to better represent functionality

* Move to plural forms of filter variables
2023-03-19 00:45:59 +02:00
Ivan Kravets dcc63da2ef Move "check" command to the root 2022-05-31 17:16:55 +03:00
Valerii Koval e69fd5e682 Minor improvements to check tools
- Better handling of unusual macro for PVS-Studio
- Fail the analysis if Cppcheck exited with an internal error
2022-04-27 20:45:21 +03:00
Valerii Koval 6008275aae Properly handle in-progress C++ standards when invoking Cppcheck // Resolve #3944 (#4070) 2021-09-29 14:46:02 +03:00
valeros 63a2465bac Update check tools to the latest available // Resolve #4041 2021-09-10 18:11:48 +03:00
valeros 3b2fafd789 Add new test for check command and project with whitespace 2021-03-04 22:27:00 +02:00
Ivan Kravets 985f31877c Automatically install tool-unity when there are tests and "idedata" target is called 2021-01-20 15:14:45 +02:00
valeros 6e958b8415 Handle possible issues when check tool cannot be executed // Resolve #3753
Now, each tool individually decides under what conditions the check is considered failed.
2020-12-22 00:21:32 +02:00
Ivan Kravets f946a0bc08 Reformat code with black==20.8b1 2020-09-09 16:27:36 +03:00
Ivan Kravets f77978a295 Apply formatting 2020-08-25 22:01:08 +03:00
Valerii Koval 3e72f098fe Updates for PIO Check (#3640)
* Update check tools to the latest versions

* Use language standard when exporting defines to check tools

* Buffer Cppcheck output to detect multiline messages

* Add new test for PIO Check

* Pass include paths to Clang-Tidy as individual compiler arguments

Clang-tidy doesn't support response files which can exceed command
length limitations on Windows

* Simplify tests for PIO Check

* Update history

* Sync changelog
2020-08-25 21:19:21 +03:00
Ivan Kravets d92c1d3442 Refactor HTTP related operations 2020-08-22 17:48:49 +03:00
Ivan Kravets 6f7fc638c7 Fix PyLint errors in tests 2020-08-17 12:56:57 +03:00
Ivan Kravets 84132d9459 Fix tests 2020-07-08 21:52:34 +03:00
Valerii Koval 4cbad399f7 Remove mbed framework from several tests 2020-06-29 19:22:22 +03:00
Ivan Kravets 29fb803be1 Enable PIO Core tests on Python 3.8 2020-06-27 12:36:57 +03:00
Ivan Kravets 560699fc6b Apply formatting 2020-04-26 12:58:05 +03:00
Valerii Koval 51ec94f78c Add new test for PIO Check with --skip-packages option 2020-04-26 01:38:25 +03:00
Valerii Koval c03f93521b Refactor PIO Check feature (#3478)
* Add new option --skip-packages for check command

Check tools might fail if they're not able to preprocess source
files, for example, Cppcheck uses a custom preprocessor that is
not able to parse complex preprocessor code in zephyr framework).
Instead user can specify this option to skip headers included from
packages and only check project sources.

* Fix toolchain built-in include paths order
C++ and fixed directories should have higher priority

* Refactor check feature

The main purpose is to prepare a more comprehensive build environment.
It's crucial for cppcheck to be able to check complex frameworks like
zephyr, esp-idf, etc. Also detect a special case when cppcheck fails to check
the entire project (e.g. a syntax error due to custom preprocessor)

* Add new test for check feature

Tests ststm32 platform all tools and the main frameworks

* Update check tools to the latest available versions

* Test check tools and Zephyr framework only with Python 3

* Tidy up code

* Add history entry
2020-04-26 00:10:41 +03:00
Valerii Koval 46a9c1b6b2 Add initial support for PVS-Studio check tool (#3357)
* Add initial support for PVS-Studio check tool

* Enable all available PVS-Studio analyzers by default

* Add tests for PVS-Studio check tool

* Improve handling check tool extra flags that contain colon symbol
2020-01-23 12:57:54 +02:00
Ivan Kravets 7345d3ea19 Improve dump of config data 2019-11-05 00:17:39 +02:00
valeros dfd853fa87 Update tests for check command with a new flag "pattern" that supersedes "filter" 2019-11-04 21:34:39 +02:00
valeros d815daed29 Allow specifying defect level that will cause failure 2019-10-30 13:38:46 +02:00
valeros d620579247 Fix tests for check command according to updated exit codes 2019-10-25 21:04:30 +03:00
valeros 4e43e7d3c3 Fix code formatting 2019-10-25 17:43:52 +03:00
valeros 4486a85d4c Introduce new flag --fail-on-defect to pio check 2019-10-25 15:40:50 +03:00
Ivan Kravets 9c7cc87c5f Move command related modules to "commands" package 2019-10-23 16:05:27 +03:00
Ivan Kravets d2abac9b18 Fixed an issue when configuration file options partly ignored when `--project-conf` // Resolve #3034 (#3055)
* Fixed an issue when configuration file options partly ignored when using custom ``--project-conf`` // Resolve #3034

* Py2 compatible makedirs

* Fix circle dependency

* Fix broken import in test examples

* Fix history

* Remove YAPF markers

* PyLint fix

* Fix invalid project conf path

* Move PIO Core to the root on Windows, issue with long CPPPATHs

* Respect global PLATFORMIO_BUILD_CACHE_DIR env var

* Fix Appveyor paths

* Minor changes
2019-09-27 14:13:53 +03:00
Ivan Kravets 7c41c7c2f3 Introduce Black to automate code formatting 2019-09-23 23:13:48 +03:00
Ivan Kravets c720933d34 Refactor PIO Check 2019-09-08 23:33:25 +03:00
Ivan Kravets f61d03ec8f PIO Check (#2982) 2019-09-08 18:04:41 +03:00