Files
mercury/tests/debugger/dice.exp2
Zoltan Somogyi 1eec221400 Fix the failure of this test case. The old .exp2 file for this test
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.
2008-06-04 03:37:40 +00:00

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