NAME¶
tablix2_test - Tablix testing framework front-end
SYNOPSIS¶
tablix2_test command options file
DESCRIPTION¶
Tablix is a powerful free software kernel for solving general timetabling
problems. It uses a coarse-grained parallel genetic algorithm in combination
with other techniques to construct sensible timetables from XML formatted
problem descriptions. Tablix can run on a single host as well as on a
heterogeneous parallel virtual machine using PVM3.
Tablix testing framework provides a way to write simple automated tests that
verify if a module and/or kernel is working as expected. Framework is composed
of a special export module
export_ttf.so and a utility program
tablix2_test. Each automated test case is stored in a single file with
the standard Tablix XML configuration syntax and a special XML comment block
containing a short program written in Scheme.
tablix2_test first processes each file containing the test case with
tablix or
tablix2 (depending on the detected version of the XML
format) and then uses
export_ttf.so module to run the Scheme code
included in the same file to verify if the kernel has found a correct
solution.
For each test case,
tablix2_test reports one of the following results:
- passed
- File contained XML syntax for the 0.2.x branch of kernels. tablix2
found a solution to the test problem and Scheme code confirmed that it is
correct.
- passed (old syntax)
- File contained XML syntax for the 0.1.x branch of kernels. tablix
found a solution to the test problem and Scheme code confirmed that it is
correct.
- skipped
- tablix or tablix2 executable was not found. Test problem was
skipped.
- FAILED (tablix crashed)
- Tablix did not find a solution to the test problem. The reason can be a
syntax error in the XML configuration file, an error in the module or a
kernel crash. See any other displayed error messages for details.
- FAILED (most likely scheme syntax error)
- Scheme interpreter returned an error. The reason can be a syntax error or
a bug in the Scheme code block. See any other displayed error messages for
details.
- FAILED (ttf test failed)
- Tablix found a solution to the test problem but Scheme code did not
confirm it.
- FAILED (unknown error)
- Tablix returned an unknown return value. You are probably running an
outdated tablix2_test.
Since
tablix or
tablix2 is run as part of the process,
pvmd
daemon must be running and be configured properly before running
tablix2_test
OPTIONS¶
- tablix2_test --file "OPTIONS" FILE
- Perform once a single test stored in the XML configuration file
FILE. OPTIONS parameter is mandatory and contains options
that will be passed to the tablix or tablix2 process.
- tablix2_test --dir "OPTIONS" DIRECTORY
- Perform once all tests stored in XML configuration files in the directory
DIRECTORY. OPTIONS parameter is mandatory and contains
options that will be passed to the tablix or tablix2
process.
- tablix2_test --multi-file N "OPTIONS" FILE
- Same as --file but performs each test N times. Test is
considered passed only none of N repetitions of the test fail.
- tablix2_test --multi-dir N "OPTIONS" DIRECTORY
- Same as --dir but performs each test in the directory N
times. Test is considered passed only none of N repetitions of the
test fail.
EXAMPLES¶
To perform an exhaustive test of all kernel features and all modules in the
distribution, run the following command from the top of the Tablix source
tree:
tablix2_test --multi-dir 7 "" ttf/tests
A correctly working Tablix installation should pass all tests stored in the
ttf/tests/ subdirectory except the
error-1.xml,
error-2.xml and
error-3.xml tests which verify that the testing
framework is correctly reporting errors.
BUGS¶
tablix2_test utility depends on a number of common UNIX programs (mktemp,
grep, sed, awk, ...) that may not be available on all systems. The script is
not currently capable of properly detecting if any required programs are
missing.
AUTHOR¶
Tomaz Solc (tomaz.solc@tablix.org)
SEE ALSO¶
tablix2(1), Tablix User's Manual, Tablix modules HOWTO