logtalk_tester - Logtalk script for automating running unit tests


logtalk_tester -v
logtalk_tester [-o output ] [-p prolog ] [-m mode ] [-f format ] [-d results ] [-t timeout ] [-n driver ] [-s prefix ] [-c report ] [-l level ] [-i options ] [-g goal ] [-r seed ] [-- arguments ]
logtalk_tester -h


logtalk_tester is a script for automating running Logtalk unit tests. This script runs unit tests found on the current directory and recursively in its sub-directories by scanning by default for tester.lgt and tester.logtalk source files. The script returns a non-zero exit status in case of failed tests or test set errors. When a file exists in the tests directory, the file is sourced before running the tests. The file is sourced with all the parameters passed to the script.


-v Print script version.

-o Output verbosity. Default is verbose. Valid values are verbose and minimal.

-p Backend Prolog compiler. Default is SWI-Prolog. The following identifiers are used: B-Prolog - b, Ciao Prolog - ciao, CxProlog - cx, ECLiPSe - eclipse, GNU Prolog - gnu, JIProlog - ji, Lean Prolog - lean, Qu-Prolog - qp, SICStus Prolog - sicstus, SWI-Prolog - swi, SWI-Prolog with Logtalk pack - swipack, Tau Prolog - tau, XSB - xsb, XSB-MT - xsbmt, YAP - yap.

-m Compilation mode. Default is normal. Valid values are optimal, normal, debug, and all.

-f Format for writing the test results. Default is default. Valid values are default, tap, and xunit.

-d Directory to store the test results. Default is the local ./logtalk_tester_logs directory.

-t Timeout in seconds for running each test set. Default is 0; i.e. disabled.

-n Name of the test driver and sourced files (minus file name extensions). Default is tester.

-s Path prefix to suppress when printing test suite and test result paths. Default is the user home directory.

-c Code coverage report. Default is none. Valid values are xml and none.

-l Directory depth level to look for test sets. Level 1 means current directory only. Default is to recurse into all sub-directories.

-i Integration script command-line options (no default).

-g Initialization goal. Default is true. Called after loading the Logtalk compiler and runtime.

-r Random generator starting seed goal (no default).

-- Arguments to be passed to the tests (no default).

-h Provide help on script usage.


0 All non-skipped tests pass and there are no broken, timed out, or crashed test sets.

1 Some tests fail but there are no broken, timed out, or crashed test sets.

3 One or more test sets timed out while executing but there are no broken or crashed test sets.

5 One or more test sets are broken and thus could not be executed but there are no crashed test sets.

7 One or more test sets crashed the process running them.

9 The sourced file returned a non-zero code.


LOGTALKHOME Specifies the location of the Logtalk installation.

LOGTALKUSER Specifies the location of the Logtalk user directory.


$LOGTALKUSER/library/tester_versions.lgt Logtalk source file used for printing the Logtalk and backend Prolog compiler versions.

$LOGTALKUSER/library/ Logtalk source file used for parallel Logtalk processes with selected backend Prolog compilers.

$LOGTALKUSER/tools/lgtunit/automation_report.lgt Logtalk source file that intercepts unit test execution messages and generates report files that are parsed by this script.


The Logtalk website at

The Logtalk User and Reference Manuals at $LOGTALKHOME/manuals/index.html


Paulo Moura <>


Copyright (c) 1998-2020 Paulo Moura.

This HTML page was made with roffit.