Commit Graph

1273 Commits

Author SHA1 Message Date
Rainer Wiesenfarth f4f58bf020
Fix #11081 GUI: Windows release build crashes (#5083)
* Fix #11081 GUI: Windows release build crashes

Use generator expressions rather than if statements when adding compiler
options or definitions.

* Fix #11081 GUI: Windows CMake debug build fails with default options

When DISABLE_CRTDBG_MAP_ALLOC is using the default value (OFF), the
debug build of cppcheck-gui fails, as the "realloc" method names in some
of the Qt headers are replaced by the macro defined by the compiler.
Thus DISABLE_CRTDBG_MAP_ALLOC is explicitely set when compiling
cppcheck-gui in Debug mode using MSVC.
2023-06-07 11:33:55 +02:00
Daniel Marjamäki 956bb3ce8c
test-my-pr: use --packages-path if you want to check packages in a path (#5077) 2023-05-23 09:51:51 +02:00
chrchr-github 78182d4773
Fix FN constVariablePointer (#5076)
* Fix FN constVariablePointer

* Fix FP

* Add const

* Fix tests

* Add const
2023-05-22 19:53:51 +02:00
Oliver Stöneberg e6ae312a0b
moved more code into `HAVE_RULES` (#4956)
* moved more code into `HAVE_RULES`

* properly enable all internal and rules code in selfcheck

* updated TODOs in selfcheck

* testrunner.vcxproj.filters: updated

* added missing `Debug-PCRE` and `Release-PCRE` configurations for `testrunner` Visual Studio project

* cppcheck.cpp: fixed `useStlAlgorithm` selfcheck warning
2023-05-04 10:54:19 +02:00
Oliver Stöneberg 4807bffdbf
triage_version.py: added `--perf` to collect performance data in CSV format (#4833)
* removed old timing tracking code

* tools/triage_py/README.md: updated

* triage_version.py: fixed output when when stderr and stdout are not empty

* triage_version.py: added `--perf` to collect performance data in CSV format

* triage_version.py: added TODO about providing additional options

* triage_version.py: added `--start` to specify the first tag/commit to execute
2023-04-30 22:19:04 +02:00
Oliver Stöneberg 9239549598
donate-cpu-server.py: added support for basic `information` reports / some cleanups (#5014)
* donate-cpu-server.py: bumped version

* donate-cpu-server.py: fixed some PyCharm inspection warnings

* donate-cpu-server.py: use `os.path.join()`

* donate-cpu-server.py: added support for basic `information` reports
2023-04-28 15:33:25 +02:00
Oliver Stöneberg 1f2b49142e
extracted single job execution into `SingleExecutor` / improved testing / do not unconditionally apply colors to output (#4882)
* added `Settings::useSingleJob()` and use it instead of checking `jobs` or `jointSuppressionReport`

* extracted single job execution into `SingleExecutor`

* moved `reportStatus()` from `CppCheckExecutor` to Èxecutor

* TestSingleExecutor: improved tests

* added testing of markup extension handling in executors

* cleaned up includes based on `include-what-you-use`

* testsingleexecutor.cpp: suppress `performance-unnecessary-value-param` clang-tidy warnings

* ProcessExecutor: send color via pipe instead of applying it beforehand

* do not unconditionally apply colors to output / disable all colors in tests / adjusted tests for changed output behavior

* fixed precision loss in `Executor::reportStatus()`

* fixed `naming-varname` selfcheck warnings
2023-04-08 18:06:38 +02:00
Oliver Stöneberg ba168474f2
split `templateInstantiation` from `debug` warnings (#4933) 2023-04-08 16:50:11 +02:00
Oliver Stöneberg 5be8eee943
iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
Oliver Stöneberg 16a9f54977
donate-cpu-server.py: only use more precise timestamp for logging - will unbreak "Time" columns and stale report (#4909) 2023-04-04 11:37:16 +02:00
Oliver Stöneberg 5ec0ad6bed
use `ccache` for sanitizer builds / do not use precompiled headers with `ccache` (#4910)
* added CMake option `DISABLE_DMAKE` to disable `run-dmake` dependencies

* tools/CMakeLists.txt: added TODO

* use `ccache` for sanitizer builds

* aligned selfcheck between sanitizer workflows and disabled some currently unnecessary steps

* CI-unixish.yml: do not use precompiled headers with `ccache`
2023-04-01 09:40:10 +02:00
Paul Fultz II fd8a7b9537
ValueFlow: Evaluate if statement for function returns (#4908) 2023-03-24 13:31:26 +01:00
Oliver Stöneberg 30131837b5
refs #11603 - deprecated `--enable=information` implicitly enabling `missingInclude` (#4865) 2023-03-09 20:04:20 +01:00
Oliver Stöneberg 30b3d73229
bisect.sh: make it possible to detect commits which fix scan time regressions / improved documentation (#4863) 2023-03-08 15:00:10 +01:00
Oliver Stöneberg bd1ae69b00
cleaned up includes based on `include-what-you-use` (#4599) 2023-03-02 21:50:14 +01:00
Oliver Stöneberg 68504a0f51
bisect: handle crashes as "bad" / added hot-patch for 1.88/1.89 compilation failures / added expected output as optional parameter (#4804) 2023-03-02 21:49:05 +01:00
Oliver Stöneberg 514e605598
CI-unixish.yml: fixed and enabled all `build` steps for macos (#4832) 2023-03-02 20:54:30 +01:00
Oliver Stöneberg 535ab69fa0
triage_version.py: extend template for 1.x versions with error ID (#4801) 2023-02-24 07:02:51 +01:00
Oliver Stöneberg a846bc2d99
added precompiled header for `cli` (#4779) 2023-02-08 21:11:11 +01:00
Oliver Stöneberg 41d2d1b0b5
added a script to bisect regressions (#4286) 2023-02-07 21:59:52 +01:00
Oliver Stöneberg 20ff2d7172
donate_cpu_lib.py: use `subprocess.check_call()` so failed calls will actually raise an exception (#4750) 2023-02-07 21:42:37 +01:00
Rikard Falkeborn 9acc9659aa
test-my-pr robustification (#4756)
* Add try_retry-logic to get_packages_count()

Occasionally, get_packages_count() fails, which is a bit annoying since
it happens after compilation and therefore can take some time to detect.
Add try-retry to the function to make it more robust.

* Move try_retry-logic to lib.get_package()

Moving it to the library means test-my-pr also benefits from it. This
fixes Trac ticket #11405.
2023-01-31 22:39:55 +01:00
Daniel Marjamäki a64dfbc519 daca: update old version 2023-01-28 14:53:47 +01:00
Daniel Marjamäki 464fbe8d53 Update copyright year 2023-01-28 10:16:34 +01:00
Oliver Stöneberg 1d3955bd92
renamed some files in the `test` folder (#4705) 2023-01-27 08:18:32 +01:00
Oliver Stöneberg 58de191b99
triage_version.py: specify `--platform=native` / small cleanup (#4741) 2023-01-26 20:06:12 +01:00
Oliver Stöneberg 41849b1a78
generate `*.vcxproj` file lists with `dmake` (#4652) 2023-01-21 11:55:36 +01:00
Oliver Stöneberg e205550bdb
donate-cpu-server.py: only include packages which crash on head in the crash report package list (#4714) 2023-01-18 20:19:31 +01:00
Oliver Stöneberg c2de9843ca
donate_cpu_lib.py: use `try_retry()` in `__remove_tree()` (#4715) 2023-01-18 17:02:09 +01:00
Oliver Stöneberg c99c444877
triage_version.py: added `--no-quiet`, `--no-stderr` and `--no-stdout` for more granular output control (#4713) 2023-01-18 17:00:57 +01:00
Armin Müller a77f0d9403
Typos found by running "codespell" (#4702) 2023-01-10 15:15:27 +01:00
Oliver Stöneberg cac86ada2b
donate-cpu-server.py: fixed factor calculation when base time is 0.0 (#4671) 2023-01-01 15:28:03 +01:00
Oliver Stöneberg 525181c5aa
triage_version.py: improved error handling of version input and sorting (#4667) 2023-01-01 15:27:21 +01:00
Oliver Stöneberg d7416bc1e9
donate-cpu-server.py: various improvements - mainly to the time reports (#4670) 2022-12-31 18:10:40 +01:00
Oliver Stöneberg 0c95971c54
added .gitattributes and normalized files (#4668) 2022-12-30 21:33:45 +01:00
Oliver Stöneberg 71cdacdc97
fixed missing location for `valueFlowMaxIterations` debug warning / also added it to daca server overview (#4664) 2022-12-30 21:20:00 +01:00
Oliver Stöneberg 1cfe49e340
use `const_iterator` where possible (#4662) 2022-12-30 15:13:47 +01:00
Oliver Stöneberg d8451eda5f
donate-cpu: fixed interrupted `main` branch compilation (#4643) 2022-12-18 19:50:22 +01:00
Oliver Stöneberg 0ed98c8f29
removed unused test files (#4648) 2022-12-18 19:36:37 +01:00
Oliver Stöneberg e5721030ca
greatly sped up `dmake` (#4630)
* dmake.cpp: use `endsWith()` in `getCppFiles()`

* dmake.cpp: optimized string concatenation in `getDeps()`

* dmake.cpp: avoid duplicated `std::string::find()` in `getDeps()`

* dmake.cpp: no need to get dependencies of headers without `.h` extension in `getDeps()`

* dmake.cpp: do not try to look for file in `externals` folder which does not contain any headers in `getDeps()`
2022-12-17 09:13:31 +01:00
Rikard Falkeborn ac525531d9
test-my-pr, mark --c-only and --cpp-only mutually exclusive (#4628)
It makes no sense to specify both arguments at the same time.
2022-12-11 19:41:21 +01:00
Daniel Marjamäki 883908b439 triage tool: handle reports when cppcheck is run on local packages 2022-12-01 06:34:23 +01:00
Oliver Stöneberg 67f46b7353
donate-cpu: avoid unnecessary build invocation for `main` (#4596) 2022-11-28 20:49:05 +01:00
Oliver Stöneberg 01abf4c347
fixed macos build by manually installing `pcre` (#4597)
* Makefile: bail out if `pcre-config` is missing

* CI-unixish.yml: install `pcre` for `macos` via `brew` since it suddenly disappeared from the runner images
2022-11-25 15:11:57 +01:00
Oliver Stöneberg f6c2afa2ea
fix #10159 - donate-cpu: collect and avoid packages with no files to process (#4498) 2022-11-23 19:13:54 +01:00
Oliver Stöneberg a7dde5d470
donate-cpu: improved client stability by consistently re-trying remote calls / cleanups (#4545) 2022-11-20 14:47:19 +01:00
Oliver Stöneberg e235297a14
donate-cpu-server.py: improved error handling and reporting / some cleanups (#4534) 2022-11-20 13:10:43 +01:00
Armin Müller 7f74aad8e2
Typos found by running "codespell" (#4578) 2022-11-09 22:52:03 +01:00
omarandlorraine 6488650d24
use python3 on debians too (#3812)
* use python3 on debians too

in Debian 11 which is Bullseye, /usr/bin/python is a Python2
interpreter, which means that cppcheck-htmlreport fails to run here.
So I've chenged the shebang to use python3

* change all shebangs from python to python3

Co-authored-by: Sam M W <smw@alertergroup.co.uk>
2022-11-03 22:14:30 +01:00
Oliver Stöneberg 12afb9bbf4
cleaned up global `donate_cpu_lib.py` configuration variables (#4532) 2022-10-06 20:49:47 +02:00