Commit Graph

177 Commits

Author SHA1 Message Date
Sebastian 4735b6ca1b
addons/naming.py: Fix crash on unnamed arguments, add regex validation. (#1762)
Crash has been reported in the forum:
https://sourceforge.net/p/cppcheck/discussion/development/thread/138788ac6b/
A small test has been added to avoid regression.
2019-03-26 18:54:09 +01:00
Sebastian d204869d3d
.travis.yml: Add retries to the `apt-get` commands. (#1749)
Travis often fails to update / install the packages via `apt-get` and
jobs must be restarted manually. This should fix the problem or at least
reduce the frequency at which these failures occur.
Details about the problem and the `travis_retry` command can be found
here:
https://blog.travis-ci.com/2013-05-20-network-timeouts-build-retries
2019-03-21 13:51:14 +01:00
Sebastian 597107ac9a
.travis.yml: update to xenial; add jobs for ubsan and asan (#1745)
As tested by @matthiaskrgr in the branch
https://github.com/matthiaskrgr/cppcheck/commits/travis_xenial
Add job to build Cppcheck on Ubuntu 14.04 trusty (same as for precise).
2019-03-20 15:30:01 +01:00
Sebastian 5728bd63af
.travis.yml: Minor fixes of addons execution / documentation (#1739) 2019-03-14 14:49:02 +01:00
Daniel Marjamäki e16d4f4353 Travis: output errors in gcc format in self-checks 2019-03-11 13:34:44 +01:00
Daniel Marjamäki 33a6e26535 Travis: Remove reduce check, tool has been removed. 2019-03-02 12:12:28 +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 b2bb8daaca
.travis.yml: Check python syntax (version 2 and 3) (#1694)
As suggested by rikardfalkeborn here:
https://github.com/danmar/cppcheck/pull/1679#issuecomment-465927692
By compiling python scripts the syntax can be checked.
There are two compilations, one for Python 2 and one for Python 3 for
most scripts to make sure at least the syntax is valid for both
versions.
2019-02-25 16:11:14 +01:00
Sebastian c106dd2939
misra addon: Fix issue with unexpected encodings in loadRuleTexts() (trac 8946) (#1608)
https://trac.cppcheck.net/ticket/8946
Add tests to travis script for verifying rule text loading.
Add dummy rule text files.
misra.py: Try to find a suitable codec for rule texts file.
2019-01-18 21:30:08 +01:00
Daniel Marjamäki 0c08503b00 Travis: Enable missingOverride checker 2019-01-13 12:21:01 +01:00
Matthias Krüger d45e4287e6 travis: and job that builds on osx 2019-01-13 11:52:01 +01:00
Matthias Krüger 6eca26a4cf travis: add job making sure cppcheck builds on ubuntu precise (12.04) with gcc and clang 2019-01-12 21:09:04 +01:00
Daniel Marjamäki e6edd74099 Temporarily suppress Cppcheck false positives 2019-01-12 19:11:44 +01:00
Matthias Krüger c334d959ce travis: dmake job: don't redundatly install ubuntu packages 2019-01-12 13:22:54 +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
Matthias Krüger 63d9144f60 travis: refactor config, spawn llvm, clang and dmake jobs directly and remove env var hacks. (#1565)
* travis: refactor config, spawn llvm, clang and dmake jobs directly and remove env var hacks.
* travis: make sure cxxflags of travis match those in the makefile
* travis: move tests that run independant of CXXFLAGS into their own job
2019-01-09 09:54:46 +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
amai2012 c10db6c73b
Try to run CMake (#1555) 2019-01-02 00:01:15 +01:00
Matthias Krüger b5e83d03fe travis: remove "sudo required" as it is being deprecated. 2018-11-24 12:51:33 +01:00
Daniel Marjamäki 1048aa8ead Disable Wshadow warnings
[ci skip]
2018-11-23 22:34:21 +01:00
Daniel Marjamäki 1fd7ea91e0 Revert "travis: reduce log output when checking clang"
This reverts commit 8efa405552.
2018-11-19 15:11:59 +01:00
Daniel Marjamäki 8efa405552 travis: reduce log output when checking clang 2018-11-19 14:29:12 +01:00
Thorsten Sick 43b6a391d8 Added a new naming check addon. Also verifies variable and function p… (#1456)
* Added a new naming check addon. Also verifies variable and function prefixes

* Verification added to code

* added naming checks ng selftest to travis file

* Ensure zero exit value for tests if tests succeed

* Expected values adjusted

* Fixed copy and paste error
2018-11-06 20:46:07 +01:00
amai2012 39c2625789 Run check for missing CWE entries on travis. 2018-10-22 13:14:48 +02:00
Matthias Krüger df32b0fb05 travis: reenable llvm and clang checks 2018-10-16 22:01:52 +02:00
Daniel Marjamäki 1245a036f7 Add check for shadow variables 2018-10-16 20:17:27 +02:00
amai2012 b6103d15a6 #8711 Run Makefile target validateXML on travis 2018-09-24 14:27:02 +02:00
Sebastian dce3281766
addons/cert.py: Add MSC30-C: Do not use rand() (#1348)
Add function isStandardFunction() that checks if the given function is a standard function.
Only when this function returns true for the currently checked rand() tokens it is reported as a violation.
Tests added for C and C++.
2018-08-24 15:05:50 +02:00
Matthias Krüger cfd5460670 travis: update clang and llvm repo hashes. 2018-08-12 11:17:24 +02:00
Sebastian 788ad0fc1f
Travis: Parallelize naming.py calls. (#1317)
naming.py is called parallel (4 times at a time) for all *.cpp.dump files directly in gui/ and lib/.
@matthiaskrgr had the idea for it: e46c499f5a (commitcomment-29717495)
Files in gui/test are now ignored already when creating the .dump files.
According to the Travis log output these changes speed up the Travis build up to three minutes.
2018-07-19 08:43:23 +02:00
Matthias Krüger e46c499f5a travis: when checking variable naming convention, run cppcheck with 2 threads instead of one. 2018-07-16 10:52:40 +02:00
Sebastian 5cc8da2db4
cfg/runtests.sh: Check syntax of defines in configuration files. (#1303)
travis: Add xmlstarlet package used by cfg/runtests.sh
2018-07-12 08:40:26 +02:00
Daniel Marjamäki a660ccaec8 Travis: Ensure naming convention in GUI 2018-06-18 14:23:28 +02:00
Daniel Marjamäki 68a91b73da Travis: Enforce naming convention, private variable names must start with 'm[A-Z]' 2018-06-18 09:55:43 +02:00
amai2012 453c663fb0
#8611 Rename xmlV2.rng. Renaming it to cppcheck-errors.rng (#1278) 2018-06-06 15:25:09 +02:00
amai2012 978bc7c150 Activate validation of --errorlist output (#1248) 2018-05-20 14:54:38 +02:00
amai2012 e2ea82908a #5718: temporarily disable make validateXMLV2 on travis 2018-05-17 13:48:06 +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 e0a6ab1a0f activate misra regression tests 2018-05-16 11:13:25 +02:00
Matthias Krüger 9949768d7c travis: install wx-common which is used in test/cfg/runtests.sh 2018-05-13 12:32:19 +02:00
Matthias Krüger 547934b5a5 travis: use $CPPCHECK global containing absolute path to cppcheck executable 2018-05-13 12:32:14 +02:00
Matthias Krüger 1a1bb10511 travis: add misra tests to ci 2018-05-12 00:50:05 +02:00
Matthias Krüger 73a9f05a73 travis: update commits of the clang/llvm repo we are checking during CI
I had to reduce cppchecks stdout amount a bit and suppress unreadVariable warnings to not hit the 4MB log file limit on travis while checking llvm/clang.
2018-05-10 14:46:09 +02:00
Matthias Krüger ef574987d5 travis: also honor suppressions when checking cppcheck-gui code. 2018-04-27 13:10:42 +02:00
Daniel Marjamäki dffad3b3d1 Remove some more cxx11emu.h references 2018-04-10 06:52:33 +02:00
Daniel Marjamäki c987f88ebc Revert "Travis: use the generated cfg tests"
This reverts commit daa142ff25.
2018-03-19 21:45:31 +01:00
Daniel Marjamäki daa142ff25 Travis: use the generated cfg tests 2018-03-19 21:15:14 +01:00
Matthias Krüger f009cfc845 fix some typos found by codespell. 2018-02-04 20:53:43 +01:00
Daniel Marjamäki 81a7d759e4 Revert "travis: clang check: skip test/Analysis/padding_cpp.cpp because it generates ~700 kb of output on its own causing us to hit 4 megabyte output limit on travis."
This reverts commit fdb0d354ef.
2017-12-30 22:16:34 +01:00
Matthias Krüger fdb0d354ef travis: clang check: skip test/Analysis/padding_cpp.cpp because it generates ~700 kb of output on its own causing us to hit 4 megabyte output limit on travis. 2017-12-30 10:09:29 +01:00