Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broken test set for the write_term/3 predicate #320

Open
pmoura opened this issue May 30, 2022 · 0 comments
Open

Broken test set for the write_term/3 predicate #320

pmoura opened this issue May 30, 2022 · 0 comments

Comments

@pmoura
Copy link
Contributor

pmoura commented May 30, 2022

The Logtalk test set for the write_term/3 predicate is currently broken as Tau Prolog reports a syntax error when the tests.lgt file is read term-by-term by the Logtalk compiler. The error occurs when trying to parse the following clause:

	test(lgt_write_term_3_114, true(Assertion)) :-
		^^set_text_output(''),
		{writeq('\x2\')},
		^^text_output_assertion('\'\\x2\\\'', Assertion).

To reproduce the bug without loading Logtalk, this clause can be abstracted to:

foo :- bar('\x2\'), baz('\'\\x2\\\'').

The following query hangs after inputing that clause and pressing return:

?- read(T).
foo :- bar('\x2\'), baz('\'\\x2\\\'').

With the clauses for tests lgt_write_term_3_114 and lgt_write_term_3_115 commented out, the test set completes:

% tests started at 2022-05-30, 00:15:05
% 
% running tests from object tests
% file: /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt
% 
% iso_write_term_3_001: success (in 0.017999999999999988 seconds)
% iso_write_term_3_002: success (in 0.016000000000000014 seconds)
% iso_write_term_3_003: success (in 0.015000000000000124 seconds)
% iso_write_term_3_004: success (in 0.016999999999999904 seconds)
% iso_write_term_3_005: success (in 0.014000000000000234 seconds)
% iso_write_term_3_006: success (in 0.015000000000000124 seconds)
% iso_write_term_3_007: success (in 0.015000000000000124 seconds)
% sics_write_term_3_008: success (in 0.01499999999999968 seconds)
% sics_write_term_3_009: success (in 0.01499999999999968 seconds)
% sics_write_term_3_010: success (in 0.015000000000000568 seconds)
% sics_write_term_3_011: success (in 0.014000000000000234 seconds)
% sics_write_term_3_012: success (in 0.0129999999999999 seconds)
% sics_write_term_3_013: success (in 0.014000000000000234 seconds)
% sics_write_term_3_014: success (in 0.0129999999999999 seconds)
% sics_write_term_3_015: success (in 0.01499999999999968 seconds)
% sics_write_term_3_016: success (in 0.0129999999999999 seconds)
% sics_write_term_3_017: success (in 0.019000000000000128 seconds)
% sics_write_term_3_018: success (in 0.013999999999999346 seconds)
% sics_write_term_3_019: success (in 0.013999999999999346 seconds)
% sics_write_term_3_020: success (in 0.016000000000000014 seconds)
% sics_write_term_3_021: success (in 0.012000000000000455 seconds)
% sics_write_term_3_022: success (in 0.013999999999999346 seconds)
% lgt_write_term_3_023: success (in 0.015000000000000568 seconds)
% lgt_write_term_3_024: success (in 0.013999999999999346 seconds)
% lgt_write_term_3_025: success (in 0.0129999999999999 seconds)
% lgt_write_term_3_026: success (in 0.012000000000000455 seconds)
% lgt_write_term_3_027: success (in 0.0129999999999999 seconds)
% lgt_write_term_3_028: success (in 0.0129999999999999 seconds)
% lgt_write_term_3_029: success (in 0.0129999999999999 seconds)
% lgt_write_term_3_030: success (in 0.0129999999999999 seconds)
% lgt_write_term_3_031: success (in 0.014999999999998792 seconds)
% lgt_write_term_3_032: success (in 0.012000000000000455 seconds)
% lgt_write_term_3_033: success (in 0.014000000000001123 seconds)
% lgt_write_term_3_034: success (in 0.013000000000001677 seconds)
% lgt_write_term_3_035: success (in 0.012999999999998124 seconds)
% lgt_write_term_3_036: success (in 0.012000000000000455 seconds)
% lgt_write_term_3_037: success (in 0.012000000000000455 seconds)
% lgt_write_term_3_038: success (in 0.010999999999999233 seconds)
% lgt_write_term_3_039: success (in 0.015000000000000568 seconds)
% lgt_write_term_3_040: success (in 0.010000000000001563 seconds)
% lgt_write_term_3_041: success (in 0.011999999999996902 seconds)
% lgt_write_term_3_042: success (in 0.012000000000000455 seconds)
% lgt_write_term_3_043: success (in 0.013000000000001677 seconds)
% lgt_write_term_3_044: success (in 0.010999999999999233 seconds)
% lgt_write_term_3_045: success (in 0.011999999999996902 seconds)
% lgt_write_term_3_046: success (in 0.012000000000000455 seconds)
% lgt_write_term_3_047: success (in 0.012000000000000455 seconds)
% lgt_write_term_3_048: success (in 0.010000000000001563 seconds)
% lgt_write_term_3_049: success (in 0.010999999999999233 seconds)
% lgt_write_term_3_050: success (in 0.011000000000002785 seconds)
% lgt_write_term_3_051: success (in 0.00999999999999801 seconds)
% lgt_write_term_3_052: success (in 0.010000000000001563 seconds)
% lgt_write_term_3_053: success (in 0.011000000000002785 seconds)
% lgt_write_term_3_054: success (in 0.010999999999999233 seconds)
% lgt_write_term_3_055: success (in 0.007999999999999119 seconds)
% lgt_write_term_3_056: success (in 0.013999999999999346 seconds)
% lgt_write_term_3_057: success (in 0.010999999999999233 seconds)
% lgt_write_term_3_058: success (in 0.011000000000002785 seconds)
% lgt_write_term_3_059: success (in 0.008000000000002672 seconds)
% lgt_write_term_3_060: success (in 0.010000000000001563 seconds)
% lgt_write_term_3_061: success (in 0.009000000000000341 seconds)
% lgt_write_term_3_062: success (in 0.00999999999999801 seconds)
% lgt_write_term_3_063: success (in 0.007999999999999119 seconds)
% lgt_write_term_3_064: success (in 0.011000000000002785 seconds)
% lgt_write_term_3_065: success (in 0.010000000000001563 seconds)
% lgt_write_term_3_066: success (in 0.008000000000002672 seconds)
% lgt_write_term_3_067: success (in 0.008999999999996788 seconds)
% lgt_write_term_3_068: success (in 0.008000000000002672 seconds)
% lgt_write_term_3_069: success (in 0.009000000000000341 seconds)
% lgt_write_term_3_070: success (in 0.006000000000000227 seconds)
% lgt_write_term_3_071: success (in 0.006000000000000227 seconds)
% lgt_write_term_3_072: success (in 0.007999999999999119 seconds)
% lgt_write_term_3_073: success (in 0.0070000000000014495 seconds)
% lgt_write_term_3_074: success (in 0.007999999999999119 seconds)
% lgt_write_term_3_075: success (in 0.007999999999999119 seconds)
% lgt_write_term_3_076: success (in 0.007999999999999119 seconds)
% lgt_write_term_3_077: success (in 0.006000000000000227 seconds)
% lgt_write_term_3_078: success (in 0.007999999999999119 seconds)
% lgt_write_term_3_079: success (in 0.007999999999999119 seconds)
% lgt_write_term_3_080: success (in 0.006000000000000227 seconds)
% lgt_write_term_3_081: success (in 0.005000000000002558 seconds)
% lgt_write_term_3_082: success (in 0.005000000000002558 seconds)
% lgt_write_term_3_083: success (in 0.005000000000002558 seconds)
% lgt_write_term_3_084: success (in 0.006000000000000227 seconds)
% lgt_write_term_3_085: success (in 0.007999999999999119 seconds)
!     lgt_write_term_3_086: failure (in 0.0010000000000012221 seconds)
!       test assertion failed: ('+1')==('+ 1')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 478-483
% lgt_write_term_3_087: success (in 0.006000000000000227 seconds)
!     lgt_write_term_3_088: failure (in 0.0009999999999976694 seconds)
!       test assertion failed: ('- (0)')==('- 0')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 488-495
!     lgt_write_term_3_089: failure (in 0.0020000000000024443 seconds)
!       test assertion failed: ('- (1)')==('- 1')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 495-500
!     lgt_write_term_3_090: failure (in 0.001999999999995339 seconds)
!       test assertion failed: ('+1')==('+ 1')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 500-505
% lgt_write_term_3_091: success (in 0.003999999999997783 seconds)
!     lgt_write_term_3_092: failure (in 0.0 seconds)
!       test assertion failed: ('- +1')==('- + 1')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 510-515
!     lgt_write_term_3_093: failure (in 0.0009999999999976694 seconds)
!       test assertion failed: ('+ +1')==('+ + 1')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 515-520
% lgt_write_term_3_094: success (in 0.0040000000000048885 seconds)
!     lgt_write_term_3_095: failure (in 0.0020000000000024443 seconds)
!       test assertion failed: ('- (1.0)')==('- 1.0')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 525-530
% lgt_write_term_3_096: success (in 0.006000000000000227 seconds)
% lgt_write_term_3_097: success (in 0.003999999999997783 seconds)
!     lgt_write_term_3_098: failure (in 0.0030000000000001137 seconds)
!       test assertion failed: ('-abc')==('- abc')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 540-545
!     lgt_write_term_3_099: failure (in 0.0 seconds)
!       test assertion failed: ('-abc(def)')==('- abc(def)')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 545-550
!     lgt_write_term_3_100: failure (in 0.0009999999999976694 seconds)
!       test assertion failed: ('+abc(def)')==('+ abc(def)')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 550-555
!     lgt_write_term_3_101: failure (in 0.0020000000000024443 seconds)
!       test assertion failed: ('- -abc')==('- - abc')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 555-560
!     lgt_write_term_3_102: failure (in 0.0020000000000024443 seconds)
!       test assertion failed: ('+ +abc')==('+ + abc')
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 560-565
!     sics_write_term_3_103: failure (in 0.005000000000002558 seconds)
!       test goal throws the wrong error:
!         expected error(instantiation_error,A)
!         but got  error(domain_error(write_option,quoted(B)),write_term/3)
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 565-571
% sics_write_term_3_104: success (in 0.0030000000000001137 seconds)
!     sics_write_term_3_105: failure (in 0.0030000000000001137 seconds)
!       test goal throws the wrong error:
!         expected error(instantiation_error,A)
!         but got  error(domain_error(write_option,ignore_ops(B)),write_term/3)
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 575-579
% sics_write_term_3_106: success (in 0.0020000000000024443 seconds)
!     sics_write_term_3_107: failure (in 0.0030000000000001137 seconds)
!       test goal throws the wrong error:
!         expected error(instantiation_error,A)
!         but got  error(domain_error(write_option,numbervars(B)),write_term/3)
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 583-587
% sics_write_term_3_108: success (in 0.0030000000000001137 seconds)
!     sics_write_term_3_109: failure (in 0.0020000000000024443 seconds)
!       test goal succeeded but should have thrown an error:
!         expected error(instantiation_error,A)
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 591-595
% sics_write_term_3_110: success (in 0.0030000000000001137 seconds)
!     sics_write_term_3_111: failure (in 0.0020000000000024443 seconds)
!       test goal succeeded but should have thrown an error:
!         expected error(instantiation_error,A)
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 599-603
!     sics_write_term_3_112: failure (in 0.00999999999999801 seconds)
!       test goal succeeded but should have thrown an error:
!         expected error(instantiation_error,A)
!       in file /Users/pmoura/Documents/Logtalk/logtalk3/tests/prolog/predicates/write_term_3/tests.lgt between lines 603-607
% lgt_write_term_3_113: success (in 0.0030000000000001137 seconds)
% lgt_write_term_3_116: success (in 0.0020000000000024443 seconds)
% lgt_write_term_3_117: success (in 0.0020000000000024443 seconds)
% 
% 115 tests: 0 skipped, 97 passed, 18 failed (0 flaky)
% completed tests from object tests
% 
% no code coverage information collected
% tests ended at 2022-05-30, 00:15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant