[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] This task may be suitable for [[community/GSoC]]: [[community/gsoc/project_ideas/testing_framework]] --- A collection of thoughts with respect to unit testing. We definitely want to add unit test suites to our code base. We should select a tool that we like to use, and that is supported (not abandoned). * [SC Test](http://web.archive.org/web/20021204193607/sc-archive.codesourcery.com/sc_test) * [DejaGnu](http://www.gnu.org/software/dejagnu/) / [Expect](http://expect.nist.gov/) * used by the [[GCC testsuite|gcc]], [[GDB testsuite|gdb]], [[binutils testsuite|binutils]], etc. * The [[glibc_testsuite]] has a home-grown system (Makefile-based), likewise does the [[Open_POSIX_Test_Suite]]. * [Kyua](http://code.google.com/p/kyua/) (and its predecessor [ATF](http://www.NetBSD.org/~jmmv/atf/)). * Primarily used by NetBSD as its testing framework; FreeBSD is in the process of adopting it. * Provides bindings to write tests in C, C++ and POSIX shell. Lua is planned. * Builds and runs on many different Unix-based operating systems. * [check](http://check.sourceforge.net/) * used by some GNU packages, for example GNU PDF (Jose E. Marchesi) * CodeSourcery's [QMTest](http://www.codesourcery.com/qmtest) * useb by? * documentation: * <http://www.codesourcery.com/public/qmtest/whitepaper.pdf> * <http://www.python.org/workshops/2002-02/papers/01/index.htm> * <http://gcc.gnu.org/ml/gcc/2002-05/msg01978.html> * <http://www.codesourcery.com/public/qmtest/qmtest-snapshot/share/doc/qmtest/html/tutorial/index.html> * <http://www.codesourcery.com/public/qmtest/qmtest-snapshot/share/doc/qmtest/html/manual/index.html> * [Git](http://git-scm.com/) has an elaborate unit testsuite, which is also used in [Notmuch](http://notmuchmail.org/). * [*[ANNOUNCE] ktest.pl: Easy and flexible testing script for Linux Kernel Developers*](http://lwn.net/Articles/412302/) by Steven Rostedt, 2010-10-28. [v2](http://lwn.net/Articles/414064/), 2010-11-08. * <http://autotest.kernel.org/wiki/WhitePaper> # Related * [[nightly_builds]] * [[nightly_builds_deb_packages]] * <http://www.phoronix-test-suite.com/> -- ``comprehensive testing and benchmarking platform''. This one might be useful for [[performance]] testing, too? * <http://ltp.sourceforge.net/> * [LaBrea](https://github.com/dustin/labrea/wiki), or similar tools can be used for modelling certain aspects of system behavior (long response times, for example). # Discussion See the [[GSoC project idea|community/gsoc/project_ideas/testing_framework]]'s [[discussion subpage|community/gsoc/project_ideas/testing_framework/discussion]].