= Caca Labs test suite = All our major projects feature an extensive test suite that checks the software for consistency, source code quality, features and regressions. The testsuite can be run by typing `make check` in the project’s top directory. == Source code checks == Most source code checks rely on the project’s ability to list all source files. This is done by putting the following `Makefile.am` snippet in all directories that contain source code: {{{ #!makefile echo-sources: ; echo $(SOURCES) }}} ... and the following snippet in the top directory `Makefile.am`: {{{ #!makefile echo-dirs: ; echo caca kernel src cxx examples ruby tools }}} '''check-source''' performs a source code quality check. It checks for the following coding style errors: * no source code file should contains tabs * no source code file should contain trailing spaces '''check-copyright''' performs a copyright statement check. The following tests are performed: * all source code files must contain a “`Copyright (c)`” statement * all source code files must mention the year of the last modification (this check is only performed when in a git-svn repository) '''check-win32''' performs a Win32 port consistency check. The following tests are performed: * all preprocessor tokens in `config.h.in` must appear in `msvc/config.h`