Commit Graph

1277 Commits

Author SHA1 Message Date
Daniel Marjamäki 7e68ba5a87 astyle: minor tweaks in client/server scripts 2019-06-26 20:38:21 +02:00
Daniel Marjamäki 76542509a8 astyle: Added client/server 2019-06-26 20:27:02 +02:00
Scott Furry 0d76d078e2 Implement User Selectable Code Editor Style in cppcheck-gui (#1913)
Building on #1874, commit adds user controls to choose
or edit style in cppcheck-gui ONLY. Commit does not
address CodeEditor style usage in triage app at this time.

Code Editor style can be altered from the added "Code Editor"
tab in the user preferences. The user has the option to select
default light, default dark, or to customize.

If user leaves the style set to light or dark defaults, this
will be reflected in the choices shown in the preferences
dialog.

User choice for Code Editor Style is saved in the cppcheck-gui
preferences under the heading "EditorStyle".
2019-06-23 19:04:53 +02:00
Daniel Marjamäki 1b4485a738 Makefile: Add one more flag 'MATCHCOMPILER=yes' 2019-06-23 13:43:09 +02:00
Ken-Patrick a83b308300 Fix run-dmake step (#1894) 2019-06-16 15:06:28 +02:00
orbitcowboy 9d34ff6fb9 nspr.cfg: Added (limited) support for some macros from Netscape Portable Runtime (NSPR) library. Reference: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR 2019-06-16 13:32:03 +02:00
Daniel Marjamäki a140095bbe Fix Cppcheck warning 2019-06-15 14:37:02 +02:00
Paul Fultz II 12f4353d40 Add build scripts for triage tool (#1862) 2019-06-01 10:48:39 +02:00
Carlo Marcelo Arenas Belón bf5c71bdca sync (#1835)
* build: remove -Wabi and add -Wundef

gcc >= 8 throws a warning about -Wabi (without a specific ABI version)
being ignored, while -Wundef seems more useful (as shown by the change
in config.h, which was probably an unfortunate typo)

travis.yaml should probably be updated soon, but was left out from this
change as the current images don't yet need it

* lib: unused function in valueflow

refactored out since 8c03be3212

lib/valueflow.cpp:3124:21: warning: unused function 'endTemplateArgument' [-Wunused-function]

* readme: include picojson

* make: also clean exe
2019-05-17 09:31:41 +02:00
Daniel Marjamäki ece13033b2 dmake: use -isystem for externals to avoid compiler warnings 2019-04-19 14:52:49 +02:00
Daniel Marjamäki b0e1138f80 pr.py: fix 2019-04-16 20:13:38 +02:00
Daniel Marjamäki 0c3a6b44f8 tools/pr.py: add --rebase=true to pull command and abort if there are conflicts 2019-04-15 06:59:28 +02:00
IOBYTE 2b6d599f1e donate-cpu.py: show size of results sent to server (#1784) 2019-04-05 14:11:03 +02:00
Oliver Stöneberg 6e6cdae20e donate-cpu.py: improved error handling when fetching cppcheck version (#1780)
During a local scan it did not get any cppcheck versions causing the script to fail with an exception when creating the diff.
2019-04-04 13:09:35 +02:00
versat 20814d37d0 donate-cpu-server.py: Fix wrong detection of invalid messageIds.
Packages now can contain something like:
```
    head results:
    Checking temp/openvdb/Platform.cc: __GNUC__=1...
    [New Thread 7892.0x91c]
```
"New Thread 7892.0x91c" was wrongly identified as messageId in the HEAD
report.
This commit adds code to skip lines that start with `[` or where the
messageId contains at least one space.
2019-04-03 11:46:45 +02:00
Oliver Stöneberg 8c26d4ee6a donate-cpu.py: more error detection improvements / properly update data on server (#1768)
* donate-cpu.py: made exitcodes > 0 negative so they will be detected a crash / changed the ThreadExecutor error to -222

* donate-cpu.py: unconditionally upload results and info now that errors are properly handled - will also properly clear the result/info in case there are no more messages

* donate-cpu.py: bumped version

* donate-cpu.py: added stdout to output in case of exitcode != 0

* donate-cpu.py: do not scan packages with no relevant files

* donate-cpu.py: bumped version
2019-04-03 09:27:04 +02:00
versat 6b9a25869e donate-cpu.py: Improve upload error handling, remove old "fast" code.
If an upload fails, the reason (exception text) is now printed.
Fix: If the last retry failed do not wait until continuing.
Remove some obsolete "fast" code in the uploadResults() function.

Tested with Python 2.7.16 and Python 3.6.8.
2019-04-02 10:23:57 +02:00
versat a05cdadbf4 donate-cpu-server.py: Remove obsolete experimental "fast" code.
Since the directory for the results does no longer exist on the server,
the server currently crashes every time older clients try to upload
experimental fast results via "write-fast" command.
Now this command is just ignored so the server is instantly ready
again after a "write-fast" command.
2019-03-29 12:52:27 +01:00
Oliver Stöneberg 36950d7d0d donate-cpu-server.py: added stale report / cleanups (#1767)
* donate-cpu.server.py: increased "Package" column width for latest report and small cleanup

* donate-cpu.server.py: added date and time to crash report

* donate-cpu.server.py: simplified strDateTime()

* donate-cpu.server.py: add stale report to show results which are older than 30 days

* donate-cpu-server.py: added version and some logging
2019-03-29 12:12:16 +01:00
versat cdb449a1b8 donate-cpu.py: Only some cosmetic / coding style fixes. 2019-03-29 09:51:56 +01:00
Oliver Stöneberg 8d7d93aea7 donate-cpu.py: improved error detection (#1766)
* threadexecutor.cpp: streamlined error messages

* donate-cpu.py: detect additional signals and exitcode != 0 as crash as well and (ab)use elapsedTime to make the errorcode visible in the output / also detect ThreadExecutor issues

* donate-cpu.py: bumped version

* donate-cpu.py: fixed detection of ThreadExecutor errors
2019-03-29 06:53:40 +01:00
Oliver Stöneberg 7d383d1684 donate-cpu.py: add stack traces for daca@home crashes / bugfixes (#1764)
* Get stack traces for daca@home crashes

If a command in daca@home crashes, execute it again within gdb to get a stack trace.

* donate-cpu.py: added "gdb" to checkRequirements()

* donate-cpu.py: handle wget failures

* donate-cpu.py: added --no-upload option to disable all uploads

* donate-cpu.py: set max_packages to 1 if --package is provided to avoid endless processing of the same package

* donate-cpu.py: no longer treat missing sources as a crash

* donate-cpu.py: fixed wget "http://: Invalid host name." error caused by empty argument in subprocess.call()

* donate-cpu.py: added --no-upload to --help

* donate-cpu.py: detect crashes when using -j1

* donate-cpu.py: added -g to compiler flags

* donate-cpu.py: fixed gdb call and stacktrace printing / always pass "-j1" to gdb call so the exception will actually occur in the application

* donate-cpu.py: removed left-over --verbose from wget call

* donate-cpu.py: removed unnecessary break

* donate-cpu.py: only use gdb for crash in head run / actually provide the stack trace for the output

* donate-cpu.py: include the last checked file with the stack trace

* donate-cpu.py: removed unnecessary wget() call and a sleep in it / also inverted some logic

* donate-cpu.py: small hasInclude() optimization

* donate-cpu.py: bumped version number

* donate-cpu.py: detect start of gdb output when Cygwin is used

The Cygwin output looks like this:

Thread 1 "cppcheck" received signal SIGSEGV, Segmentation fault.

Co-Authored-By: firewave <firewave@users.noreply.github.com>
2019-03-28 15:49:20 +01:00
Daniel Marjamäki 8231912af9 daca2-getpackages: more protection when it goes wrong 2019-03-27 06:41:35 +01:00
Daniel Marjamäki 8f7eae2948 daca2-getpackages: terminate with an exit code if download fails 2019-03-27 06:33:08 +01:00
Daniel Marjamäki c7155a8e08 Removed '--experimental-fast' flag 2019-03-17 08:19:56 +01:00
versat 4e051ef865 donate-cpu.py: Improve Python library detection.
The official documentation recommends to include the Python C API via
`#include "Python.h"`:
https://docs.python.org/3/c-api/intro.html
And many projects do it exactly this way, that is why the client script
often does not detect the usage of the Python C API.
2019-03-15 16:16:38 +01:00
versat 49f2fd6d4a donate-cpu.py: Detect and use ruby library. 2019-03-15 15:34:06 +01:00
Sebastian 1230357146
Library: Add initial configuration with tests for SQLite3 library. (#1737) 2019-03-13 13:57:40 +01:00
Daniel Marjamäki 35bbe5617a Revert "Add semver import for sorting ls-lR list (#1735)"
This reverts commit e61343f213.
2019-03-12 06:25:11 +01:00
Bo Rydberg e61343f213 Add semver import for sorting ls-lR list (#1735) 2019-03-12 06:14:31 +01:00
Daniel Marjamäki 5915fd50a5 triage: add options 'show 100 random results' and 'version' 2019-03-09 11:01:22 +01:00
orbitcowboy b9623eb4a6 donate-cpu.py: Do not used windows.cfg in daca@home for now. 2019-03-08 17:30:39 +01:00
orbitcowboy 267074964d donate-cpu.py: Auto detect <windows.h> and activate windows.cfg. 2019-03-07 00:59:57 +01:00
versat e64c631dea start_donate_cpu_client_productive.sh: Update client script regularly.
Use the new option `--max-packages=` to update the client script (and
the repository) regularly.
2019-03-06 08:41:16 +01:00
orbitcowboy fee5639fc8 donate-cpu.py: Enable microsoft_sal library in case <sal.h> is found by scanPackage(). 2019-03-05 18:18:24 +01:00
versat 0498b9ec34 opgengl.cfg: Introduce OpenGL library configuration file.
Prepare donate-cpu.py to detect OpenGL library usage but comment it
out for now.
2019-03-04 14:10:06 +01:00
Daniel Marjamäki d84dbf6b5f reduce.py: Improved help text 2019-03-03 20:18:54 +01:00
orbitcowboy d4511d3a22 donate-cpu.py: Auto detect cppunit configuration after next release. 2019-03-03 17:05:40 +01:00
orbitcowboy d1b42434f3 donate-cpu.py: Auto detect cppunit configuration after next release. 2019-03-03 17:04:03 +01:00
Daniel Marjamäki cb575576c7 tools/readme.md: the tools/reduce.cpp has been removed and tools/reduce.py should be used instead 2019-03-02 18:48:44 +01:00
Daniel Marjamäki 5e88258005 Makefile: Remove reduce target 2019-03-02 12:11:04 +01:00
Daniel Marjamäki 71a1290ef0 Remove reduce.cpp, let's use reduce.py instead 2019-03-02 08:13:21 +01:00
Sebastian 1877476f61
donate-cpu.py: Add new argument `--max-packages=N`. (#1718)
The client script will exit after the specified number of packages
have been processed. 0 means infinitely.
Useful for example to regularly quit the script, check for updates to
the client and start it again. Or as an alternative to the `--stop-time`
argument.
2019-03-01 22:34:50 +01:00
orbitcowboy 2a8f42d0f4 donate-cpu.py: Also extract 'h++'-files. 2019-02-28 22:41:21 +01:00
versat e64fc279f0 donate-cpu-server.py: Format total times like the package times.
Without formatting it could happen sometimes that the time is printed
like this: 245.099999999, now only one digit after the decimal point
is shown.
2019-02-28 13:46:40 +01:00
Sebastian c10ddaef4a
donate-cpu-server.py: Replace syntax that is deprecated in Python 3. (#1712)
The function `iteritems()` of `dict`s is deprecated. The recommended
alternative is to use `items()`, this function also works with Python 2.

The next issue is that lambdas can no longer unpack tuple parameters
in Python 3. It would be possible to use some workaround and still use
a lambda, but using `operator.itemgetter(1)` instead is faster and the
recommended method in such a case.

The syntax is now compatible with Python 2 and 3 but the server script
still does not work with Python 3. For example `socket.recv()` returns
`bytes` in Python 3 and `str` in Python 2. Currently `str` is expected
so it does not work with Python 3.
2019-02-28 13:34:23 +01:00
Sebastian 4e90922e5b Donate CPU: Also use and accept .tar.bz2 package files. (#1707)
In my tests there were about 1500 additional packages
available as bz2 on the server.
For some packages a newer version is now used if it is
only available as .tar.bz2 archive.
The donate-cpu.py client is tested to work with .tar.bz2
files under Python 2.7.15 and 3.6.8.
2019-02-28 08:40:07 +01:00
Sebastian 8c32cfe853
donate-cpu.py: Fix crash during decoding under Python 3. (#1710)
Python 3 directly decodes the text when it is read(). If there is any
invalid UTF-8 character in the text an exception is thrown (IIRC it is
UnicodeDecodeError). Opening the file with `error='ignore'` avoids
throwing an exception and just ignores the invalid character. Since
this is only possible since Python version 3 there must be extra code
for older versions.
The test script has been enhanced. It now also uses a package which
contains a file with at least one invalid UTF-8 character.
2019-02-27 20:01:38 +01:00
Sebastian 117eed2255
donate-cpu.py: Also extract .qml files. (#1708)
.qml files are used when the Qt library is loaded.
2019-02-27 14:59:19 +01:00
versat bcd7830fcb donate-cpu.py: Detect and use googletest library 2019-02-23 18:47:19 +01:00
Sebastian 9379266a52
donate-cpu.py: Improve regex to find more includes. (#1688)
Now also found:
- Includes directly at the beginning of a file
- Indented includes
- Includes where there is no white-space between
  "include" and header name
2019-02-23 17:13:35 +01:00
orbitcowboy 52c7a1b1c2 donate-cpu.py: Auto detect TinyXML2 cfg. 2019-02-22 17:51:47 +01:00
Sebastian 70ea6bfb9b
libcerror.cfg: Add libcerror configuration file. (#1684)
The function libcerror_error_set() is currently the function for which
daca@home most often reports a missing configuration (more than 80000
times).
Official repository of libcerror: https://github.com/libyal/libcerror
The library configuration has been tested with the library libvhdi:
ftp://ftp.se.debian.org/debian/pool/main/libv/libvhdi/libvhdi_20181227.orig.tar.gz
2019-02-22 12:52:07 +01:00
Sebastian e27a44a0ea
donate-cpu.py: Improve header detection by using regex. (#1679)
This detects more includes / headers. For example includes like
"# include <gtk/gtk.h>" with a space before "include" as it is used in
the package http://cppcheck.osuosl.org:8000/gbatnav are now also
detected.
The regex search also searches all includes for one library in one go
instead of one include per loop.
Tested with several packages to make sure libraries that were detected
before are still detected.
2019-02-21 08:14:47 +01:00
versat eeedb44e92 donate-cpu.py: Fix regression: Also upload results if only crashes happened
If "head" and "OLD_VERSION" both crash there are no messages and the
variable `results_exist" is set to False. But still the results must be uploaded
for the crashes to be saved also.
Tested with the package http://cppcheck.osuosl.org:8000/double-conversion
2019-02-19 13:29:32 +01:00
rikardfalkeborn 1c1778e4df donate_cpu: Refactor library checks (#1675) 2019-02-19 11:50:39 +01:00
Sebastian 8a9f97b5c8
donate-cpu-server.py: Verify compared Cppcheck version (#1673)
Ignore normal results (not fast or info) where the diff was made against the wrong OLD_VERSION. This avoids unwanted results when some client still analyzes an old package but the OLD_VERSION in the server script is changed for example.
Results missing the Cppcheck version info completely are also ignored.
Tested locally with correct and wrong version numbers.
2019-02-18 10:13:18 +01:00
Sebastian ff16995b26
triage: Implement Clang-Tidy and Clazy hints (#1674)
These are mainly readability and optimization changes.
2019-02-16 17:52:36 +01:00
versat a41e663cd1 Donate CPU: Optimize `list` and `dict` initialization
Initialization with `[]` and `{}` is faster than with `list()` and `dict()`.
Details:
https://stackoverflow.com/questions/30216000/why-is-faster-than-list
2019-02-12 09:47:57 +01:00
versat a1d0509d61 donate-cpu-server.py: Optimize checkLibrary* report generation
Use lists that are joined in the end instead of slower string concatenations with `+`.
Tested locally
2019-02-12 08:53:03 +01:00
versat cf00e0383d donate-cpu.py: Improve Qt library detection
Tested locally
2019-02-11 15:38:28 +01:00
Sebastian 110248c8d8
donate-cpu.py: Optimize string concatenation (use list) (#1657)
Using a list and join it in the end is really much faster when there are several hundred or thousands of strings.
2019-02-10 08:57:35 +01:00
Daniel Marjamäki 78ea6d71ac donate-cpu: run cppcheck with --experimental-fast also 2019-02-09 22:05:12 +01:00
versat bdfc20a482 donate-cpu.py: Enable "python" and "boost" library detection
Only enable the library option for those configurations if the
corresponding .cfg file exists to not crash Cppcheck if an
older version than 1.87 is used as the "old" version.
2019-02-09 18:11:09 +01:00
versat 6a592d18ab donate-cpu-server.py: Set OLD_VERSION to 1.87 2019-02-09 15:18:17 +01:00
Sebastian 36e174f8f3
donate-cpu-server.py: Add logging of uncaught exceptions (to file and console) (#1646)
Two logging handler are added. One just prints all output with at least INFO severity to the console. The other only prints ERROR severity and above to a rotating file. The file size is limited to 100 kB. Since one backup file is used that results in a maximum of 200 kB disk usage.
The log file is saved in the directory where the server script is.
Hopefully this way some issues can be found more easily.
Tested locally.
2019-02-09 12:41:02 +01:00
Sebastian a997d0b387
donate-cpu.py: Introduce version number for client script (#1654)
The version number is added to the result output so issues could be more easily reproduced and in the future if it is necessary to handle any specific version of the client by the server in a special way (for example because it is erroneous) this is possible now.
2019-02-09 09:27:54 +01:00
Daniel Marjamäki bd7790fd8c Update copyright year 2019-02-09 07:24:06 +01:00
versat ed4038b1df donate-cpu.py: Minor cleanup: Move `--library=gnu` to `libraries` variable 2019-02-08 11:19:51 +01:00
versat 06d16622e9 donate-cpu.py: Use SDL library configuration when applicable
Tested locally.
Searching for `#include <SDL.h>` does not always work. Sometimes `#include "SDL.h"` is used, but for now lets see for how many packages it works this way.
2019-02-05 13:38:42 +01:00
Sebastian 92d492e35d
donate-cpu-server.py: Limit number of functions shown in checkLibrary reports (#1641)
The checkLibraryFunction report is currently about 15 MB in size, lists more than 140000 functions and takes a long time to be generated.
Limiting the functions that are shown should save bandwidth, time and other resources on the server (and client that downloads the report).
Tested locally.
2019-02-05 10:39:40 +01:00
Sebastian 598cd468f1
donate-cpu-server.py: Add checkLibraryUseIgnore report (#1642) 2019-02-04 15:53:51 +01:00
amai2012 d24c27c9f8 donate-cpu: Postpone usage of python.cfg after release 1.87 2019-02-04 13:07:57 +01:00
versat 00eb6185fa donate-cpu-server.py: Clarify "Total time" output in time report. 2019-02-04 12:39:22 +01:00
versat dcff026da0 donate-cpu.py: Simplify check if line is not empty
In Python an empty string returns False in a conditional check. No need to calculate lenght or compare it with an empty string.
2019-02-04 11:25:29 +01:00
Sebastian 360ba33e4c
donate-cpu.py: Use Boost library configuration if appropriate (#1587)
Add check to only use boost library if boost.cfg exists since it is very new.
If the boost.cfg does not exist Cppcheck would exit with an error and we
would not get the desired results.
For now the boost library configuration detection is commented out. It
should be enabled after the release of Cppcheck 1.87.
Tested locally.
2019-02-04 11:05:14 +01:00
amai2012 c9d77db39a Change pre-defined macro from __GCC__ to __GNUC__ 2019-02-03 21:56:48 +01:00
amai2012 74f3e4cce2 Fix typo 2019-02-03 21:27:47 +01:00
amai2012 89a5eb36ad Add initial configuration file for Pytho C API 2019-02-03 21:08:42 +01:00
Sebastian 4ac1500c9f
Donate CPU: Add scripts under /test for testing (#1624)
Indirectly the scripts (at first the server test script) also document what needs to be done to setup a (local) server.
The productive client script can be used by everyone who wants to support daca@home, not only for testing. But i still think it is good to have it under /test to not lose too much clarity / lucidity in the /tools directory.
2019-01-26 11:40:02 +01:00
amai2012 8078890b1b Detect X11 and Motif library in daca 2019-01-25 21:47:16 +01:00
Sebastian 1066ef87e5 donate-cpu.py: Enhance library configuration detection (#1625)
Optimize checking of different includes for the same library by using a `list` instead of calling `hasInclude()` several times.
Add includes for gtk and qt library detection that were found missing when looking at several daca@home packages.
2019-01-25 21:41:28 +01:00
Sebastian b486eb502a
donate-cpu.py: Always use gnu.cfg for daca analysis (#1622) 2019-01-24 19:23:18 +01:00
Sebastian bcfd7c0919
donate-cpu-server.py: Fix that results of package "crash" can not be … (#1620)
* donate-cpu-server.py: Fix that results of package "crash" can not be viewed

Rename crash report page from "crash" to "crash.html" so the url ending with "crash" shows the results of package "crash".

* Also rename "diff" and "head" reports to *.html

In case there would be such packages in the future this avoids conflicts.
2019-01-24 12:02:45 +01:00
Sebastian a410cea59a
Donate CPU: Collect information messages and provide checkLibrary reports (#1610)
Related trac ticket: https://trac.cppcheck.net/ticket/8947
Enable information messages and "--check-library" in the Cppcheck
parameters.
Store the information messages and the rest of the messages in different
variables and upload them separately.
The server stores the information messages in a sub-directory similarly
to the normal issue messages in one file per package.
Reports for "checkLibraryFunction" and "checkLibraryNoReturn" message ids
are generated by the server now.
2019-01-22 15:27:13 +01:00
versat dfaba30290 donate-cpu.py: Fix possible usage of none type variable
"bandwidth_limit" is None by default and therefore can not be used for string
concatenation in this case.
2019-01-19 12:45:08 +01:00
Sebastian e3db99a16e
donate-cpu.py: Add option for limiting bandwidth (#1606)
With this new option it is possible to limit the download rate / bandwidth that wget uses to download packages.
The value is verified by running wget with it and check if there is a parse error (exit code 2). If the value is not valid an error message is shown and the script exits with an error code.
2019-01-18 21:36:03 +01:00
versat be14517bcd donate-cpu.py: Fix too few return values in scanPackage()
In case a crash is detected the scanPackage() function returns too few values (three instead of four).
This likely leads to an exception then.
2019-01-17 14:58:15 +01:00
Sebastian 7281a886e2
donate-cpu-server.py: Enhance formatting of latest.html output (#1605)
Column width can now be easily changed via the `column_width` array.
Increased column width for the packages column so it is more likely that the date is not dropped.
Increased the column width for the number of results since there are packages which have about 100000 results.
2019-01-15 11:39:47 +01:00
Sebastian 37f2aa0e2d
triage tool: Add "Load from clipboard" functionality (#1599)
The user now can choose to "Load from file" or "Load from clipboard".
readme.txt has been adapted.
2019-01-14 17:49:10 +01:00
orbitcowboy c3005f08ab donate-cpu.py: Comment out boost library detection. After next release it shall be enabled again. 2019-01-13 20:37:41 +01:00
orbitcowboy fc2557d43d donate-cpu.py: Added detection of boost-library. 2019-01-13 17:55:28 +01:00
Daniel Marjamäki 51afcb2f64 Fix Cppcheck missingOverride warnings 2019-01-13 13:22:36 +01:00
Sebastian 1042208c2c
triage: Fix warnings and Windows issues; some enhancements (#1591)
Changes:
- Fixed compiler warnings
- Add "*.*" to file open menu so files without suffix can be opened
- Make it work under Windows
- Make wget() and unpackArchive() methods so they can access the UI
- wget() and unpackArchive() use the new method runProcess() now that also does some error handling
- Errors are shown in the status bar for easier debugging / usage
- Add readme.txt
- Let travis build the triage tool
2019-01-12 09:16:43 +01:00
Sebastian bae4040060
donate-cpu.py: Save some system / platform information (#1590)
Save some system information which could help debugging the donate-cpu script and Cppcheck.
2019-01-11 20:07:11 +01:00
versat 0c93e0c8cb donate-cpu-server.py: Increase max accepted result size to 2 MB 2019-01-11 14:58:27 +01:00
Sebastian e8fb3c0546
donate-cpu-server.py: Time report: Further improvements and fixes (#1586)
Changes:
- Rename "time" page to "time.html" to avoid conflict with "time" package
- Output content as HTML instead of plain text
- Format head row of preformatted table bold
- Show factor for total time now too

Tested locally
2019-01-11 10:05:19 +01:00
Sebastian fd9ca16e51
donate-cpu-server.py: Time report: Format output, add showing factor (#1582)
Format the time output so the columns have the same width (as long as a text is not too long).
Add showing the factor of the time difference so very suspicious differences can be seen instantly.
Made the function body more PEP 8 conform by using lowercase variable names with underscores as delimiters.
Tested locally.
2019-01-10 19:10:56 +01:00
amai2012 d3a10d3675 #8769 Don't check .cl files 2019-01-10 17:02:57 +01:00
Sebastian 1dc5ff022e
donate-cpu-server.py: Fix PEP 8 and other warnings (#1578)
There should be no functional changes.
Tested locally.
2019-01-09 18:39:42 +01:00
Sebastian f673d552cb
donate-cpu.py: Add Cppcheck cmd line options to the output (#1581)
It is interesting what libraries, how many jobs, ... were used during analysis.
Tested locally.
2019-01-09 18:38:00 +01:00
Sebastian 2b008b473a
donate-cpu.py: Fix some PEP 8 and other warnings (#1579)
There should not be functional changes.
Tested locally.
2019-01-09 16:01:53 +01:00
orbitcowboy 126bd2bb5d
donate-cpu.py: Improved detection of wxWidgets code in scanPackage. (#1580) 2019-01-09 15:59:48 +01:00
Sebastian 44135ef926
donate-cpu-server.py: Provide HEAD report (similar to diff report) (#1572)
Tested on local server.
2019-01-09 10:47:58 +01:00
Sebastian 30d53a911e
donate-cpu-server.py: Fix package names in time output. (#1570)
The package names contained the whole path, so the leading "resultPath" is now removed to only show the package names.
Tested on local server.
2019-01-07 19:31:34 +01:00
practicalswift 0a1b3a9d6f Fix typos (#1568) 2019-01-06 17:15:57 +01:00
amai2012 cc4ca7525a
Clean up redundant actions in travis jobs (#1563)
* Clean up redundant actions in travis jobs.
* Drop validatePlatforms from Makefile target checkcfg
* Print out CPU count. Adjust parameters for parallel jobs to 2 - the current result.
2019-01-05 11:12:32 +01:00
Sebastian 164a46f8cd donate-cpu-server.py: Fix date/time in report is not found. (#1562)
Instead of searching for a specific year (which could change) the script searches now for the current and last year to find the date and time information in the results.
2019-01-04 11:51:32 +01:00
Sebastian c8fde7b963
donate-cpu.py: Add '--test' parameter for testing against local server. (#1559)
Similar to the '--test' option for the donate-cpu-server.py script that lets the server listen locally on port 8001 the client now can also work against such a server by using the same option '--test'.
2019-01-03 13:42:33 +01:00
Daniel Marjamäki 8e43851ad1 Add daca2-getpackages.py 2019-01-03 11:42:32 +01:00
Daniel Marjamäki 77f1409a83 triage: better handling of donate-cpu results 2019-01-01 17:01:23 +01:00
Sebastian 56d502bf37 donate-cpu.py: Detect and use zlib and gtk library config; fix --help output. (#1534)
* donate-cpu.py: Fix --help output (add --package description)
* donate-cpu.py: Use zlib and gtk library if appropriate.
2018-12-20 21:15:42 +01:00
versat 7ff0968853 donate-cpu.py: Fix indentation 2018-12-20 14:26:00 +01:00
Sebastian a4a3373838 donate-cpu-server.py: Fix wrong number of "+" diffs in latest results. (#1517)
This should fix the issue that the number after the "+" in the "Diff" column is always one too large.
2018-12-10 20:05:34 +01:00
Daniel Marjamäki 49e500d6bf donate-cpu: use 1.86 as base version 2018-12-08 11:39:44 +01:00
Sebastian fe6f4193fd donate-cpu.py: Fix Python3 compatibility problem with f.read().decode() (#1507)
With Python3 f.read() directly returns a string object that has no
decode() function. As a workaround AttributeError exceptions during
calling the decode() function are ignored and the data read from the file
is left unchanged.
With Python2 calling the decode() function is necessary and still done.
2018-12-07 06:51:07 +01:00
Sebastian a4dd423a18 donate-cpu.py: Align multi line output in diff (trac #8868) (#1508)
This is a very simple/stupid fix that just inserts 5 spaces for every line except the first.
2018-12-06 17:36:22 +01:00
Daniel Marjamäki 895a374c9a donate-cpu: fix exception in hasInclude when file is link 2018-12-05 10:25:35 +01:00
Daniel Marjamäki 0249e408d3 donate-cpu: Try to fix exception in hasInclude 2018-12-03 18:15:07 +01:00
Daniel Marjamäki 768eb79653 donate-cpu: Try to fix UnicodeEncodeError in sendAll 2018-12-03 09:02:05 +01:00
Daniel Marjamäki f0826ed9d9 donate-cpu-server: restore handling of crashes. do not recheck. 2018-12-02 07:10:23 +01:00
Daniel Marjamäki 14bcdd1c3a donate-cpu: fix syntax error 2018-12-01 20:05:50 +01:00
Daniel Marjamäki e5010da931 Donate CPU: include wxwidgets/qt if we detect that the project uses those headers 2018-12-01 20:02:13 +01:00
Daniel Marjamäki ffef44af4c donate-cpu: better detection of crashes 2018-12-01 13:25:48 +01:00
Daniel Marjamäki 86f984020b donate-cpu: save all warnings reported by head 2018-11-29 21:28:49 +01:00
Daniel Marjamäki 5532d1f877 donate-cpu: Add GetCppcheckVersions command 2018-11-29 21:19:45 +01:00
Daniel Marjamäki e11afb7b0c donate-cpu-server: refactor 2018-11-29 06:23:29 +01:00
Daniel Marjamäki 6b4f5026f7 donate-cpu-server: show crash history 2018-11-28 20:36:19 +01:00
Daniel Marjamäki 15d0aa503b donate-cpu: only retry uploading package if it did not work 2018-11-28 19:30:14 +01:00
Daniel Marjamäki bbcadb0f9b donate-cpu-server: try to track crashes better 2018-11-28 14:03:54 +01:00
IOBYTE 8e6013c8af Allow daca to display latest results of packages with a plus in their name. (#1496) 2018-11-28 06:09:29 +01:00
Daniel Marjamäki af60b6f125 donate-cpu-server: save crash history 2018-11-27 19:08:52 +01:00
Daniel Marjamäki e501b6a460 donate-cpu: try to handle exceptions when uploading better 2018-11-27 12:05:21 +01:00
Daniel Marjamäki 33027dc10b triage: better handling of daca@home results 2018-11-25 12:59:08 +01:00
Daniel Marjamäki d2bd536f1b triage: improve handling of daca@home results 2018-11-24 21:36:59 +01:00
Daniel Marjamäki a872b3f57a donate-cpu: take care of unhandled exception when unpacking archive 2018-11-22 08:44:24 +01:00
Daniel Marjamäki cba87f913e donate-cpu: try to catch socket.error better 2018-11-20 11:18:18 +01:00
Daniel Marjamäki 60ce95c1ec tools/pr.py: minor tweak 2018-11-20 06:36:08 +01:00
Daniel Marjamäki 399fef17ca Add script pr.py to merge pull requests. runastyle is executed automatically. 2018-11-20 06:20:46 +01:00
Daniel Marjamäki 347c46491a donate-cpu-server: try to handle uploaded crash results better 2018-11-19 10:57:04 +01:00
Daniel Marjamäki 4d8a85ec4d donate-cpu: add --package argument 2018-11-19 10:04:53 +01:00
Daniel Marjamäki 42e516582c Disable shadow warnings when compiling 2018-11-19 09:25:59 +01:00
Daniel Marjamäki 5eddcb0827 donate-cpu: use --template=daca2 so we can see some more details in the warnings 2018-11-18 16:26:56 +01:00
Daniel Marjamäki e8ac45a5a7 donate-cpu-server.py: Recheck crashes more frequently 2018-11-17 19:32:10 +01:00
amai2012 6b05f8e867 Don't echo file names being extracted from archive 2018-11-17 18:29:12 +01:00
Daniel Marjamäki d95d884bba donate-cpu: try to handle socket error better when getting package 2018-11-14 21:41:16 +01:00
Daniel Marjamäki 2d61ca8883 donate-cpu: try to handle OSError when unpacking a tar file 2018-11-12 14:45:39 +01:00
Armin Müller acf2035a53 Typos found by running "codespell" (#1461) 2018-11-03 07:34:27 +01:00
amai2012 39c2625789 Run check for missing CWE entries on travis. 2018-10-22 13:14:48 +02:00
Christian Franke f228897641 make: Add uninstall target 2018-10-19 09:49:44 +02:00
rikardfalkeborn c9f768a915 donate_cpu: use https url (#1429)
Avoids git printing a warning about redirecting to https every time
the clone command is issued. The warning was:

    warning: redirecting to https://github.com/danmar/cppcheck.git/
2018-10-17 06:14:06 +02:00
Daniel Marjamäki f72847530e Donate CPU: make server more robust when latest results are missing 2018-10-15 11:01:51 +02:00
Daniel Marjamäki 12c81ac0bf Remove deprecated daca scripts 2018-10-14 16:42:49 +02:00
Daniel Marjamäki 441d50df25 donate-cpu: use 1.85 as base version 2018-10-14 16:31:13 +02:00
Carlo Marcelo Arenas Belon 9d73cf08bc tools: allow short SHA1 longer than 7 (#1399)
newer versions of git use a variable lenght proportional to the
repository size (9 for cppcheck)

remove old chomp helper function and make copying the revision
smarter to hopefully cover for edge case that needed it
2018-09-28 19:04:39 +02:00
amai2012 b6103d15a6 #8711 Run Makefile target validateXML on travis 2018-09-24 14:27:02 +02:00
amai2012 cf8523b198 #8711 Extend XML being generated to validate the XML output format by adding an unmatchedSuppression. Also use proper cppcheck executable to generate them 2018-09-24 13:13:05 +02:00
LE GARREC Vincent 2675793e31 Missing return value in git-pre-commit-cppcheck (#1382) 2018-09-21 04:56:53 +02:00
Sebastian 996334eead
Donate CPU: Only extract relevant source files from archives #8716 (#1379)
Use python tarfile instead of tar to extract the packages.
Only extract source files of interest.
Skip dangerous files that could overwrite files outside the temp folder.
Fixes https://trac.cppcheck.net/ticket/8716
2018-09-15 18:56:46 +02:00
Daniel Marjamäki 91a8807810 Donate CPU: include inconclusive results 2018-09-09 13:16:39 +02:00
Sebastian 7fdd039bee
donate-cpu.py: Fix crash when wget destination file does not exist. (#1368)
When os.remove() tried to remove a file that did not exist (which is the case when the script is started for the first time or the working directory has been cleared) a FileNotFoundError was issued and the script just crashed.
2018-09-07 15:59:59 +02:00
Daniel Marjamäki 4a4d4fd2be Donate CPU: Improve diff report so changes from today can be seen separately 2018-09-06 17:31:07 +02:00
versat 1d52875d4f donate-cpu.py: Fix parameter name in comments/help text. 2018-09-06 13:15:54 +02:00
Daniel Marjamäki ee104303b7 Donate CPU: create diff report for todays results 2018-09-06 06:53:40 +02:00
Sebastian 220c06e356 Donate CPU Server: Fix broken links in crash report. (#1364) 2018-09-03 13:07:47 +02:00
Daniel Marjamäki f88326c51f Donate CPU: let the server remember latest packages when restarting 2018-09-02 14:08:09 +02:00
Daniel Marjamäki c6369e6519 Donate CPU: Added a simple time report 2018-09-02 09:35:38 +02:00
Daniel Marjamäki 215bc3b303 Donate CPU:
* timeout after 30 seconds
 * added content for http://cppcheck.osuosl.org:8000/
2018-09-02 07:28:25 +02:00
Daniel Marjamäki 79840add38 Donate CPU: Use shutil.rmtree instead of 'rm' 2018-09-01 17:04:34 +02:00
Daniel Marjamäki d5a9332684 triage: show url and filename in edit boxes 2018-09-01 07:36:58 +02:00
Daniel Marjamäki 59731d70e8 triage: set error line properly 2018-09-01 06:39:22 +02:00
Daniel Marjamäki 173c737a5c Fixed #8718 (Donate CPU: Optionally allow specifying a custom workfolder) 2018-08-31 14:29:15 +02:00
Daniel Marjamäki 5767a0ed6f Donate CPU: Added crash report 2018-08-31 14:28:01 +02:00
Daniel Marjamäki c1f436f7c0 Donate CPU: Try to handle crashes better 2018-08-29 22:07:48 +02:00
Daniel Marjamäki 1547059a21 triage: handle daca@home diffs better 2018-08-29 22:07:31 +02:00
Daniel Marjamäki 4ef59754a4 Donate CPU: Added a '--stop-time' argument 2018-08-29 11:08:56 +02:00
Daniel Marjamäki 50ded8d789 Donate CPU: Include 'elapsed time' in the output 2018-08-29 06:51:33 +02:00
Daniel Marjamäki eadb4226e9 Donate CPU: Try to fix utf-8 decode problem. Just skip invalid chars, we're not very interested in those. 2018-08-28 12:02:28 +02:00
Daniel Marjamäki ec5a13d351 Donate CPU: Fix old path 2018-08-27 18:44:17 +02:00
Daniel Marjamäki 4002fcd3e3 Donate CPU: Improved the server, now you can see diff 2018-08-27 18:21:16 +02:00
Daniel Marjamäki bbebdf0ab4 Donate CPU: Updated the 'latest.html' report 2018-08-26 16:57:09 +02:00
Daniel Marjamäki 629639f6ae Donate CPU: Updated scripts 2018-08-26 16:47:20 +02:00
Daniel Marjamäki 6ec6f70f2d Donate CPU: Concentrate on the diff 2018-08-26 16:23:42 +02:00
Daniel Marjamäki b2f0bd315d Donate CPU: Diff results in the client 2018-08-26 13:42:01 +02:00
Daniel Marjamäki 08837b2232 Donate CPU: Use CRLF in HTTP responses 2018-08-26 11:17:18 +02:00
Daniel Marjamäki c65d79c0ec Donate CPU: Speedup server. Keep packageIndex in package-index.txt 2018-08-25 20:58:31 +02:00
Daniel Marjamäki 829a373416 Python cleanup 2018-08-25 20:43:20 +02:00
Daniel Marjamäki c7880e2c8d Donate CPU: Made client python3 compatible 2018-08-25 20:34:43 +02:00
Daniel Marjamäki 5da38e33c0 Donate CPU: Make server more robust 2018-08-25 20:00:04 +02:00
Daniel Marjamäki 7049249460 Donate CPU: Tried to make scripts more robust 2018-08-25 18:38:51 +02:00
Daniel Marjamäki 18343d1122 Donate CPU: get package 2018-08-25 11:08:41 +02:00
Daniel Marjamäki 4ece582bed Donate CPU: looking at packages 2018-08-25 10:59:49 +02:00
Daniel Marjamäki 33b93cdd3a Donate CPU: send data in chunks 2018-08-25 10:25:05 +02:00
Daniel Marjamäki 48f5792ca1 Donate CPU: Speedup the latest report 2018-08-25 09:06:15 +02:00
Daniel Marjamäki efe40950c9 Donate CPU: Added report http://cppcheck.osuosl.org:8000/latest.html 2018-08-25 08:49:40 +02:00
Daniel Marjamäki 045ef9a715 Donate CPU: More updates. Run both 1.84 and head. 2018-08-24 21:07:50 +02:00
Daniel Marjamäki 28d1682a54 Donate CPU: Some fixes in donate-cpu.py 2018-08-24 18:49:11 +02:00
Daniel Marjamäki 921a1a0396 Donate CPU: add a short sleep after git clone/pull 2018-08-24 18:21:16 +02:00
Daniel Marjamäki a460ba422f Donate CPU: Fix unresolved reference 2018-08-24 14:46:59 +02:00
Daniel Marjamäki 138e53aeb9 Donate CPU: Updated client script. Try to catch compile errors better. 2018-08-24 13:20:38 +02:00
Daniel Marjamäki 8c88f65fb2 Donate CPU: minor updates in server 2018-08-24 13:04:25 +02:00
Daniel Marjamäki b049203be7 Donate CPU: updated server 2018-08-23 22:13:53 +02:00
Daniel Marjamäki 1e919e696b Donate CPU: show info on server 2018-08-23 21:54:46 +02:00
Daniel Marjamäki 40364561e3 Donate CPU: minor tweaks in client 2018-08-23 21:47:43 +02:00
Daniel Marjamäki 8459380a79 Donate CPU: Added simple client/server scripts 2018-08-23 21:31:02 +02:00
Daniel Marjamäki 3a90f1fc41 daca2-report: use 'diff' tool 2018-08-14 17:49:27 +02:00
Daniel Marjamäki 20da3d2b46 rundaca: fix syntax error 2018-08-07 09:19:33 +02:00
Daniel Marjamäki c44b72082f rundaca: try to get best folder automatically 2018-08-07 09:18:41 +02:00
Oliver Stöneberg bb27bc280a more small *.py cleanups (#1329)
* added CLion project folder to .gitignore

* adjusted project name in CMakeLists.txt

* avoid warning when compiling "Debug" with Visual Studio via CMake

There was a GCC-style compiler flag in the common flags in compileroptions.cmake which caused the following warning:
cl : Command line warning D9002 : ignoring unknown option '-O0'

* compileroptions.cmake: restored original formatting

* daca2.py: added missing import

* misra.py: removed unnecessary escaping from regular expression
2018-08-06 22:07:58 +02:00
Daniel Marjamäki 750ba1a4c1 rundaca: do not read password from command line argument 2018-08-06 13:37:42 +02:00
Oliver Stöneberg 13cf982b77 some small *.py script cleanup (#1328)
* added CLion project folder to .gitignore

* adjusted project name in CMakeLists.txt

* avoid warning when compiling "Debug" with Visual Studio via CMake

There was a GCC-style compiler flag in the common flags in compileroptions.cmake which caused the following warning:
cl : Command line warning D9002 : ignoring unknown option '-O0'

* compileroptions.cmake: restored original formatting

* some small *.py script cleanups
2018-08-05 20:36:21 +02:00
Daniel Marjamäki b68759ccf5 Added script that tests a patch with daca 2018-08-04 09:42:55 +02:00
Daniel Marjamäki bb73a741a8 daca2-report: tweaked diff report 2018-07-01 14:59:38 +02:00
Daniel Marjamäki da2867c09a daca2-report: attempt to speedup report 2018-06-29 18:14:15 +02:00
Daniel Marjamäki ba8529ce32 daca2-report: Remove column data from diff-warnings because there are changes I want to ignore 2018-06-29 15:35:13 +02:00
Daniel Marjamäki 535526680c rundaca2.py: better error output 2018-06-29 11:27:49 +02:00
Daniel Marjamäki 0ba23c28bf daca2-report: fix checking for positives 2018-06-29 11:16:08 +02:00
Daniel Marjamäki 2d00be7a9a Removed the daca2-diff script. This functionality is embedded in daca2-report instead. 2018-06-29 08:48:01 +02:00
Daniel Marjamäki 6812cb57ba daca2-report: a bit better report 2018-06-29 08:47:00 +02:00
Daniel Marjamäki fc46956a08 daca2-report: show negatives and positives 2018-06-29 07:30:20 +02:00
Daniel Marjamäki b76706fed4 Fixed #8643 (daca2: comparison of versions) 2018-06-28 22:35:48 +02:00
Daniel Marjamäki e111902682 daca: skip hashdeep and lice to avoid hangs 2018-06-21 09:26:06 +02:00
amai2012 453c663fb0
#8611 Rename xmlV2.rng. Renaming it to cppcheck-errors.rng (#1278) 2018-06-06 15:25:09 +02:00
AlexF 99bb0d975c do not need -d'^I' argument for cut command, it's easy input wrong char for invisible char without copying (#1271) 2018-05-30 12:45:32 +02:00
amai2012 ceff09d491 #5178 Supply DTD/(XSD/RNG for cppcheck XML output. Add target to Makefile to create and validate XML from regular run. Update xmlV2.rng accordingly. 2018-05-24 16:12:43 +02:00
Daniel Marjamäki 0a0ffcdac6 daca2: skip --exception-handling to avoid hangs (#8589) 2018-05-21 08:54:21 +02:00
amai2012 64f0d31280 #5718 Supply DTD/XSD/RNG for cppcheck XML output - supply rng for current XML output. Add an automatic check on travis against the --errorlist output 2018-05-17 12:46:15 +02:00
Daniel Marjamäki a716183d33 daca2-search.cgi: string concatenation 2018-05-08 06:58:39 +02:00
Daniel Marjamäki 6ed3c130e7 daca2-search.cgi: Use compound assignment 2018-05-08 06:41:05 +02:00
Markus Elfring bd6173be6e Using compiled regular expressions for DACA2 functions (#1209)
​The method “match” was used as a module-level function in ​for loops
of implementations for DACA2 functions so far.
Use ​compiled regular expression objects instead.

Delete a duplicate element from an alternation.

Link: https://trac.cppcheck.net/ticket/8553
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2018-05-07 22:18:05 +02:00
Daniel Marjamäki 78e1474f55 daca2-report: cleanup. thanks elfring for spotting this. 2018-05-07 22:13:00 +02:00
Daniel Marjamäki b2789cc2c6 daca2-report: fixed review comment 2018-05-07 22:09:26 +02:00
Daniel Marjamäki bd02aca242 daca2: if there is a crash then try to show which file it was caused by 2018-05-07 07:10:00 +02:00
Daniel Marjamäki 02fde2025b Updated run-coverity.sh script 2018-05-05 15:23:35 +02:00
Daniel Marjamäki 31ac889d38 rundaca2: remove cpulimit option 2018-05-04 22:34:04 +02:00
Daniel Marjamäki 8d3570debf triage: use the codeeditor in the gui 2018-05-02 12:59:34 +02:00
Daniel Marjamäki 3c1e39f246 daca2-addons: make it work again 2018-05-02 12:59:07 +02:00
Daniel Marjamäki 47ba7abf0b triage: updated the codeeditor 2018-05-02 10:57:04 +02:00
Daniel Marjamäki 3ef1627d11 Fix noCopyConstructor and noOperatorEq warnings in tools/triage/mainwindow.h 2018-05-01 10:55:06 +02:00
Daniel Marjamäki 2470c711e4 Fix some more Travis warnings 2018-05-01 09:43:51 +02:00
Daniel Marjamäki fce7a0a128 dump: add Function::type 2018-04-30 16:52:51 +02:00
Daniel Marjamäki 05184555b2 clang-ast: print constructors and destructors 2018-04-30 15:42:40 +02:00
Daniel Marjamäki 1bb7c7fbf2 clang-ast: ensure that '-std=c++11' is used 2018-04-30 10:28:44 +02:00
Daniel Marjamäki 45a89b1c46 compare-ast-clang-and-cppcheck: Write some statistics. 2018-04-30 10:24:01 +02:00
Daniel Marjamäki aff108a16f compare-ast-clang-and-cppcheck: Added script that compares the clang and cppcheck AST. For now it only checks if the SymbolDatabase contains the proper function objects. 2018-04-30 10:18:33 +02:00
Daniel Marjamäki f44f726e10 clang-ast: argument is source file. show CXXMethod also. 2018-04-29 22:37:18 +02:00
Daniel Marjamäki 68cd43d3f9 clang-ast: add tool that uses libclang to output ast for a file 2018-04-29 22:22:32 +02:00
alexander 795f244804 Omit test/synthetic from tags file 2018-04-19 22:42:04 +02:00
Daniel Marjamäki a8cd2ac0ea triage: update project file 2018-04-16 10:50:56 +02:00
Daniel Marjamäki 8c082f1b3f Remove lib/cxx11emu.h 2018-04-09 22:28:41 +02:00
Daniel Marjamäki 7e4dba6a7e Updated copyright year 2018-03-31 20:59:09 +02:00
amai2012 27d4495d41 Add executable bit to reduce.py 2018-03-21 09:13:26 +01:00
Daniel Marjamäki dfd8ef5d52 generate_cfg_tests: fix argument count 2018-03-19 20:46:55 +01:00
Daniel Marjamäki e932c44ae6 generate cfg tests: updated NULL pointer testing 2018-03-18 19:04:17 +01:00
Daniel Marjamäki 0741c389c0 generated cfg tests: updates, most unmatched suppressions are removed now 2018-03-18 14:06:26 +01:00
Daniel Marjamäki c800ac5118 generate_cfg_tests: updating testing for not-null 2018-03-18 13:53:46 +01:00
Daniel Marjamäki 914eea7ed1 generated cfg tests: updated test files 2018-03-18 13:22:33 +01:00
Daniel Marjamäki 52fb9d3743 generate_cfg_tests: Added tool that generates test cases from cfg file 2018-03-18 12:50:55 +01:00
Daniel Marjamäki e6cd8498a8 tools/triage: updated codeeditor 2018-02-17 22:26:35 +01:00
Sebastian 78cceea8f6
dmake: Fix windows project and build (#1091)
Replace legacy dmake.vcproj with according .sln and .vcxproj files.
Update windows code in filelister.cpp so dmake compiles and works again.
2018-02-17 06:31:12 +01:00
Daniel Marjamäki cc2eb14130 daca2-report: fixes 2018-02-15 21:21:43 +01:00
amai 0f00259a96 Validate platform files 2018-02-15 20:35:12 +01:00
Daniel Marjamäki 791f85295c tools/compare.cs: changed format for error message 2018-02-15 15:17:04 +01:00
Daniel Marjamäki a796330a50 tools/compare.cs: Rename methods 2018-02-15 14:50:13 +01:00
Daniel Marjamäki f5b0f1f792 tools/combine.cs: handle daca2 template output 2018-02-14 10:52:56 +01:00
Daniel Marjamäki 2f4261e405 tools/compare.cs: change color theme 2018-02-13 13:15:39 +01:00
Daniel Marjamäki 22db3d77f7 daca2-report.py: fixed pep8 warning 'E713 test for membership should be 'not in'' 2018-02-13 09:31:05 +01:00
Daniel Marjamäki fe1ae7240a python formatting. Run autopep8 and replace tabs with spaces.
autopep8 -i --max-line-length=160 *.py
    sed -i 's/\t/    /' *.py

[ci skip]
2018-02-13 09:26:11 +01:00
Daniel Marjamäki f624905534 tools/compare.cs: minor tweaks 2018-02-12 21:12:40 +01:00
Daniel Marjamäki cd5adf0707 tools/compare.cs: Added a tool that compare reports and generate a webreport 2018-02-12 16:24:13 +01:00
Daniel Marjamäki c26ae955ad tools/triage: set proper shuffle seed, less priority for results in tests 2018-02-09 21:44:53 +01:00
Daniel Marjamäki c650c8a111 tools/triage: try to unpack package from ~/daca2-packages 2018-02-08 22:18:50 +01:00
Daniel Marjamäki a2d9b3fbb3 triage: moved source code 2018-02-08 08:27:16 +01:00
Daniel Marjamäki 7a4b0fb0e5 daca2-report: refactoring 2018-02-07 20:02:19 +01:00
Daniel Marjamäki 21c7bc9291 daca2-report: Write a summary at the bottom 2018-02-07 15:38:07 +01:00
Matthias Krüger f009cfc845 fix some typos found by codespell. 2018-02-04 20:53:43 +01:00
Daniel Marjamäki 6ce9646ac6 Triage: If there are more than 100 results then pick 100 random warnings 2018-02-04 16:14:33 +01:00
Daniel Marjamäki 7b5e994f29 triage: better handling of error messages with notes 2018-02-04 09:12:41 +01:00
Sebastian d9952dc6cf
tools/run_more_tests.sh: Fixed comment
Name of the script that uses this script was wrong.
2018-02-02 11:27:38 +01:00
Sebastian 402807b3b0 daca2.py Minor fix: fomat string argument (found by Codacity) (#1037)
* daca2.py Minor fix: fomat string argument (found by Codacity)

* daca2.py: Change print call to logging.critical call
2018-01-23 13:05:07 +01:00
Daniel Marjamäki c4caee6b18 Updated copyright year 2018-01-14 15:37:52 +01:00
Daniel Marjamäki 1ad797d220 Tools: Added script that runs coverity and uploads the result 2018-01-06 11:58:46 +01:00
Daniel Marjamäki 5eee9d6d18 tools/triage: Load results from file instead of pasting them 2018-01-02 23:39:30 +01:00
Daniel Marjamäki 95d8534d89 rundaca: increase cpu limit 2018-01-02 22:01:39 +01:00
Daniel Marjamäki d3f0f7ff12 tools/trac-keywords.py: dont include empty keyword 2018-01-01 23:08:58 +01:00
Daniel Marjamäki 2ad8ed0931 Tools: Add simple script that extract keywords from given trac database 2018-01-01 22:56:47 +01:00
Daniel Marjamäki 3b6fbd067e triage: small tweaks 2018-01-01 10:52:51 +01:00
Daniel Marjamäki 4c490b599b Tools: Add simple tool to triage daca results 2018-01-01 09:22:11 +01:00
Daniel Marjamäki 791c633d18 daca: limit cpu usage 2017-12-30 23:07:17 +01:00
Daniel Marjamäki 2545a628b2 rundaca2: fix import 2017-10-03 17:37:08 +02:00
Daniel Marjamäki a1df585ec1 rundaca2: if file upload fails, retry 2017-09-28 09:57:13 +02:00
Daniel Marjamäki b1a4860a0c extracttests.py: allow that only TP tests are extracted 2017-09-22 23:23:36 +02:00
Daniel Marjamäki 4bd251a6d9 daca2: skip docs and examples.. that might be garbage 2017-09-15 22:19:11 +02:00
Ayaz Salikhov f0b5327450 Fix codestyle (#953) 2017-09-07 13:00:46 +02:00
Daniel Marjamäki 4ca004c836 daca2-search.cgi: write summary if no arguments are used 2017-09-05 21:48:39 +02:00
Matthias Krüger bdef3f4582 daca2: add script which crawls the daca logs and feeds them into a git repository.
This can be used to track daca changes over a period of time.
2017-09-03 22:31:36 +02:00
Daniel Marjamäki e3439c0bbf daca2: added search script 2017-09-03 22:15:28 +02:00
amai 74d9883260 Use shorter rules for linking the executables 2017-08-22 23:01:18 +02:00
orbitcowboy 7c5d14bf66 Updated dmake: activated validateCFG when 'make checkcfg' is called. 2017-07-29 12:42:43 +02:00
Ayaz Salikhov 2e6a22e882 Improve Python code 2017-07-22 11:05:50 +02:00
Matthias Krüger 159e420146 dmake: fix SRCDIR=build build.
The problem was hardcoded "lib" path which needs to be $(SRCDIR)
2017-06-21 17:59:00 +02:00
Daniel Marjamäki 2665e6e60c Fix dmake, it now depends on simplecpp::simplifyPath 2017-06-21 15:29:00 +02:00
Ivan Ryabov 170cfc24a2 Make detection of clang++ compiler more robust (#915)
* Make detection of clang++ compiler more robust
* Updated makefile generator
2017-06-16 12:56:29 +02:00
Daniel Marjamäki fc79941828 fix matchcompiler.py 2017-06-05 13:41:38 +02:00
Ayaz Salikhov 3dc4188292 Improve Python code 2017-06-05 13:23:00 +02:00
Ayaz Salikhov 2dd6168258 Improve Python code 2017-06-04 22:51:48 +02:00
Daniel Marjamäki 68127adc57 daca2: minor cleanup 2017-06-04 14:09:41 +02:00
Daniel Marjamäki 2106099029 daca2: print error message (DacaWrongData) instead of crashing when wrong data is seen 2017-06-04 14:05:34 +02:00
Daniel Marjamäki 4c62190e32 daca2: dont upload results if password is not set 2017-06-03 15:53:43 +02:00
Daniel Marjamäki 6ac1aafa49 daca2-report: better handling when no packages found 2017-06-03 14:03:16 +02:00
Daniel Marjamäki 73ac088688 daca2 fixes 2017-06-03 12:10:41 +02:00
Daniel Marjamäki dd4353fac8 daca2: run stable and unstable separately 2017-06-03 11:34:11 +02:00
Daniel Marjamäki bbe90bdbdb daca2: fix comment 2017-05-27 21:12:13 +02:00
uburuntu d41d091c07 ENH: perfomance: seeking of one char is more efficiently 2017-05-27 04:15:54 +02:00
Daniel Marjamäki 0262020707 --template: Removed 'clang' and renamed 'cppcheck2' to 'daca2' 2017-05-25 05:24:42 +02:00
Matthias Krüger 3930f2d6bc try to fix "make" target (was broken due to missing comment-char). 2017-05-24 00:25:14 +02:00
amai cea82c4ee9 Add validateCFG target to validate library files against RNG 2017-05-24 00:07:59 +02:00
Daniel Marjamäki a3c0eecccf Added --template=cppcheck2 output format 2017-05-23 12:19:11 +02:00
Daniel Marjamäki 19fb99d6e8 daca2-report: update counters for clang format 2017-05-22 10:54:17 +02:00
Daniel Marjamäki 882e1e6064 daca2: use 'clang' output template 2017-05-22 07:44:58 +02:00
Dmitry Marakasov 94d39f6e91 Fix matchcompiler failure in case of parallel build
During parallel build, multiple processes will try to create build_dir
in parallel, so the build will fail. Fix that by calling makedirs
unconditionally and ignoring errors from it. If there's actual
problem with directory creation, it'll be caught later by isdir()
check.
2017-05-20 23:25:52 +02:00
amai 8fa4a92ce1 Make tags target phony. Add entry to gitignore 2017-05-20 22:27:49 +02:00
tetsuo55 2d24d5ce01 dmake: Add support for mingw64
running dmake under mingw64 causes an error
the makefile will have to be recreated
under linux
2017-05-11 10:36:37 +02:00
Alexander Mai 9d54ffd521 Correct script 2017-05-03 21:09:20 +02:00
Matthias Krüger a26abfb8e4 reduce: fix build, adapt settings. 2017-04-11 12:09:18 +02:00
Matthias Krüger c65725cb1b matchcompiler: don't emmit '!true' or '!false'. Fold to 'false' or 'true'. 2017-04-02 16:35:39 +02:00
Matthias Krüger 1e5e32c4a2 testrunner: remove non-gcc-style output format 2017-02-26 21:39:06 +01:00
Matthias Krüger 9e2650db96 reduce: main(): replace "return false;" by "return EXIT_FAILURE;", clang 4 warned about this:
tools/reduce.cpp:771:17: warning: bool literal returned from 'main' [-Wmain]
                return false;
                ^      ~~~~~
tools/reduce.cpp:776:17: warning: bool literal returned from 'main' [-Wmain]
                return false;
                ^      ~~~~~
tools/reduce.cpp:782:17: warning: bool literal returned from 'main' [-Wmain]
                return false;
                ^      ~~~~~
2017-01-17 01:32:29 +01:00
PKEuS 0236f67454 Fixed matchcompiler with Python 3.6 on Windows by using UTF-8 as encoding 2017-01-01 10:27:48 +01:00
Matthias Krüger ecc91ba914 fix a couple of issues in shell scripts found by codacy. 2016-12-25 00:43:47 +01:00
Boris Egorov 743dcdd669 daca2: Use logging module instead of opening/closing results file 2016-12-08 21:18:16 +07:00
Boris Egorov c250e385d3 daca2: Use argparse instead of manual argument parsing 2016-12-08 21:14:13 +07:00
Matthias Krüger 27bd4a7f4c daca2: enable --inconclusive 2016-12-06 11:19:33 +01:00
Daniel Marjamäki 5426cfb15e daca2: output warning id to make it possible to write more statistics 2016-12-06 09:33:41 +01:00
Matthias Krüger 59bbe6cd42 matchcompiler: simplify some more code 2016-11-26 16:27:39 +01:00
Matthias Krüger 80cb350a6b matchcompiler: remove redundant variable 'neg' and do some minor reformatting 2016-11-26 15:41:59 +01:00
Matthias Krüger b687e011f2 matchcompiler: --show-skipped: print locations of skipped patterns in file:line notation. 2016-11-24 00:36:23 +01:00
Daniel Marjamäki 0e9bf9f0c6 daca: skip virtuoso-opensource for now since it hangs 2016-10-17 09:48:02 +02:00
Daniel Marjamäki fff8aa8590 dmake: pathmatch was moved from cli to lib 2016-10-02 13:32:39 +02:00
Daniel Marjamäki e8b6235e23 dmake: pathmatch was moved from cli to lib 2016-10-02 13:15:51 +02:00
Daniel Marjamäki 3605457cbe CLI: Fix exclude of absolute path. #4399 2016-10-02 12:38:44 +02:00
Daniel Marjamäki 652043fa22 daca2: allow setting cpu limit 2016-09-20 12:46:15 +02:00
Daniel Marjamäki fd6b18f759 daca2: changed removeLargeFiles and removeAllExceptResults. hopefully these will handle problems better. And hopefully the problems will be logged better. 2016-08-21 11:54:08 +02:00
Matthias Krüger 032d2e5cd1 CXXFLAGS: remove -Winline (ticket #7693)
The debug build (with -Winline) has no optimizations and when setting optimizations for a release builds, CXXFLAGS are overridden.
So we either do a non-optimized debug build (where no inlining takes place which makes -Winline redundant) or do a release build without -Warning flags which means we would never see -O2 and -Winline together.
2016-08-19 11:19:15 +02:00
Roberto Martelloni c7c10d0b43 added python script to list in CSV format all errors without a CWE 2016-08-09 23:21:03 +01:00
Daniel Marjamäki 15c1942a64 daca2: allow skipping packages and allow setting workdir 2016-08-01 11:29:04 +02:00
Daniel Marjamäki 016bcaf9fe dmake: Disable compiler warnings for external files 2016-07-28 13:54:08 +02:00
XhmikosR 07b43c6929 Ran autopep8. 2016-07-25 13:16:55 +03:00
Daniel Marjamäki 035a9a162a daca2: write current time in report 2016-07-22 08:31:00 +02:00
Daniel Marjamäki 03d2829fb9 Merge simplecpp branch 2016-07-20 12:21:00 +02:00
Daniel Marjamäki a87b4368cb Revert "Preprocessor: Start replacing our Preprocessor code with simplecpp"
This reverts commit 9820783b60.

There was Travis errors I'll need to look more at.
2016-07-07 23:45:42 +02:00
Daniel Marjamäki 9820783b60 Preprocessor: Start replacing our Preprocessor code with simplecpp 2016-07-07 22:58:56 +02:00
Daniel Marjamäki e795eef465 rundaca: don't link libstdc++ statically 2016-07-01 15:46:20 +02:00
Daniel Marjamäki 315f705f53 rundaca: statically link libstdc++ for now 2016-06-20 10:13:56 +02:00
Daniel Marjamäki fbc499d033 daca2-download.py: minor tweaks 2016-05-22 16:39:02 +02:00
Daniel Marjamäki 98626e5a46 rundaca2.py: The START is an index 2016-05-10 11:00:57 +02:00
Matthias Krüger 9bcb36e0bb dmake: disable -Wsign-promo 2016-05-07 19:38:40 +02:00
Jérémy Lefaure 08d8b2da38 git-pre-commit-cppcheck: check only added or modified source files
The regexp is written according to git-diff-index manual.
2016-05-07 19:09:13 +02:00
Frank Zingsheim f5bf0ff824 Fixed #7392 (matchcompiler fails with python 3.5) 2016-05-04 11:19:07 +02:00
Alexander Mai 0442764467 Skip another package in daca2 (gcc-arm) to avoid timeouts 2016-04-25 20:48:11 +02:00
Daniel Marjamäki 648d492f94 daca2: don't skip insighttoolkit, it does not hang as far as I see. 2016-02-15 16:56:23 +01:00
Daniel Marjamäki a892e6eddc daca2: do not skip boost 2016-02-12 12:08:39 +01:00
Daniel Marjamäki 087b233ffd Daca2: don't skip flite anymore. Analysis without MAXTIME is still very slow. 2016-02-11 16:16:09 +01:00
Daniel Marjamäki ec9facb701 rundaca: allow that start folder is set on command line, can be used when restarting daca2. 2016-02-08 09:28:02 +01:00
Daniel Marjamäki b45c2851b0 daca2: changed checking of test code again. people might want to run cppcheck on their testcode to ensure there is not UB. we skip gcc testsuite because the torture tests are not meant to be valid. 2016-02-05 08:39:29 +01:00
Daniel Marjamäki 1d9537b259 daca2: don't run cppcheck on test code, that is rarelly meant to be valid and proper code 2016-02-05 08:34:35 +01:00
Alexander Mai 7b68da3017 Set max file size to 1MB 2016-02-02 17:44:52 +01:00
PKEuS 4b9241f643 Removed support for patterns like |a|b and a||b (equal to a|b|)
-> Improved performance by 1,3% (non-matchcompiled build)
2016-02-02 11:46:42 +01:00
Alexander Mai f8de6a66ca Raise file size limit for daca2 from 100kb to 1mb 2016-01-31 21:18:50 +01:00
Robert Reif 0ddb2f1ce1 Fixed #7298 (reduce doesn't support --library= and --std= on the command line) 2016-01-31 12:45:17 +01:00
Daniel Marjamäki 8ef17e70ca reduce: try removing codeblocks below ';{}' 2016-01-28 08:05:43 +01:00
Daniel Marjamäki 477d02bbe7 reduce: fix
[ci skip]
2016-01-27 15:30:10 +01:00
Daniel Marjamäki 4d2caff360 reduce: try to reduce blocks better 2016-01-27 15:03:52 +01:00
Daniel Marjamäki ef1dd89d72 reduce: cleanups 2016-01-27 08:20:58 +01:00
Daniel Marjamäki cb6c9e1a71 reduce.py: fix hang 2016-01-25 16:25:50 +01:00
Daniel Marjamäki 620c6e8f1c reduce: improved removing of code blocks. loop until nothing is removed. 2016-01-25 13:41:27 +01:00
Daniel Marjamäki 7d8853d604 reduce: speed up the 'combinelines' pass 2016-01-21 14:42:10 +01:00
Daniel Marjamäki 49ff511324 Added script reduce.py that reduces code. It can complement the reduce tool. It can also be used with other tools and not just cppcheck. 2016-01-21 11:03:55 +01:00
Daniel Marjamäki 516f043a43 times-vs.py: Added usage instructions 2016-01-19 13:46:21 +01:00
Daniel Marjamäki 93dd3a21fd Add times script for windows that uses VS compiler 2016-01-19 13:35:38 +01:00
Albert ARIBAUD (3ADEV) 38e70dfb74 Preprocessor directives for addons
This patch augments the XML dumps with a 'directivelist'
subnode which lists all raw preprocessor directives met
while reading the source code in each configuration.

Also, the addons/cppcheckdata.py file has been extended
to give easy access to the list of directives and to
provide Python support for the --template (or short -t)
option.

Finally, an new addon, addons/y2038/y2038.py, is created
to detect when a glibc symbol might be Y2038-sensitive,
based on whether and how _TIME_BITS and _USE_TIME_BITS64
are defined when meeting the symbol.
2016-01-15 12:36:35 +01:00
Aleksandr Pikalev e92bbf6481 Fixed #7275 - Make GUI tests buildable
* Use -std=c++11 flag for gcc and clang
 * Use $$PWD variable in qmake files to have correct paths
 * Change tokenizer.simplifyTokenList() to tokenizer.simplifyTokenList2()
 * Add build-generated files to .gitignore
 * Link libpcre only if rules are enabled
2016-01-08 15:21:36 +01:00
Martin Ettl 7cb27d91c4 dmake: Added -Wno-multichar flag. 2016-01-08 11:40:54 +01:00
Albert ARIBAUD (3ADEV) 97b43c78ce Run all Python code through autopep8
Run all Python code through autopep8 as follows:

    autopep8 -ri --ignore=E261,E262,E302 --max-line-length 1000 .

E261 or E262 would cause spaces after a comment's hash sign
to be squashed. Since some of the comments in cppcheck's
Python code have space-indented code examples, not ignoring
E261 or E262 would wreck the formatting of those examples.

E302 prevents autopep8 from adding some blank lines.

setting --max-line-width ensures no line will be wrapped.
2016-01-05 13:30:32 +01:00
Albert ARIBAUD (3ADEV) 4b247c94dd Remove tools/argparse.py
As cppcheck only supports Python 2.7 and 3, and as
both provide argparse already, we can remove the
one in cppcheck.

build/*.cpp, as generated with "make SRCBUILD=build",
is strictly unchanged by this removal.
2016-01-05 10:25:12 +01:00
Matthias Krüger d3093a6ca5 reduce: fix build 2016-01-03 17:29:40 +01:00
Daniel Marjamäki ca4f55ec4c Cleanup Copyrights. Now all should be just for Cppcheck team. 2016-01-01 23:04:16 +01:00
Lauri Nurmi 996c9244d8 Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00
Daniel Marjamäki 8171154e12 Fixed #7230 (Confusing code snippet in error message) 2015-12-31 01:15:49 +01:00
Matthias Krüger 315d50271a add small script which converts code to a format for testrunner testcases. 2015-12-17 14:25:24 +01:00
Frank Zingsheim e0e8c3fe60 Fix #7210 (Compiled match versus parsed match "|a|b") 2015-12-11 20:21:38 +01:00
Daniel Marjamäki 392cda8bce Remove qmake pro files. qmake is just for cppcheck-gui nowadays. 2015-12-11 15:20:57 +01:00
Alexander Mai f762affea0 Small refactoring: replace NULL by nullptr, remove redundant static keyword, Tokenizer::setVarId() uses const variable 'notstart' 2015-11-30 22:13:49 +01:00
Daniel Marjamäki a5149d68ab daca2: fix compilation of cppcheck 2015-11-23 11:19:44 +01:00
Daniel Marjamäki 0f9d90d2be Changed Copyrights. Removed my name. 2015-11-18 20:04:50 +01:00
Daniel Marjamäki d0e1583f20 daca2: compile with debug info, when there is exception write info on stderr 2015-11-18 13:36:23 +01:00
Alexander Mai 6cf7ff4243 Try to get error information upon crash in daca2 into log output 2015-11-15 20:38:55 +01:00
Alexander Mai 65666a1ba4 Makefile: explicit list directories which should be used with ctags. Run astyle. 2015-11-15 19:03:18 +01:00
Simon Martin 14d2830e49 Restore build on OSX, where make defines CXX as "c++" by default. 2015-11-14 07:53:34 +01:00
orbitcowboy ab90a7eb49 Fixed broken HAVE_RULE support. Updated Makefile. Added override keyword when HAVE_RULES is set. 2015-11-13 11:38:06 +01:00