Unit testing environment for SWI-Prolog and SICStus Prolog. For usage,
please visit http://www.swi-prolog.org/pldoc/package/plunit.html.
- - Jan Wielemaker
- - GPL+SWI-exception or Artistic 2.0
- Specifies how to deal with test suites. Defined options are:
- load +Load
- Whether or not the tests must be loaded. Values are
normal (only if not optimised)
- When the tests are run. Values are
false), report successful tests
using message level
silent, only printing errors and
- How to test whether code is subject to occurs check
false (default), STO is not considered.
true and supported by the hosting Prolog, code
is run in all supported unification mode and reported
if the results are inconsistent.
true (default =false), cleanup report at the end
of run_tests/1. Used to improve cooperation with
memory debuggers such as dmalloc.
- begin_tests(+UnitName:atom) is det
- begin_tests(+UnitName:atom, Options) is det
- Start a test-unit. UnitName is the name of the test set. the
unit is ended by :-
- end_tests(+Name) is det
- Close a unit-test module.
- To be done
- - Run tests/clean module?
- - End of file?
- run_tests is semidet
- run_tests(+TestSet) is semidet
- Run tests and report about the results. The predicate
run_tests/0 runs all known tests that are not blocked. The
predicate run_tests/1 takes a specification of tests to run.
This is either a single specification or a list of
specifications. Each single specification is either the name of
a test-unit or a term <test-unit>:<test>, denoting a single test
within a unit.
- running_tests is det
- Print the currently running test.
- test_report(What) is det
- Produce reports on test results after the run.
- load_test_files(+Options) is det
- Load .plt test-files related to loaded source-files.
- user:message_hook(+Severity, +Message, +Lines) is semidet[multifile]
- Redefine printing some messages. It appears SICStus has no way
to get multiple messages at the same line, so we roll our own.
As there is a lot pre-wired and checked in the SICStus message
handling we cannot reuse the lines. Unless I miss something ...
The following predicates are exported, but not or incorrectly documented.
- begin_tests(Arg1, Arg2)