* 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
* 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
* 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
* 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`
* 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.
* 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()`
* 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
* 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>
* 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
* 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
* 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
* 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
`MATCHES` does regular expression matching which is not the intended behavior here. `Clang` still requires it since it also needs to match `AppleClang.
* 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