Commit Graph

1248 Commits

Author SHA1 Message Date
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
Oliver Stöneberg c690bfb03a
matchcompiler.py: skip comments in _replaceTokenMatch() (#3825) 2022-02-11 21:20:55 +01:00
Oliver Stöneberg 04b2a6f1c5
use Python version provided by platform in CI / prefer python3 (#3776) 2022-02-11 19:37:32 +01:00
Oliver Stöneberg d528555002
some preparations for Qt6 support (#3777)
* findDependencies.cmake: cleaned up find_package() call for Qt

* some CMake preparations for Qt6 support

* some Qt6 compilation fixes
2022-02-07 17:35:25 +01:00
Daniel Marjamäki b19010159c 2.7: update daca@home version 2022-02-05 14:00:25 +01:00
Daniel Marjamäki 3989408738 Update copyright year 2022-02-05 11:45:17 +01:00
Paul Fultz II 508fa6284c
Python fixes for reduce.py (#3795) 2022-02-05 08:32:01 +01:00
Oliver Stöneberg 58f9672ff4
cleaned up GUI includes based on include-what-you-use (#3792) 2022-02-02 22:31:51 +01:00
Oliver Stöneberg 9d36dd56a8
reordered includes in GUI code (#3790) 2022-02-02 16:17:28 +01:00
Oliver Stöneberg a03d754d19
more copyright fixes (#3771) 2022-01-28 18:30:12 +01:00
Oliver Stöneberg 38420c8ecf
added some more missing copyright headers (#3766) 2022-01-28 15:56:11 +01:00
Oliver Stöneberg 8764110562
donate-cpu-server.py: added daca errors to important errors in overview (#3761) 2022-01-27 17:54:44 +01:00
Rikard Falkeborn d105f3b05f
Minor improvements to package selection in test-my-pr/donate-cpu (#3754) 2022-01-26 11:36:58 +01:00
Oliver Stöneberg be73eb3c7c
donate-cpu-server.py: added links to some important errors to overview (#3731) 2022-01-21 15:46:29 +01:00
Oliver Stöneberg 34317f86ab
reduce.py: several improvements (#3701) 2022-01-13 07:52:47 +01:00
Oliver Stöneberg 4f508c93c4
reduce.py: improved --segfault / added detection of "hang" caused by reduced code / cleanups (#3693) 2022-01-12 22:26:32 +01:00
guillaume-uH57J9 dfd22919bc
donate_cpu_lib.py: fix callstack capture, fix dependency check (#3665)
* donate_cpu_lib.py: fix callstack capture, fix dependency check

check_requirements: verify that module psutil is available. 
scan_package: collect crash callstack regardless of cppcheck_path and cppcheck version

* donate_cpu_lib.pu: remove debug code

* donate_cpu_lib.py: add parameter capture_callstack
2022-01-02 22:16:00 +01:00
Daniel Marjamäki 4d5ad5e42e triage: make it possible to copy selected results 2021-12-22 18:58:11 +01:00
guillaume-uH57J9 a3560aaf5a
Better git usage in donate-cpu.py to reduce bandwidth and disk usage (#3584)
* Better git usage in donate-cpu.py to reduce bandwidth and disk usage

Main changes:
* Bump client version
* Move try+retry logic to function try_retry to reduce duplication
* Use exponential backoff for try_retry
* git clone with --depth=1 to reduce bandwidth and disk use
* Use multiple worktree to work with multiple versions, instead of back-and-forth checkouts

* donate-cpu.py fixes for review comments and automated check failures

* Move compile_cppcheck within (if ver == 'main) branch to avoid duplicate compile_cppcheck+compile_version cals
* Use classic format syntax for python 3.5 compatibility
* Fix undefined CalledProcessError detected by pylint

* donate-cpu.py code changes following code review

* Migration existing "cppcheck" directory if available instead of "git clone"
* Logging message tweaks
* Use subprocess' cwd parameter instead of os.chdir() to avoid risk around changing and not restoring the working directory

* Update tools/test-my-pr.py to account for donate_cpu_lib changes

* donate-cpu.py: ensure correct workspace locations with relative --work-path
2021-12-19 18:52:36 +01:00
Rikard Falkeborn 5fd17ef2c2
test-my-pr: Allow to specify packages to process (#3605) 2021-12-05 20:25:38 +01:00
Oliver Stöneberg 54d621555d
scan GUI sources with clang-tidy in CI (#3233)
* build UI dependencies before running clang-tidy

* clang-tidy.yml: enabled GUI sources and build some dependencies for clang-tidy

* work around missing dependency for Qt install step
2021-10-31 20:15:32 +01:00
Paul Fultz II 8c9c46835a
Fix for 6597: false negative: uninitialized variable usage not detected (ValueFlow , multi variables) (#3535) 2021-10-30 22:13:58 +02:00
Oliver Stöneberg b4704ba065
use target-specific configuration instead of global ones in CMake (#3534) 2021-10-30 09:08:07 +02:00
Oliver Stöneberg 7004ceb691
donate_cpu_lib.py: fixed detection of ThreadExecutor error (#3521) 2021-10-24 11:02:51 +02:00
Oliver Stöneberg 90ba25a6bc
donate-cpu-server.py: another function compression improvement for stack trace overview in crash report (#3520) 2021-10-24 11:01:48 +02:00
Oliver Stöneberg c49d246303
donate-cpu-server.py: improved function compression in stack trace overview of crash report (#3513) 2021-10-18 07:25:31 +02:00
Oliver Stöneberg 48d5f47e73
Fix #10509 (donate_cpu_lib.py: fixed stupid error in lookup of signal in internal error) (#3503) 2021-10-13 14:51:56 +02:00
Oliver Stöneberg 85b02e4ecb
Fix #10509 (improved signal detection daca@home client) / also optimized stack trace generation (#3157) 2021-10-11 19:07:19 +02:00
Oliver Stöneberg 3f8e523c71
donate_cpu_lib.py: some cleanups (#3490) 2021-10-09 14:51:24 +02:00
Daniel Marjamäki 5be950a4ff donate-cpu-server: OLD_VERSION=2.6 2021-10-02 15:22:19 +02:00
Daniel Marjamäki ca047e57bf Switch from http to https on our sourceforge webpage 2021-08-28 12:46:54 +02:00
Daniel Marjamäki 08d02432a4 removed old daca2 script 2021-08-28 12:11:14 +02:00
Alfi Maulana aab5b39e2d
feat: add support for .ipp and .ixx extensions (#3383) 2021-08-09 10:46:56 +02:00
Daniel Marjamäki dc65f9b1a7 Remove astyle scripts 2021-08-07 21:06:14 +02:00
Paul Fultz II 7f358b2bed
Format with uncrustify (#3388) 2021-08-07 20:51:18 +02:00
Paul Fultz II a9daa1abd5
Add creduce.py script to run creduce (#3341) 2021-07-18 07:51:01 +02:00
chrchr-github 8cd8b9c64e
Fix MSVC build and some warnings (#3334) 2021-07-16 21:55:12 +02:00
Daniel Marjamäki beac3d37b5 daca@home: OLD_VERSION=2.5 2021-07-04 11:12:48 +02:00
Maksim Derbasov 5dae162780
[triage tool] Keep UI alive while wget and tar execution (#3296) 2021-06-13 10:51:42 +02:00
Daniel Marjamäki 2cfe05b256 extracttests; allow several check functions 2021-05-22 09:43:56 +02:00
Daniel Marjamäki 2c10e0747a extracttests: ensure error comment is written on proper line 2021-05-16 08:40:04 +02:00
Daniel Marjamäki db050d0796 extracttests: write expected warning as comment in testfile 2021-05-15 19:59:28 +02:00
Daniel Marjamäki 2925627eb6 extracttests.py: add a few missing includes 2021-05-13 20:50:24 +02:00
Daniel Marjamäki 6d3d907e10 extracttests.py: Fix syntax error 2021-05-13 20:33:27 +02:00
Daniel Marjamäki d549770b5b updated extracttests.py. fix syntax errors in test cases. 2021-05-13 20:21:02 +02:00
amai2012 f371a92501
Fix CodeQL security warnings
Cure warning "Incomplete regular expression for hostnames"
2021-04-20 11:08:01 +02:00
Ken-Patrick Lehrmann 5768c3a726
Check stat return value in addFiles2 (#3214) 2021-04-18 21:52:14 +02:00
Oliver Stöneberg 5de58c4ddd
added clang-tidy to CI (#3218) 2021-04-18 21:51:47 +02:00
Oliver Stöneberg 98335e5d5f
moved more tests from Travis to GitHub actions (#3201) 2021-04-09 07:47:11 +02:00
Oliver Stöneberg 6397e29f84
cleaned up includes based on include-what-you-use (#3141) 2021-04-03 21:30:50 +02:00
Oliver Stöneberg 4d526dcbf7
extended the Python script checks in the CI and adjusted some scripts (#3186) 2021-03-31 22:09:42 +02:00
DGarry82 77716ee398
fix w64-mingw32-ld linking error (#3184)
* fix w64-mingw32-ld linking error

use shlwapi instead of Shlwapi.lib in mingw-w64 build environment
(prevents "/usr/bin/x86_64-w64-mingw32-ld: cannot find -lShlwapi" error)

* same MinGW shlwapi fix for {tests,tools}/CMakeLists.txt

Co-authored-by: Igor Rondarev <igor.rondarev@gmail.com>
2021-03-29 17:04:42 +02:00
Bo Rydberg 99e2f49559
Use v2.4 as old for comparing against latest (#3181)
This is regarding donate-cpu functionality.
2021-03-22 18:35:38 +01:00
Daniel Marjamäki 42437277dc Update Copyright year 2021-03-21 20:58:32 +01:00
Oliver Stöneberg f8edb7b6e6
various daca@home client cleanups (#3161) 2021-03-06 12:34:12 +01:00
Oliver Stöneberg 0c6bb44ea5
donate_cpu_lib.py: fixed timeout handling - again (#3158) 2021-03-02 10:05:49 +01:00
Oliver Stöneberg 4b1d1ebe41
donate_cpu_lib.py: fixed potential hang in timeout handling (#3155) 2021-03-01 22:17:00 +01:00
Oliver Stöneberg be62fab737
donate_cpu_lib.py: improved timeout reporting and process handling (#3153) 2021-02-27 03:19:08 +01:00
Oliver Stöneberg dcf32563ea
various daca@home improvements (#3139) 2021-02-21 08:47:58 +01:00
Oliver Stöneberg 4dd7b2e958
donate_cpu_lib.py: reduced daca timeout to 1800 seconds (#3140) 2021-02-20 13:44:14 +01:00
Oliver Stöneberg e219596797
donate-cpu-server.py: if a Python exception was raised return it instead of just closing the connection (#3130) 2021-02-14 16:16:28 +01:00
Oliver Stöneberg d008356c28
fixed #9965: handle template function names properly in stack trace o… (#3125) 2021-02-11 08:04:26 +01:00
Oliver Stöneberg ff125f6ac6
fixed #9965: improved stack trace overview in daca crash report (#3122)
- HTML escape the traces
- handle traces without a code line
- handle frames without a source file
- handle frames without an address
2021-02-09 22:17:14 +01:00
Rikard Falkeborn 332c59df51
tools/readme.md: Remove astyle_client description (#3115) 2021-02-07 09:03:37 +01:00