Using 9.3.34-30-g60abbc3bf:
$ logtalk_tester -p swi
% Batch testing started @ 2025-11-13 14:33:27
% Logtalk version: 3.96.0-b01
% SWI-Prolog version: 9.3.34
% OS version: Darwin, x86_64, 23.6.0
%
% logtalk/tests/prolog/predicates/format_2
% 96 tests: 0 skipped, 87 passed, 9 failed (0 flaky)
% completed tests from object tests_atom in 2 seconds
% 96 tests: 0 skipped, 87 passed, 9 failed (0 flaky)
% completed tests from object tests_codes in 2 seconds
% 96 tests: 0 skipped, 87 passed, 9 failed (0 flaky)
% completed tests from object tests_chars in 2 seconds
% clause coverage n/a
%
% Compilation errors/warnings and failed unit tests
% (compilation errors/warnings might be expected depending on the test)
! lgt_format_2_string_pad_with_spaces: failure (in 0.000182000/0.001000000 cpu/wall seconds)
! test assertion failed: ‘ABC ‘==‘ABC’
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_atom.lgt between lines 141-144
!
!
! lgt_format_2_partial_list_second_argument_1: failure (in 0.000087000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(instantiation_error,A)
! but got error(type_error(,[42|B]),context(system:format/2,’“x” must hold one character’))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_atom.lgt between lines 518-520
!
!
! lgt_format_2_partial_list_second_argument_2: failure (in 0.000086000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(instantiation_error,A)
! but got error(type_error(,[42|B]),context(system:format/2,‘“x” must hold one character’))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_atom.lgt between lines 522-524
!
!
! lgt_format_2_second_argument_wrong_type: failure (in 0.000079000/0.001000000 cpu/wall seconds)
! test goal succeeded but should have thrown an error:
! expected error(type_error(list,42),A)
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_atom.lgt between lines 530-532
!
!
! lgt_format_2_invalid_argument_1: failure (in 0.000094000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(type_error(A,B),C)
! but got error(format_argument_type(a,42),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_atom.lgt between lines 534-536
!
!
! lgt_format_2_not_enough_arguments_1: failure (in 0.000087000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘not enough arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_atom.lgt between lines 542-544
!
!
! lgt_format_2_not_enough_arguments_2: failure (in 0.000088000/0.001000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘not enough arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_atom.lgt between lines 546-548
!
!
! lgt_format_2_too_many_arguments_1: failure (in 0.000094000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘too many arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_atom.lgt between lines 550-552
!
!
! lgt_format_2_too_many_arguments_2: failure (in 0.000096000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘too many arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_atom.lgt between lines 554-556
!
!
! lgt_format_2_string_pad_with_spaces: failure (in 0.000187000/0.000000000 cpu/wall seconds)
! test assertion failed: ‘ABC ‘==‘ABC’
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_codes.lgt between lines 141-144
!
!
! lgt_format_2_partial_list_second_argument_1: failure (in 0.000083000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(instantiation_error,A)
! but got error(type_error(,[42|B]),context(system:format/2,’“x” must hold one character’))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_codes.lgt between lines 518-520
!
!
! lgt_format_2_partial_list_second_argument_2: failure (in 0.000088000/0.001000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(instantiation_error,A)
! but got error(type_error(,[42|B]),context(system:format/2,‘“x” must hold one character’))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_codes.lgt between lines 522-524
!
!
! lgt_format_2_second_argument_wrong_type: failure (in 0.000080000/0.000000000 cpu/wall seconds)
! test goal succeeded but should have thrown an error:
! expected error(type_error(list,42),A)
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_codes.lgt between lines 530-532
!
!
! lgt_format_2_invalid_argument_1: failure (in 0.000092000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(type_error(A,B),C)
! but got error(format_argument_type(a,42),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_codes.lgt between lines 534-536
!
!
! lgt_format_2_not_enough_arguments_1: failure (in 0.000086000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘not enough arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_codes.lgt between lines 542-544
!
!
! lgt_format_2_not_enough_arguments_2: failure (in 0.000085000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘not enough arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_codes.lgt between lines 546-548
!
!
! lgt_format_2_too_many_arguments_1: failure (in 0.000093000/0.001000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘too many arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_codes.lgt between lines 550-552
!
!
! lgt_format_2_too_many_arguments_2: failure (in 0.000094000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘too many arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_codes.lgt between lines 554-556
!
!
! lgt_format_2_string_pad_with_spaces: failure (in 0.000177000/0.000000000 cpu/wall seconds)
! test assertion failed: ‘ABC ‘==‘ABC’
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_chars.lgt between lines 141-144
!
!
! lgt_format_2_partial_list_second_argument_1: failure (in 0.000083000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(instantiation_error,A)
! but got error(type_error(,[42|B]),context(system:format/2,’“x” must hold one character’))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_chars.lgt between lines 518-520
!
!
! lgt_format_2_partial_list_second_argument_2: failure (in 0.000086000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(instantiation_error,A)
! but got error(type_error(,[42|B]),context(system:format/2,‘“x” must hold one character’))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_chars.lgt between lines 522-524
!
!
! lgt_format_2_second_argument_wrong_type: failure (in 0.000081000/0.000000000 cpu/wall seconds)
! test goal succeeded but should have thrown an error:
! expected error(type_error(list,42),A)
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_chars.lgt between lines 530-532
!
!
! lgt_format_2_invalid_argument_1: failure (in 0.000092000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(type_error(A,B),C)
! but got error(format_argument_type(a,42),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_chars.lgt between lines 534-536
!
!
! lgt_format_2_not_enough_arguments_1: failure (in 0.000084000/0.001000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘not enough arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_chars.lgt between lines 542-544
!
!
! lgt_format_2_not_enough_arguments_2: failure (in 0.000084000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘not enough arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_chars.lgt between lines 546-548
!
!
! lgt_format_2_too_many_arguments_1: failure (in 0.000090000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘too many arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_chars.lgt between lines 550-552
!
!
! lgt_format_2_too_many_arguments_2: failure (in 0.000093000/0.000000000 cpu/wall seconds)
! test goal throws the wrong error:
! expected error(domain_error(A,B),C)
! but got error(format(‘too many arguments’),context(system:format/2,D))
! while compiling file
! in file logtalk/tests/prolog/predicates/format_2/tests_chars.lgt between lines 554-556
!
!
%
% Failed tests
logtalk/tests/prolog/predicates/format_2/tests_atom.lgt - lgt_format_2_string_pad_with_spaces @ tests_atom
logtalk/tests/prolog/predicates/format_2/tests_atom.lgt - lgt_format_2_partial_list_second_argument_1 @ tests_atom
logtalk/tests/prolog/predicates/format_2/tests_atom.lgt - lgt_format_2_partial_list_second_argument_2 @ tests_atom
logtalk/tests/prolog/predicates/format_2/tests_atom.lgt - lgt_format_2_second_argument_wrong_type @ tests_atom
logtalk/tests/prolog/predicates/format_2/tests_atom.lgt - lgt_format_2_invalid_argument_1 @ tests_atom
logtalk/tests/prolog/predicates/format_2/tests_atom.lgt - lgt_format_2_not_enough_arguments_1 @ tests_atom
logtalk/tests/prolog/predicates/format_2/tests_atom.lgt - lgt_format_2_not_enough_arguments_2 @ tests_atom
logtalk/tests/prolog/predicates/format_2/tests_atom.lgt - lgt_format_2_too_many_arguments_1 @ tests_atom
logtalk/tests/prolog/predicates/format_2/tests_atom.lgt - lgt_format_2_too_many_arguments_2 @ tests_atom
logtalk/tests/prolog/predicates/format_2/tests_codes.lgt - lgt_format_2_string_pad_with_spaces @ tests_codes
logtalk/tests/prolog/predicates/format_2/tests_codes.lgt - lgt_format_2_partial_list_second_argument_1 @ tests_codes
logtalk/tests/prolog/predicates/format_2/tests_codes.lgt - lgt_format_2_partial_list_second_argument_2 @ tests_codes
logtalk/tests/prolog/predicates/format_2/tests_codes.lgt - lgt_format_2_second_argument_wrong_type @ tests_codes
logtalk/tests/prolog/predicates/format_2/tests_codes.lgt - lgt_format_2_invalid_argument_1 @ tests_codes
logtalk/tests/prolog/predicates/format_2/tests_codes.lgt - lgt_format_2_not_enough_arguments_1 @ tests_codes
logtalk/tests/prolog/predicates/format_2/tests_codes.lgt - lgt_format_2_not_enough_arguments_2 @ tests_codes
logtalk/tests/prolog/predicates/format_2/tests_codes.lgt - lgt_format_2_too_many_arguments_1 @ tests_codes
logtalk/tests/prolog/predicates/format_2/tests_codes.lgt - lgt_format_2_too_many_arguments_2 @ tests_codes
logtalk/tests/prolog/predicates/format_2/tests_chars.lgt - lgt_format_2_string_pad_with_spaces @ tests_chars
logtalk/tests/prolog/predicates/format_2/tests_chars.lgt - lgt_format_2_partial_list_second_argument_1 @ tests_chars
logtalk/tests/prolog/predicates/format_2/tests_chars.lgt - lgt_format_2_partial_list_second_argument_2 @ tests_chars
logtalk/tests/prolog/predicates/format_2/tests_chars.lgt - lgt_format_2_second_argument_wrong_type @ tests_chars
logtalk/tests/prolog/predicates/format_2/tests_chars.lgt - lgt_format_2_invalid_argument_1 @ tests_chars
logtalk/tests/prolog/predicates/format_2/tests_chars.lgt - lgt_format_2_not_enough_arguments_1 @ tests_chars
logtalk/tests/prolog/predicates/format_2/tests_chars.lgt - lgt_format_2_not_enough_arguments_2 @ tests_chars
logtalk/tests/prolog/predicates/format_2/tests_chars.lgt - lgt_format_2_too_many_arguments_1 @ tests_chars
logtalk/tests/prolog/predicates/format_2/tests_chars.lgt - lgt_format_2_too_many_arguments_2 @ tests_chars
%
% 1 test sets: 1 completed, 0 skipped, 0 broken, 0 timedout, 0 crashed
% 288 tests: 0 skipped, 261 passed, 27 failed (0 flaky)
%
% Batch testing ended @ 2025-11-13 14:33:29
The exact exceptions in case of error is the least standardized aspect. But the first three errors (repeated for atom, chars, and codes) should be addressed. The first test also fails for ECLiPSE 7.2.#5. But it passes for other systems, including SICStus Prolog.