mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-26 06:44:24 +00:00
Estimated hours taken: 0.2 Branches: main tests/debugger/dice.exp2: Fix the failure of this test case. The old .exp2 file for this test case was a valid output for this program but not with the input in dice.inp; it was valid output for a version of dice.inp that did not include "-m dice" in the dice command's argument list, and thus did not restrict output to the predicates of the dice module. The new .exp2 file is just the .exp file with a few additional lines for the merge predicate: merge([], [], []). merge([S | Ss], [], [S | Ss]). merge([], [S | Ss], [S | Ss]). merge([A | As], [B | Bs], [C | Cs]) :- ... The old output assumed that the switch arm for Headvar__1 = [] was optimized to Headvar__3 := Headvar__2. It may have been at one point in time, but since the HLDS code representing it is ( % cannot_fail switch on `HeadVar__2' % HeadVar__2 has functor list.[]/0 HeadVar__3 = list.[] ; % HeadVar__2 has functor list.[|]/2 HeadVar__3 = HeadVar__2 ) such an optimization cannot be required. The new contents of the .exp2 file is what you expect from this HLDS.
120 lines
8.4 KiB
Plaintext
120 lines
8.4 KiB
Plaintext
E1: C1 CALL pred dice.main/2-0 (det) dice.m:17
|
|
mdb> mdb> Contexts will not be printed.
|
|
mdb> echo on
|
|
Command echo enabled.
|
|
mdb> dice -f dice.fail -p dice.passes -m dice
|
|
Procedure Path/Port File:Line Pass (3) Fail Suspicion
|
|
pred dice.main/2-0 CALL dice.m:17 3 (3) 1 0.25
|
|
pred dice.main/2-0 EXIT dice.m:17 3 (3) 1 0.25
|
|
pred dice.main/2-0 <c2;?;> dice.m:20 3 (3) 1 0.25
|
|
pred dice.main/2-0 <c2;t;> dice.m:22 3 (3) 1 0.25
|
|
pred dice.merge/3-0 CALL dice.m:64 18 (3) 7 0.28
|
|
pred dice.merge/3-0 EXIT dice.m:64 18 (3) 7 0.28
|
|
pred dice.merge/3-0 <s1-2;> dice.m:64 8 (3) 3 0.27
|
|
pred dice.merge/3-0 <s1-2;s2-2;> dice.m:66 8 (3) 3 0.27
|
|
pred dice.merge/3-0 <s2-2;> dice.m:64 10 (3) 4 0.29
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;> dice.m:67 10 (3) 4 0.29
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;?;> dice.m:69 10 (3) 4 0.29
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;t;> dice.m:71 10 (3) 3 0.23
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;e;> dice.m:74 0 (0) 1 1.00
|
|
pred dice.merge_sort/2-0 CALL dice.m:31 3 (3) 1 0.25
|
|
pred dice.merge_sort/2-0 EXIT dice.m:31 3 (3) 1 0.25
|
|
pred dice.msort_n/4-0 CALL dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 EXIT dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <?;> dice.m:39 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;> dice.m:54 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;?;> dice.m:44 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;t;> dice.m:50 11 (3) 4 0.27
|
|
pred dice.msort_n/4-0 <e;t;s2-2;> dice.m:47 11 (3) 4 0.27
|
|
pred dice.msort_n/4-0 <e;e;> dice.m:55 8 (3) 3 0.27
|
|
mdb> fail_trace_counts dice.fail
|
|
mdb> pass_trace_counts dice.passes
|
|
mdb> dice -sS -m dice
|
|
Procedure Path/Port File:Line Pass (3) Fail Suspicion
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;e;> dice.m:74 0 (0) 1 1.00
|
|
pred dice.merge/3-0 <s2-2;> dice.m:64 10 (3) 4 0.29
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;> dice.m:67 10 (3) 4 0.29
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;?;> dice.m:69 10 (3) 4 0.29
|
|
pred dice.merge/3-0 CALL dice.m:64 18 (3) 7 0.28
|
|
pred dice.merge/3-0 EXIT dice.m:64 18 (3) 7 0.28
|
|
pred dice.merge/3-0 <s1-2;> dice.m:64 8 (3) 3 0.27
|
|
pred dice.merge/3-0 <s1-2;s2-2;> dice.m:66 8 (3) 3 0.27
|
|
pred dice.msort_n/4-0 <e;e;> dice.m:55 8 (3) 3 0.27
|
|
pred dice.msort_n/4-0 CALL dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 EXIT dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <?;> dice.m:39 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;> dice.m:54 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;?;> dice.m:44 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;t;> dice.m:50 11 (3) 4 0.27
|
|
pred dice.msort_n/4-0 <e;t;s2-2;> dice.m:47 11 (3) 4 0.27
|
|
pred dice.main/2-0 CALL dice.m:17 3 (3) 1 0.25
|
|
pred dice.main/2-0 EXIT dice.m:17 3 (3) 1 0.25
|
|
pred dice.main/2-0 <c2;?;> dice.m:20 3 (3) 1 0.25
|
|
pred dice.main/2-0 <c2;t;> dice.m:22 3 (3) 1 0.25
|
|
pred dice.merge_sort/2-0 CALL dice.m:31 3 (3) 1 0.25
|
|
pred dice.merge_sort/2-0 EXIT dice.m:31 3 (3) 1 0.25
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;t;> dice.m:71 10 (3) 3 0.23
|
|
mdb> dice -sSF -m dice
|
|
Procedure Path/Port File:Line Pass (3) Fail Suspicion
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;e;> dice.m:74 0 (0) 1 1.00
|
|
pred dice.merge/3-0 <s2-2;> dice.m:64 10 (3) 4 0.29
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;> dice.m:67 10 (3) 4 0.29
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;?;> dice.m:69 10 (3) 4 0.29
|
|
pred dice.merge/3-0 CALL dice.m:64 18 (3) 7 0.28
|
|
pred dice.merge/3-0 EXIT dice.m:64 18 (3) 7 0.28
|
|
pred dice.merge/3-0 <s1-2;> dice.m:64 8 (3) 3 0.27
|
|
pred dice.merge/3-0 <s1-2;s2-2;> dice.m:66 8 (3) 3 0.27
|
|
pred dice.msort_n/4-0 <e;e;> dice.m:55 8 (3) 3 0.27
|
|
pred dice.msort_n/4-0 CALL dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 EXIT dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <?;> dice.m:39 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;> dice.m:54 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;?;> dice.m:44 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;t;> dice.m:50 11 (3) 4 0.27
|
|
pred dice.msort_n/4-0 <e;t;s2-2;> dice.m:47 11 (3) 4 0.27
|
|
pred dice.main/2-0 CALL dice.m:17 3 (3) 1 0.25
|
|
pred dice.main/2-0 EXIT dice.m:17 3 (3) 1 0.25
|
|
pred dice.main/2-0 <c2;?;> dice.m:20 3 (3) 1 0.25
|
|
pred dice.main/2-0 <c2;t;> dice.m:22 3 (3) 1 0.25
|
|
pred dice.merge_sort/2-0 CALL dice.m:31 3 (3) 1 0.25
|
|
pred dice.merge_sort/2-0 EXIT dice.m:31 3 (3) 1 0.25
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;t;> dice.m:71 10 (3) 3 0.23
|
|
mdb> dice -n 3 -s P -m dice
|
|
Procedure Path/Port File:Line Pass (3) Fail Suspicion
|
|
pred dice.msort_n/4-0 CALL dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 EXIT dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <?;> dice.m:39 19 (3) 7 0.27
|
|
mdb> dice -s Fp -m dice
|
|
Procedure Path/Port File:Line Pass (3) Fail Suspicion
|
|
pred dice.merge/3-0 CALL dice.m:64 18 (3) 7 0.28
|
|
pred dice.merge/3-0 EXIT dice.m:64 18 (3) 7 0.28
|
|
pred dice.msort_n/4-0 CALL dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 EXIT dice.m:37 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <?;> dice.m:39 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;> dice.m:54 19 (3) 7 0.27
|
|
pred dice.msort_n/4-0 <e;?;> dice.m:44 19 (3) 7 0.27
|
|
pred dice.merge/3-0 <s2-2;> dice.m:64 10 (3) 4 0.29
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;> dice.m:67 10 (3) 4 0.29
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;?;> dice.m:69 10 (3) 4 0.29
|
|
pred dice.msort_n/4-0 <e;t;> dice.m:50 11 (3) 4 0.27
|
|
pred dice.msort_n/4-0 <e;t;s2-2;> dice.m:47 11 (3) 4 0.27
|
|
pred dice.merge/3-0 <s1-2;> dice.m:64 8 (3) 3 0.27
|
|
pred dice.merge/3-0 <s1-2;s2-2;> dice.m:66 8 (3) 3 0.27
|
|
pred dice.msort_n/4-0 <e;e;> dice.m:55 8 (3) 3 0.27
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;t;> dice.m:71 10 (3) 3 0.23
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;e;> dice.m:74 0 (0) 1 1.00
|
|
pred dice.main/2-0 CALL dice.m:17 3 (3) 1 0.25
|
|
pred dice.main/2-0 EXIT dice.m:17 3 (3) 1 0.25
|
|
pred dice.main/2-0 <c2;?;> dice.m:20 3 (3) 1 0.25
|
|
pred dice.main/2-0 <c2;t;> dice.m:22 3 (3) 1 0.25
|
|
pred dice.merge_sort/2-0 CALL dice.m:31 3 (3) 1 0.25
|
|
pred dice.merge_sort/2-0 EXIT dice.m:31 3 (3) 1 0.25
|
|
mdb> dice -sS -n 1 --module dice
|
|
Procedure Path/Port File:Line Pass (3) Fail Suspicion
|
|
pred dice.merge/3-0 <s2-2;c2;s2-2;c4;e;> dice.m:74 0 (0) 1 1.00
|
|
mdb> break dice.m:74
|
|
0: + stop linenumber dice.m:74
|
|
mdb> c
|
|
E2: C2 ELSE pred dice.merge/3-0 (det) s2-2;c2;s2-2;c4;e;
|
|
mdb> quit -y
|