[m-rev.] for review: handle EXCP nodes in wrong and missing answer diagnosis

Ian MacLarty maclarty at cs.mu.OZ.AU
Wed Jan 19 17:19:47 AEDT 2005


On Wed, Jan 19, 2005 at 03:14:17AM +1100, Mark Brown wrote:
> > 
> > Here you go. I might need to add some extra expected outputs for the new test
> > case in the debugging grades.  I am bootchecking those grades now.
> 
> Ok.
> 

I've added the following expected output for the debugging grades.  The
differences are that the warnings about untraced code don't appear and
try_all/3 now appears in incorrect contours.  Also I have added the "-d1000"
option when invoking dd to avoid a bug caused by lack of tracing information
for catch_impl/2.  The bug occurs when retrying through a caught exception.
The catch test case already fails in the decldebug grade because of this
bug.

Index: tests/debugger/declarative/exceptions.exp2
===================================================================
RCS file: tests/debugger/declarative/exceptions.exp2
diff -N tests/debugger/declarative/exceptions.exp2
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ tests/debugger/declarative/exceptions.exp2	19 Jan 2005 06:01:21 -0000
@@ -0,0 +1,79 @@
+      E1:     C1 CALL pred exceptions.main/2-0 (cc_multi) exceptions.m:13
+mdb> mdb> Contexts will not be printed.
+mdb> echo on
+Command echo enabled.
+mdb> break q
+ 0: + stop  interface pred exceptions.q/2-0 (cc_multi)
+mdb> c
+      E2:     C2 CALL pred exceptions.q/2-0 (cc_multi)
+mdb> f
+      E3:     C2 EXIT pred exceptions.q/2-0 (cc_multi)
+mdb> delete *
+ 0: E stop  interface pred exceptions.q/2-0 (cc_multi)
+mdb> dd -d1000
+q(yes(univ_cons("Error")), [1, 2, 3])
+Valid? n
+p(1)
+Valid? y
+p(2)
+Valid? y
+p(3)
+Valid? y
+Call p(_)
+Throws "Error"
+Expected? y
+Found incorrect contour:
+try_all(p, yes(univ_cons("Error")), [1, 2, 3])
+q(yes(univ_cons("Error")), [1, 2, 3])
+Is this a bug? y
+      E3:     C2 EXIT pred exceptions.q/2-0 (cc_multi)
+mdb> break r
+ 0: + stop  interface pred exceptions.r/1-0 (semidet)
+mdb> c
+      E4:     C3 CALL pred exceptions.r/1-0 (semidet)
+mdb> f
+      E5:     C3 FAIL pred exceptions.r/1-0 (semidet)
+mdb> delete *
+ 0: E stop  interface pred exceptions.r/1-0 (semidet)
+mdb> dd -d1000
+Call r(_)
+No solutions.
+Complete? n
+t({yes(univ_cons("Error")), [4, 5, 6]})
+Valid? n
+s(4)
+Valid? y
+s(5)
+Valid? y
+s(6)
+Valid? y
+Call s(_)
+Throws "Error"
+Expected? y
+Found incorrect contour:
+try_all(s, yes(univ_cons("Error")), [4, 5, 6])
+t({yes(univ_cons("Error")), [4, 5, 6]})
+Is this a bug? y
+      E6:     C4 EXIT pred exceptions.t/1-0 (cc_multi)
+mdb> break v
+ 0: + stop  interface pred exceptions.v/1-0 (nondet)
+mdb> c
+no
+      E7:     C5 CALL pred exceptions.v/1-0 (nondet)
+mdb> f
+      E8:     C5 EXCP pred exceptions.v/1-0 (nondet) c2;
+mdb> dd -d1000
+Call v(_)
+Throws "Error"
+Expected? n
+y(1)
+Valid? y
+Call u(_)
+Throws "Error"
+Expected? y
+Found unhandled exception:
+v(_)
+"Error"
+Is this a bug? y
+      E8:     C5 EXCP pred exceptions.v/1-0 (nondet) c2;
+mdb> quit -y


Ian.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list