]> git.llucax.com Git - software/mutest.git/log
software/mutest.git
15 years agoImplement test suite initialization and termination
Leandro Lucarella [Wed, 10 Dec 2008 15:51:54 +0000 (13:51 -0200)]
Implement test suite initialization and termination

This patch adds test suite initialization and termination support to both
C/bash and Python implementations.

Any exported function in a test suite that starts with "mu_init" is used
as an initialization function (returning 0 if the initialization
succeeded) and any function starting with "mu_term" is used as
a termination function. If initialization fails (any initialization
funtion fails), the test suite is skipped.

15 years agoAllow using just 'mu_test' as a test case name
Leandro Lucarella [Tue, 9 Dec 2008 19:21:48 +0000 (17:21 -0200)]
Allow using just 'mu_test' as a test case name

This could be useful for very trivial proyects with just one test case.

15 years agoFactor out get_fun() and get_val()
Leandro Lucarella [Tue, 9 Dec 2008 19:16:32 +0000 (17:16 -0200)]
Factor out get_fun() and get_val()

Those are useful functions that can be used in other places outside
TestCase class. Now TestSuite class use them too.

15 years agoFactor out most C code from mkmutest to mutest.c
Leandro Lucarella [Wed, 10 Dec 2008 15:50:59 +0000 (13:50 -0200)]
Factor out most C code from mkmutest to mutest.c

This makes easier to improve the tester code, without having to code it as
a shell script embedded string. Now the only generated code is the one
that runs the test suites. You can also implement your own test suites
execution function; just write it in a separated C module and don't use
the mkmutest generator.

15 years agoAdd dynamic Python implementation
Leandro Lucarella [Sun, 7 Dec 2008 20:53:02 +0000 (18:53 -0200)]
Add dynamic Python implementation

A new implementation is added. This implementation is dynamic. Test suites
must be compiled as dynamically linked shared objects (.so) and a Python
program (using ctypes module) inspects the shared objects, looking for
test cases, running them and collecting statistics.

The advantage of this implementation is that test suites are completely
isolated, name clashes between test suites can't be possible. The testing
program is completely decoupled from the test suites, and is less
"hackish", in the sense that no code-generation is needed. You compile
your test suites as shared object, and run the tester on them, that's it.
Is much easier to extend too, since is implemented in Python.

The downside is that the test suites are less "debuggeable", you can't
easily plug a gdb to see what's going on there (AFAIK).  tmp

15 years agoInitial import
Leandro Lucarella [Sat, 6 Dec 2008 16:45:14 +0000 (14:45 -0200)]
Initial import