* 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
* 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
* 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
Sometimes it could happen that SIGSEGV is thrown when Cppcheck is killed
because of a timeout. Then the execution is wrongly handled as a crash
and debugged with gdb instead of marking it as timed out.
This fixes that issue by checking the time out before checking sig_num.