Commit Graph

1272 Commits

Author SHA1 Message Date
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
Oliver Stöneberg 4a9166c3bd
donate-cpu-server.py: added "Date Time" column to time reports / optimized file parsing in some reports (#3105) 2021-01-31 21:20:52 +01:00
Oliver Stöneberg b472b4e65d
some Python cleanups based on PyCharm inspections (#2999)
* some Python cleanups based on PyCharm inspections

* test-helloworld.py: adjusted assert in test_addon_relative_path()
2021-01-31 14:27:11 +01:00
Oliver Stöneberg 1b9865be12
donate-cpu-server.py: sort time report entries by factor and corrected titles (#3102) 2021-01-31 12:01:01 +01:00
Oliver Stöneberg 99d9abee41
donate-cpu-server.py: fixed daca crash report (#3092) 2021-01-29 10:28:35 +01:00
Oliver Stöneberg ff9d6499ec
donate-cpu-server.py: split time report into improvement and regression report (#3081) 2021-01-25 08:10:28 +01:00
Oliver Stöneberg f46a9e3543
fixed/excluded some shellcheck warnings and actually fail the build when something is found (#3068) 2021-01-20 18:43:49 +01:00
Rikard Falkeborn 50cdb6cbfc
Astyle: sync windows and linux folders (#3016) 2021-01-06 17:13:44 +01:00
Oliver Stöneberg 96704c9971
fixed and enabled some more clang-tidy warnings (#3007) 2021-01-05 17:51:32 +01:00
orbitcowboy 01c434f8bf donate_cpu: Auto detect ntl-library 2021-01-04 16:28:05 +01:00
Rikard Falkeborn 8dc8aa0459
Matchcompiler parse all Match|simpleMatch on the same line (#2993)
* MatchCompiler: Neaten error messages

Especially the added space makes it a little more readable.

* MatchCompiler: Add spaces between operators

* Matchcompiler: Don't bailout if non-const pattern

If matchcompiler found a call to Token::Match() or Token::simpleMatch()
with an unknown string argument, subsequent calls to Token::Match() or
Token::simpleMatch() on the same line would not be processed by
matchcompiler.

To fix this, keep track of the last index we found a match, and update
it accordingly when the line is modified. To avoid having to keep track
of if "Match" or "simpleMatch" is the first match we find, just make a
loop over them.
2020-12-31 19:28:06 +01:00
orbitcowboy c643e7e7b5 donate_cpu: Improved auto detection of bsd library configuration 2020-12-28 18:08:36 +01:00
orbitcowboy 922e2b5713 donate_cpu: Added auto detection for GiNaC 2020-12-28 17:41:16 +01:00
orbitcowboy 28b4d1a6b3 donate_cpu: Auto detect pcre.h 2020-12-28 09:30:39 +01:00
orbitcowboy 81be03fd6d donate_cpu: Incremented client version. 2020-12-27 14:41:36 +01:00
orbitcowboy 4ab5b33cc7 donate_cpu: Auto detect wxSqlite3 includes 2020-12-27 12:44:56 +01:00
Oliver Stöneberg 018b26a4ef
donate_cpu_lib.py: fixed some cases with missing error information / cleanups (#2982) 2020-12-26 17:59:19 +01:00
orbitcowboy 23c7621b24 donate_cpu_lib.py: Improved auto detection of bsd config 2020-12-18 13:23:41 +01:00
orbitcowboy 52e6bd76c4 donate_cpu_lib.py: Improved auto detection of bsd config 2020-12-18 13:21:49 +01:00
orbitcowboy 099d4ce574 donate_cpu: Add another header to auto detect BSD configuration. 2020-12-12 17:36:31 +01:00
orbitcowboy 4b079c8934 donate_cpu: Add rule for automatically activate bsd.cfg 2020-12-12 17:29:25 +01:00
Daniel Marjamäki dffa40803e donate-cpu-server: update versions 2020-12-05 13:23:53 +01:00
Daniel Marjamäki c7cbe7f2d3 rename externals/tinyxml to externals/tinyxml2 2020-11-16 09:11:53 +01:00
Daniel Marjamäki f779a44be0 astyle formatting 2020-11-14 21:40:38 +01:00
Daniel Marjamäki ef5d5e84c5 Fixed #8936 (Add PicoJSON Copyright notice) 2020-11-14 21:31:50 +01:00
Daniel Marjamäki 5b156d20bd compare_ast_symdb.py: small fix and refactorings 2020-10-31 17:37:23 +01:00
Daniel Marjamäki 6cf571af97 compare_ast_symdb.py: improved script for comparing cppcheck/clang ast etc 2020-10-31 14:57:12 +01:00
Daniel Marjamäki b96f23a388 Fixed tools/compare_ast.py 2020-10-30 10:14:18 +01:00
Daniel Marjamäki ef42b82a49 fix tools/compare_ast.py 2020-10-29 21:18:40 +01:00
Daniel Marjamäki 417bc5c732 tools; remove old script for comparing cppcheck and clang asts 2020-10-27 21:02:34 +01:00
orbitcowboy d37ddc7114 donate_cpu_lib.py: Formatted Qt list, there are no functional changes 2020-10-04 18:42:59 +02:00
orbitcowboy 9d2564993a donate_cpu_lib.py: Improved Qt config detection by adding more Qt-headers. 2020-10-04 18:31:30 +02:00
orbitcowboy 71f5e5bb46 donate_cpu_lib.py: Improved detection of Qt-includes by adding <QMetaType> 2020-10-03 20:38:42 +02:00
orbitcowboy 1886a43f98 donate_cpu_lib.py: Improved detection of Qt headers: added <Qtest> detection. 2020-10-03 20:15:08 +02:00
orbitcowboy 5eb718f9b4 donate_cpu_lib.py: Improved detection of GTK headers 2020-10-03 19:36:32 +02:00
Daniel Marjamäki ad620413f1 donate-cpu-server: OLD_VERSION=2.2 2020-10-03 12:55:55 +02:00
orbitcowboy 0b62ca7250 donate_cpu.py: Improved detection of Qt headers 2020-10-03 12:19:02 +02:00
orbitcowboy 14f70cf131 Attempt to make travis happy 2020-10-02 20:45:06 +02:00
orbitcowboy b19e631292 Added macros from ICU-Project (ref. to https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/index.html). This found by daca@home. 2020-10-02 20:01:06 +02:00
Daniel Marjamäki 8a90e55ece triage: fix version match for 2.1 2020-09-14 15:43:24 +02:00
firewave fa7e687853 donate_cpu_lib.py: fixed Python error 2020-06-15 22:12:22 +02:00
Daniel Marjamäki 33388217a5 new default branch is main 2020-06-15 20:04:57 +02:00
Daniel Marjamäki 60208a11d1 donate_cpu: Update OLD_VERSION to 2.1 2020-06-15 19:48:20 +02:00
Daniel Marjamäki e2c99ee697 donate_cpu: master branch was renamed to main 2020-06-15 19:46:34 +02:00
Daniel Marjamäki 37245a8179 Update copyright year 2020-06-13 16:37:12 +02:00
Oliver Stöneberg 37bc0483a4
made check.h less heavy (#2633) 2020-05-23 07:16:49 +02:00
Ken-Patrick Lehrmann d1279856d5
Fix cmake in Release mode (#2655)
In tools/, it did not understand that some files are generated by
matchcompiler.py.

```
CMake Error at tools/CMakeLists.txt:7 (add_executable):
  Cannot find source file:

    </some/path>/cppcheck/build/lib/build/mc_pathmatch.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx

CMake Error at tools/CMakeLists.txt:7 (add_executable):
  No SOURCES given to target: dmake

```

Co-authored-by: Ken-Patrick Lehrmann <kp.lehrmann@gmail.com>
2020-05-22 20:20:22 +02:00
Ken-Patrick Lehrmann 9a5e53032d
Update matchcompiler after change in Token::Match (#2653)
The change in token.cpp was done in f6788c047
This should fix the failures in travis.

Co-authored-by: Ken-Patrick Lehrmann <kp.lehrmann@gmail.com>
2020-05-20 21:33:29 +02:00
Daniel Marjamäki c5455764ad astyle formatting
[ci skip]
2020-05-20 16:39:27 +02:00
Daniel Marjamäki e2ead44a2d dmake updates. externals/z3_version.h should never be added as a dependency 2020-05-19 20:14:29 +02:00
Daniel Marjamäki d8d794c522 Fix validateXML 2020-05-15 17:05:55 +02:00
Rikard Falkeborn 1d80cd23ca
test-my-pr: Add timing info (#2642) 2020-05-14 19:45:53 +02:00
Oliver Stöneberg 4f7d162555
matchcompiler.py: only add additional includes if necessary (#2636) 2020-05-12 21:49:39 +02:00
Oliver Stöneberg e066300f95
added dmake targets to CMake (#2634) 2020-05-10 16:41:50 +02:00
Daniel Marjamäki 8d25901a96 daca@home: update OLD_VERSION 2020-05-10 14:30:53 +02:00
Oliver Stöneberg 1388e9385b
cleaned up setting of compiler options and a few more things in CMake (#2599)
* cleaned up compiler options related code in CMake

* moved cmake_minimum_required() and raised to latest 2.8.x version

* use proper compiler version check / print compiler version

* fixed linking of sanitized builds

* added proper version checks to newer Clang warnings and enabled them / moved tinyxml_objs flags to proper compiler

* disabled -Wdeprecated-declarations for Clang

* compileroptions.cmake: removed unnecessary check for clang++ existence - CMAKE_CXX_COMPILER_ID is determined by CMake

* printInfo.cmake: removed unnecessary message for ANALYZE_ADDRESS - LSAN is part of ASAN and enabled by default

* cleaned up if() comparisons in CMake

* added/adjusted TODOs
2020-04-22 11:04:19 +02:00
Oliver Stöneberg 1af959af2c
fixed -Wextra-semi-stmt Clang warnings (#2553)
* fixed -Wextra-semi-stmt Clang warnings

* adjusted REDIRECT macro to require a semicolon

* testmathlib.cpp: rolled back accidental change
2020-04-21 17:27:51 +02:00
Sebastian feb767a66b
donate_cpu_lib.py: Fix that timed out analyses are handled as crashes (#2561)
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.
2020-02-28 08:12:10 +01:00
Rikard Falkeborn 73ee317866
donate_cpu: Fix timeout if multithreaded (#2510)
Highly inspired by https://stackoverflow.com/a/4791612.
2020-02-25 11:49:56 +01:00
versat bdf715b3e5 donate-cpu-server.py: Fix link in headline and code inspection warnings 2020-02-19 09:42:32 +01:00
Rikard Falkeborn b13ae83845
donate_cpu: Use with ... as (#2520) 2020-02-03 10:27:32 +01:00
Rikard Falkeborn 0d361f8a2e
test-my-pr: Retry if failed to get package (#2515) 2020-02-02 18:00:36 +01:00
Rikard Falkeborn 60c3d4c482
daca@home: Add links to packages on time page (#2518)
Also, increase the size of the package field to match the setting for
the other pages (some packages are too small to fit at the moment).
2020-02-02 16:36:19 +01:00
Rikard Falkeborn 50216d53dd tools/test: Make scripts executable (#2509) 2020-01-27 06:53:58 +01:00
Rikard Falkeborn ba33c7f6cd daca2: Improve package sorting using natsort (#2505)
* daca2: Improve package sorting using natsort

This switches the external dependency from semver to natsort, and
improves comparison of packages where one or more of the packages do not
use semantic versioning (major.minor.patch).

This also makes daca2-download and daca2-getpackages work with python 3.
In theory, they should work with python 2 as well, but I have not tested
it.

* Make daca2 scripts executable

* Update hashbangs to python3

* Update usage description

To avoid specifying python version in the usage description, just
show how to execute the scripts and leave the rest to the shebangs.

* No need to specify python version in start_donate_cpu_server_test_local.sh

Leave it to the hashbang instead.
2020-01-26 18:39:37 +01:00
Sebastian 206eb0f527
Fix #9584: Limit stack trace depth in daca@home crash page (#2502)
This limits the backtrace to a maximum of 50 entries.
Trac ticket: https://trac.cppcheck.net/ticket/9584
2020-01-25 15:20:06 +01:00
versat 7280dab5b2 donate-cpu-server.py: Fix rejection of xz packages 2020-01-24 13:31:55 +01:00
Sebastian 2d95c35974
Donate CPU/test-my-pr: Add timeout for the Cppcheck execution (#2500)
This adds a timeout of 60 minutes for the Cppcheck analysis.
Timed out results do not count as crash but they are uploaded and
marked with "TO!" in the list of the latest results. No "diff" is
generated for timed out results so they do not add wrong entries to
the "Diff report".
In test-my-pr.py the timed out results are listed separately just like
the crashes.
donate-cpu-server.py: Add timeout report
2020-01-24 12:33:51 +01:00
Sebastian d8e0f40663
donate-cpu/test-my-pr: Minor fixes (PEP 8, old Python 2 code, ...) (#2499)
* donate-cpu/test-my-pr: Minor fixes (PEP 8, old Python 2 code, ...)

* test-my-pr.py: Add Python 3 shebang
2020-01-21 14:27:39 +01:00
Sebastian 7c7b0e55ed
daca2-getpackages.py: Fix #9508: Add support for xz compressed archives (#2493)
Using .tar.xz packages adds about 4500 additional packages that can be
tested and changes many existing packages where a more recent version
can be used now that is only available as .tar.xz file.

Related ticket: https://trac.cppcheck.net/ticket/9508

donate-cpu.py: Require at least Python 3.4
xz support was added with 3.3.
2020-01-17 12:23:07 +01:00
Sebastian 53623ddf6f
daca2-getpackages.py: Fix semver sorting and getting latest package (#2490)
There were two issues:
1. The version was not correctly extracted out of the filename. When
extracting a sub-string in Python one has to specify start index and
end index instead of start index and length.
2. The function `semver.cmp()` does nothing useful. Instead the function
`semver.compare()` must be called when two version should be compared.
See https://github.com/python-semver/python-semver/issues/117#issuecomment-479188221

Because `semver.compare()` now really compares the versions it is
possible that an exception is thrown if a version is not in the semver
version format. In such cases the sorting is aborted and the last
filename in the array is returned. This is often but not always already
the latest version from what I have seen.
2020-01-16 20:02:56 +01:00
Sebastian cd9ec5aac6
daca@home client: Require at least Python 3 from now on (#2491)
This makes it possible to implement new features like .tar.xz support
(see https://trac.cppcheck.net/ticket/9508) or aborting endlessly
running analysis via timeout (see
https://sourceforge.net/p/cppcheck/discussion/development/thread/86813a8a53/).
2020-01-16 20:01:46 +01:00
Rikard Falkeborn 41caf28c6f Make triage work with log-files from test-my-pr.py (#2468)
* triage: Allow master as version

Log-files from test-my-pr.py shows "master" as version. Extend regexp to
match "master", and improve regexp handling slightly to avoid making
assumptions on the length of the version.

* triage: Show log-files when opening files

test-my-pr.py defaults to save output as "my_check_diff.log". Show
log-files by default to make it more convenient to check these files as
well.
2020-01-03 19:33:42 +01:00
versat 5715ba7ce0 Donate CPU client test scripts: Use Python from shebang 2019-12-22 19:33:10 +01:00
versat 5d007bb9bb donate_cpu_lib.py: Enable library detection as planned after 1.90 release 2019-12-21 19:26:31 +01:00
versat 7216c3079c donate-cpu-server.py: Set OLD_VERSION to 1.90 2019-12-21 19:12:41 +01:00
Daniel Marjamäki 6890757986 Update Copyright year 2019-12-21 11:23:01 +01:00