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
Oliver Stöneberg
6634cb95a1
matchcompiler.py: declare matchcompiled functions as `inline` ( #4536 )
2022-10-06 07:58:48 +02:00
Oliver Stöneberg
cff1cd9cda
applied clang-tidy `misc-const-correctness` fixes for POD types, iterators and references ( #4529 )
...
* applied `misc-const-correctness` fixes for POD types and iterators
* applied `misc-const-correctness` fixes for references
2022-10-02 07:12:40 +02:00
Oliver Stöneberg
858585ceb1
disabled all clang-tidy checks for Qt generated files ( #4525 )
...
* disabled cll clang-tidy checks for Qt generated files
* enabled `bugprone-suspicious-include` clang-tidy warning
2022-09-30 07:27:03 +02:00
Oliver Stöneberg
40b5521bf0
added `triage_version.py` for running a code sample against a given amount of Cppcheck binaries ( #4332 )
2022-09-29 22:01:17 +02:00
Oliver Stöneberg
0ab7116891
refs #10700 - donate-cpu-server.py: added query parameter `pkgs` to some reports to request a list of affected packages ( #3743 )
2022-09-29 21:55:44 +02:00
Oliver Stöneberg
d6f1d7bb23
replaced `static const`/fixed `std::vector` containers with `std::array` ( #4440 )
2022-09-27 20:06:15 +02:00
Oliver Stöneberg
1a464ec5ab
donate-cpu-server.py: some minor improvements and cleanups ( #4492 )
...
* donate-cpu-server.py: bumped version
* donate-cpu-server.py: adjusted some variables names
* donate-cpu-server.py: small date string parsing improvement
* donate-cpu-server.py: added timestamp to all messages
* donate-cpu-server.py: bail out if `donated-results` folder is missing
* donate-cpu-server.py: use more detailed timestamp in logging
* donate-cpu-server.py: use `with` scopes
2022-09-22 21:20:38 +02:00
Oliver Stöneberg
21db0b98a6
donate-cpu: small `LibraryIncludes` regular expression improvements / fixed/improved tests ( #4473 )
...
* test_donate_cpu_lib.py: added more tests
* test_donate_cpu_lib.py: fixed non-working assert
* donate_cpu_lib.py: use `\t` in `LibraryIncludes` regular expressions instead of an actual TAB character
* donate_cpu_lib.py: bumped version
* donate_cpu_lib.py: use non-capturing group in `LibraryIncludes` regular expressions
2022-09-16 18:59:53 +02:00
Oliver Stöneberg
339484d2a1
mitigated and enabled more clang-tidy warnings ( #4470 )
...
* fixed some `performance-inefficient-string-concatenation` clang-tidy warnings
* fixed and enabled `modernize-replace-random-shuffle` clang-tidy warning
* fixed and enabled `bugprone-suspicious-string-compare` clang-tidy warning
* mitigated and enabled `readability-non-const-parameter` clang-tidy warnings
* clang-tidy.md: documented some disabled checks
* mitigated and enabled `performance-unnecessary-value-param` clang-tidy warnings
2022-09-16 18:58:59 +02:00
Oliver Stöneberg
76244de640
daca: add checkLibraryCheckType report / bumped client version ( #4457 )
2022-09-15 20:21:40 +02:00
Oliver Stöneberg
a556cc3863
donate-cpu: collect some `--debug-warnings` ( #4422 )
2022-09-09 20:56:14 +02:00
Oliver Stöneberg
9542a7b3cc
Makefile: some cleanups / added `VERBOSE` option ( #4438 )
2022-09-09 15:06:40 +02:00
Oliver Stöneberg
54771306c5
selfcheck : cleaned up some suppressions, fixed warnings and some cleanups ( #4436 )
...
* cleaned up triage.pro and pass all triage files to selfcheck
* CI-unixish.yml: factored out redundant selfcheck flags
* CI-unixish.yml: cleaned up selfcheck suppressions and fixed warnings
* added explicit `missingInclude` checks to selfcheck to work around current issues/limitations / fixed selfcheck includes / added some unit tests for `missingInclude`
* applied the selfcheck changes to the sanitizer jobs
* only fail TSAN CI build in case of TSAN error / updated sanitizer CI build TODOs
2022-09-06 23:11:39 +02:00
Daniel Marjamäki
251de269ec
test-my-pr: fix syntax error
2022-09-05 20:55:55 +02:00
Daniel Marjamäki
cf334100b6
test-my-pr: fix syntax error
2022-09-05 20:21:26 +02:00
Daniel Marjamäki
2e7babbc8d
test-my-pr: if there are crashes then dont compare results and timings
2022-09-05 20:17:38 +02:00
Daniel Marjamäki
4401eba3fa
test-my-pr: show libraries in log output
2022-09-05 16:27:07 +02:00
Daniel Marjamäki
7bb2bd3ca0
test-my-pr: add option --c-only
2022-09-05 11:33:32 +02:00
Daniel Marjamäki
7046687fce
test-my-pr: the check_requirements must be called otherwise __make_cmd is not set
2022-09-02 18:02:11 +02:00
Oliver Stöneberg
9d107d911b
fixed #11276 (donate-cpu: Improve library detection) ( #4421 )
2022-08-30 18:08:02 +02:00
Daniel Marjamäki
4a4f69110e
daca@home: update OLD_VERSION
2022-08-28 17:21:13 +02:00
Oliver Stöneberg
cee04f4ee5
donate-cpu: fixed `make` build / cleanups ( #4398 )
2022-08-25 22:20:30 +02:00
Oliver Stöneberg
9cd9afa1b6
donate-cpu: added support for `mingw32-make` and improved support for `msbuild.exe` ( #4352 )
2022-08-21 17:08:58 +02:00
Oliver Stöneberg
32c0167eab
specify `-pipe` for GCC to use pipes instead of temporary files - greatly reduces I/O usage ( #4360 )
2022-08-16 22:12:01 +02:00
Oliver Stöneberg
31d704e4bc
cppcheckexecutor.cpp: extracted platform-dependent code into separate files ( #4359 )
2022-08-16 22:03:44 +02:00
Oliver Stöneberg
271213cbbd
added make target `validatePlatforms` to CMake ( #4343 )
...
* added missing `platforms/cppcheck-platforms.rng` validation
* added make target `validatePlatforms` to CMake
2022-08-06 19:56:32 +02:00
Oliver Stöneberg
30b20d17cb
donate-cpu: some cleanups ( #4291 )
...
* donate_cpu_lib.py: bumped version
* donate-cpu.py: replaced `version.StrictVersion` from deprecated `distutils` with `version.Version` from `packaging`
* donate_cpu_lib.py: omit `-rp=` from `cppcheck-options`
* donate-cpu.py: use `get_client_version()` instead of constant
2022-07-19 07:52:23 +02:00
Oliver Stöneberg
7ee450ed21
donate-cpu.py: fixed stupid mistakes in client version update notification ( #4290 )
2022-07-18 23:10:33 +02:00
Oliver Stöneberg
cc9c5a2768
donate-cpu.py: added `--version` and show a message when a newer client is available ( #4288 )
2022-07-18 16:24:04 +02:00
Oliver Stöneberg
bc58f55c6e
donate-cpu: greatly improved `LibraryIncludes.get_libraries()` performance / some optimizations and cleanups ( #4273 )
...
* donate_cpu_lib.py: use `os.path.join()`
* donate-cpu: removed remaining usage of `os.chdir()`
* donate_cpu_lib.py: moved library includes code into class
* donate_cpu_lib.py: pre-compile library include regular expressions
* donate_cpu_lib.py: pre-compile some more regular expressions
* donate_cpu_lib.py: small unpack_package() cleanup and optimization
* donate_cpu_lib.py: added some information about the extracted files to unpack_package()
* donate_cpu_lib.py: bumped version
* added test_donate_cpu_lib.py
* donate_cpu_lib.py: greatly improved `LibraryIncludes.get_libraries()` performance
only scan each file once for previously undetected libraries only
* test_donate_cpu_lib.py: fix for Python 3.5
* scriptcheck.yml: added `-v` to pytest calls so we get the complete diff on assertions
* fixed `test_arguments_regression()` Python tests with additional pytest arguments
* donate_cpu_lib.py: use `subprocess.check_call()`
* test_donate_cpu_lib.py: sort results to address differences in order with Python 3.5
2022-07-13 21:09:29 +02:00
chrchr-github
21d992cc00
Fix crash on Windows with -j option ( #4229 )
...
* Fix crash on Windows with -j option
* Disable CI-cygwin workflow
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Try to fix Cygwin build
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Update CI-cygwin.yml
* Cygwin uses THREADING_MODEL_FORK
* Restore workflows
* Remove comment
* Fix dmake
* Fix #11179 FP invalidFunctionArgStr
* Revert "Fix #11179 FP invalidFunctionArgStr"
This reverts commit dd5d3e67c6
.
2022-07-13 13:46:03 +02:00
Oliver Stöneberg
1d9b6e1aac
donate-cpu: fixed library detection ( #4261 )
2022-07-12 19:39:07 +02:00
Oliver Stöneberg
e8b0f12367
replaced `if(MATCHES)` with `if(STREQUAL)` ( #4263 )
...
`MATCHES` does regular expression matching which is not the intended behavior here. `Clang` still requires it since it also needs to match `AppleClang.
2022-07-11 10:46:18 +02:00
Armin Müller
0ae9877766
Typos found by running "codespell" ( #4260 )
2022-07-10 22:40:05 +02:00
Oliver Stöneberg
c9c1f83a69
use `emptyString` more consistently ( #4034 )
2022-07-10 10:57:29 +02:00
Oliver Stöneberg
b51aea5531
separated process execution code into `ProcessExecutor` ( #4249 )
2022-07-08 16:42:57 +02:00
orbitcowboy
10c7c70970
Activated 'make validateRules' and improved rule XML file parsing. Now, it optionally accepts '<rules>...</rules>' tags to make xmllint happy.
2022-06-22 00:03:18 +02:00
orbitcowboy
49ffe80f75
Decativate 'make validateRules'
2022-06-21 17:14:53 +02:00
orbitcowboy
6f303ce61c
daca@home: Set '--inline-suppr' flag.
2022-06-21 16:18:12 +02:00
Paul Fultz II
2a0b2f538e
Check tokType in match compiler ( #4219 )
...
* Check tokType in match compiler
* Set keyword when tokenlist is missing
2022-06-18 21:30:42 +02:00
Rikard Falkeborn
e7b5a776bd
Matchcompiler: Add missing makeConstString ( #4179 )
2022-06-08 09:24:20 +02:00
Oliver Stöneberg
d299d22fa2
updated CI to latest ubuntu and clang ( #4004 )
2022-05-22 15:27:32 +02:00
Daniel Marjamäki
98f9fd0d8f
daca@home: update old-version and server script version
2022-05-21 19:09:10 +02:00
Daniel Marjamäki
31560299f8
donate-cpu: skip torture test file
2022-05-20 23:20:16 +02:00
Oliver Stöneberg
c71033548f
fixed some clang-tidy warnings ( #3080 )
2022-05-08 20:42:06 +02:00
orbitcowboy
a6b8bb5950
donate_cpu: Added '<sys/uio.h>' to bsd include list.
2022-04-26 09:46:18 +02:00
Oliver Stöneberg
36ef4dc5b8
added support for Qt6 ( #3930 )
2022-04-15 18:49:24 +02:00
Oliver Stöneberg
32978933b5
removed leftovers of generated cfg tests ( #4008 )
2022-04-13 12:24:17 +02:00
Oliver Stöneberg
902f46bae5
some minor QRegularExpression usage optimizations and cleanups ( #3999 )
2022-04-11 19:15:42 +02:00
Daniel Marjamäki
8f386e15fd
Remove bug hunting. This feature will be provided in Cppcheck premium.
2022-04-11 07:31:33 +02:00
chrchr-github
bd9f5231b8
Fix #10179 FP divideSizeof with dereferenced pointer-to-pointer ( #3786 )
2022-04-10 22:47:27 +02:00
Oliver Stöneberg
a0bab85bf9
ported GUI code from QRegExp to QRegularExpression ( #3785 )
2022-03-23 18:16:22 +01:00
Oliver Stöneberg
dcaff3b635
donate_cpu_lib.py: some cleanups ( #3916 )
2022-03-21 18:46:19 +01:00
Oliver Stöneberg
18d24e2420
reduce.py: some fixes ( #3914 )
...
* reduce.py: fixed potential "TypeError: slice indices must be integers or None or have an __index__ method" in combinelines()
* reduce.py: the combinelines() changes were not applied when the chunk mode was used
2022-03-21 17:14:47 +01:00
chrchr-github
0e147502cc
Fix #10888 FN variableScope with enum and struct ( #3920 )
...
* Fix #10888 FN variableScope with enum and struct
* Scope reduction
* Scope reduction
2022-03-21 16:05:38 +01:00
Oliver Stöneberg
469575cb21
donate_cpu_lib.py: actually make compile_cppcheck() fail when the build fails / some cleanups ( #3830 )
2022-03-19 20:06:11 +01:00
Oliver Stöneberg
8fc5c93803
refactored reduce.py into a class and added unit test for it ( #3791 )
2022-03-19 19:42:44 +01:00
Oliver Stöneberg
0d336b868c
avoid some Clang compiler warnings ( #3896 )
2022-03-13 20:07:58 +01:00
Oliver Stöneberg
e208fc67c1
small selfcheck improvements ( #3888 )
...
* CI-unixish.yml: added missing cppcheck-lib library to GUI selfcheck
* CI-unixish.yml: split triage from tools selfcheck since it requires the qt library
* replaced Q_NULLPTR with nullptr
* fixed passedByValue selfcheck warning
2022-03-11 21:42:46 +01:00
Daniel Marjamäki
bfdfe1e607
run-coverity: updated coverity tool
2022-02-18 19:55:45 +01:00
Oliver Stöneberg
aaa4425d90
added MinGW to CI and fixed local MinGW build ( #3826 )
2022-02-16 07:06:04 +01:00
Oliver Stöneberg
d3ba5a0829
donate-cpu.py: added "--packages" parameter to specify a list of packages to process ( #3742 )
2022-02-14 12:59:38 +01:00