Schemik is a high-level lexically-scoped implicitly-parallel dialect of Scheme and Common LISP. This means the parallel execution of programs is done independently of the programmer, and each program written in Schemik always produces the same results no matter which parts of the program are executed simultaneously.
TABLIX(1) Tablix User's Manual TABLIX(1)NAME tablix2_test - Tablix testing framework front-endSYNOPSIS tablix2_test command options fileDESCRIPTION Tablix is a powerful free software kernel for solving general timetabling problems. It uses a coarse-grained parallel genetic algorithm in combi-
nation 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) andthen 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 cor-
rect.
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_testOPTIONS 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 Tablixsource 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
Tomaz Solc 2005-09-03 TABLIX(1)