[ccan] Student ideas!

Adam Kennedy adamkennedybackup at gmail.com
Fri May 15 12:22:40 EST 2009


> Two contradicting tests to prevent perfect score

Quick note, we've found that there is actually less incentive to
improve if people can't get to a perfect score (at least potentially).
It's better to prevent perfect scores by just writing more and
more-thorough tests rather than creating an artificially contrivance
to prevent them "winning".

Adam K

2009/5/14 Rusty Russell <rusty at rustcorp.com.au>:
> Hi all,
>
>   We have our two students, and we've been doing a lot of brainstorming and
> discussion on #ccan about what to do to ccanlint in the next three months.
> The result so far is a rough list of almost 100 ideas, rated by difficulty and
> usefulness, and an even rougher idea of who wants to do them most.  The
> spreadsheet is on the wiki, and also attached.
>
> Here's the top 30, for a taste (ranked by usefulness minus difficulty, not
> just usefulness!)
>
> Cheers!
> Rusty.
> ==
> Make sure testcase doesn't take too long
> testsuite under valgrind for leaks / mem errors.
> ensure (main) header of name <module>.h exists.
> Add author (people who wrote the code) and contributor (person who uploaded the code) as fields to _info.c
> Run tests with multiple compiler flag configurations (e.g. -Os, -O2, -O3, -g, etc)
> Check for defines over keywords (e.g. #define while if )
> score coverage of testsuite
> Allow the user to explicitly disable specific tests
> test with -fsigned-char/-funsigned-char)
> Automatic testcase template generation
> Allow ccanlint to be used as a generic C source tree checker (without requiring _info.c, run.c, etc.)
> Add (optional) automatic changes when possible (e.g. delete trailing spaces)
> C++ keyword detection
> missing static on var and functions not exposed in hdr.
> check that _info.c is not still the template
> detect spaces vs tabs.
> catch gratuitous typedefs.
> check for defines which lack sufficient brackets
> check for defines which contain
> Detect obsolete headers (e.g. #include <malloc.h>)
> exit(-1) is considered harmful.
> Detect minimum C standard for module (e.g. C89, C99, etc)
> Test that namespacize works.
> Run tests on documentation example code
> detect missing dependencies.
> Two contradicting tests to prevent perfect score
> check for magic numbers which should be enums.
> Have a
> Detect feature usage outside #if HAVE_ markers
> Over 50% of the text in source files is code rather than comments
> Signal handlers should not call unsafe functions.
>
>
> _______________________________________________
> ccan mailing list
> ccan at ozlabs.org
> https://ozlabs.org/mailman/listinfo/ccan
>
>



More information about the ccan mailing list