1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
[[!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|glibc]] 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]].
|