mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-23 05:13:48 +00:00
Estimated hours taken: 4 Make declarative debugging enabled by default, and add test cases. The declarative debugger, while not complete, is fairly stable so users will be able to experiment with it after this change without having to re-configure the whole system. However, the main motivation for this change is so that developers who make changes to the system will have access to these test cases. configure.in: Turn the decl-debug feature on by default. tests/debugger/declarative: New directory containing tests for the declarative debugger. tests/debugger/declarative/*.m: tests/debugger/declarative/*.inp: tests/debugger/declarative/*.exp: Declarative debugger test cases. tests/debugger/declarative/Mmakefile: Mmakefile to do the declarative debugger tests. tests/debugger/Mmakefile: For each target, make the corresponding target in the 'declarative' subdirectory. WORK_IN_PROGRESS: Document the new (incomplete) feature.
50 lines
1.8 KiB
Plaintext
50 lines
1.8 KiB
Plaintext
1: 1 1 CALL pred app:main/2-0 (det)
|
|
mdb> echo on
|
|
Command echo enabled.
|
|
mdb> goto 19
|
|
19: 2 2 EXIT pred app:app/3-0 (det)
|
|
mdb> dd_wrong
|
|
app([1, 2, 3, 4, 5], [6, 7, 8], [1, 2, 3, 4, 5, 6, 7, 8], int)
|
|
Valid? y
|
|
Bug not found.
|
|
19: 2 2 EXIT pred app:app/3-0 (det)
|
|
mdb> dd_wrong
|
|
app([1, 2, 3, 4, 5], [6, 7, 8], [1, 2, 3, 4, 5, 6, 7, 8], int)
|
|
Valid? n
|
|
app([2, 3, 4, 5], [6, 7, 8], [2, 3, 4, 5, 6, 7, 8], int)
|
|
Valid? n
|
|
app([3, 4, 5], [6, 7, 8], [3, 4, 5, 6, 7, 8], int)
|
|
Valid? n
|
|
app([4, 5], [6, 7, 8], [4, 5, 6, 7, 8], int)
|
|
Valid? n
|
|
app([5], [6, 7, 8], [5, 6, 7, 8], int)
|
|
Valid? n
|
|
app([], [6, 7, 8], [6, 7, 8], int)
|
|
Valid? n
|
|
Incorrect instance found:
|
|
|
|
app([], [6, 7, 8], [6, 7, 8], int).
|
|
|
|
19: 2 2 EXIT pred app:app/3-0 (det)
|
|
mdb> goto 67
|
|
append([1, 2, 3, 4, 5], [6, 7, 8], [1, 2, 3, 4, 5, 6, 7, 8]).
|
|
67: 8 2 EXIT pred app:app/3-0 (det)
|
|
mdb> dd_wrong
|
|
app([1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5], [6, 7, 8], [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8], int)
|
|
Valid? n
|
|
app([2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5], [6, 7, 8], [2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8], int)
|
|
Valid? n
|
|
app([3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5], [6, 7, 8], [3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8], int)
|
|
Valid? n
|
|
app([4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5], [6, 7, 8], [4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8], int)
|
|
Valid? y
|
|
Incorrect instance found:
|
|
|
|
app([3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5], [6, 7, 8], [3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8], int) :-
|
|
app([4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5], [6, 7, 8], [4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8], int).
|
|
|
|
67: 8 2 EXIT pred app:app/3-0 (det)
|
|
mdb> continue -a
|
|
append([1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5], [6, 7, 8], [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8]).
|
|
68: 1 1 EXIT pred app:main/2-0 (det)
|