Le 08/03/2011 22:29, Colomban Wendling a écrit :
Le 08/03/2011 19:58, Enrico Tröger a écrit :
On Tue, 08 Mar 2011 11:06:16 +0100, Frank wrote:
I like that idea. Can someone of you build up a howto on how to use it? I did try valgrind in past and wished for some advice ;)
One this is done we can think of automatic tests with some of this tools.
I, and obviously, Colomban as well, though indepdent from each other :D, recently played[1,2] with cppcheck. A small tool for static code analysis which actually found a few things in the geany-plugins repository.
As I'm currently reworking the system to create the nightly builds, we could integrate such checks into the nightly builds, maybe run cppcheck on the sources after the builds and present the results somewhere on nightly.geany.org.
I think it's a good idea.
I did a few checks, and this is what I suggest:
- run cppcheck on `make check` and abort if it detects an error;
- enable by default (though in a portable manner) some compiler flags
such as -Werror-implicit-function-declaration [1] [2]
Maybe some other tests might be good, but I think this is a start.
I'd like to commit this to the Autotools build system:
1) run cppcheck on `make check`; 2) enable by default, if compiler understands them, the following warnings (discussed in other mails of this thread): * -Werror=implicit-function-declaration * -Werror=pointer-arith * -Wundef * -Wshadow * -Wwrite-strings
There are currently 2 problems that would prevents the tests to pass: 1) The debugger plugin don't compile with -Werror=implicit-function-declaration (this should be fixed -- Alexander, could you fix them please?); 2) cppcheck reports an error on geanylatex plugin; but I know Frank already fixed this and so has probably only to import the fix in the geany-plugins copy.
1 is really problematic since it require one to disable the debugger plugin to be able to compiler the others, 2 is only problematic when running `make check` so not so important in the meantime Frank fixes the problem.
Do you have objections, comment or whatever?
Cheers, Colomban