d651b6baf1
* dump: Fix concurrency problem with dump files This adds the process ID for the cppcheck process to the filenames of the .dump and .ctu-info files that the process generates. So lib/cppcheck.cpp.dump becomes lib/cppcheck.cpp.<PID>.dump For example: lib/cppcheck.cpp.2637871.dump The reason for this change is that if there is a buildsystem which supports concurrency, multiple instances of cppcheck may be run for the same file. For example, if the same file is compiled in multiple build variants, or for multiple targets. If running the MISRA plugin over such a project with concurrency enabled in the buildsystem, the plugin ends up crashing as multiple jobs attempt to create/trample/delete the same files while other jobs are using them. For more information see: https://sourceforge.net/p/cppcheck/discussion/general/thread/02c757b4af/ * dump: Include pid in filename if dump not explicit Only change the dump and ctu-info filenames to include the PID if they are being generated due to an addon. This means that existing scripts that use `--dump` will still work if they depend on the previous naming behaviour. The more robust filenames containing the pid will be used when the dump files are used as an internal implementation detail for passing data to addons. However this means that anything that does explicitly use `--dump` will be susceptible to concurrency problems. * test: Update addon dump file test to account for pid This test causes a dump file to be created by enabling the misra addon. Since the dump files now include the cppcheck process pid this test had to be updated to account for the change. |
||
---|---|---|
.. | ||
helloworld | ||
proj-inline-suppress | ||
proj-inline-suppress-unusedFunction | ||
proj-suppress-syntaxError | ||
proj2 | ||
trac5704 | ||
readme.txt | ||
test-clang-import.py | ||
test-helloworld.py | ||
test-inline-suppress.py | ||
test-more-projects.py | ||
test-other.py | ||
test-proj2.py | ||
test-project.py | ||
test-suppress-syntaxError.py | ||
testutils.py |
readme.txt
Systemtesting of Cppcheck CLI on some projects addons base path exclude folders importing projects * visual studio * compile database - different generators bear/cmake/.. - different platforms suppressions Different paths: * relative * absolute