Use test case numbers according to our conventions ...

... in the first few test case directories.

tests/analysis_external/Mmakefile:
tests/analysis_external/ext_1.m:
tests/analysis_external/ext_1_runtest.sh:
tests/analysis_external/ext_2.m:
tests/analysis_external/ext_2_runtest.sh:
    Rename the ext and ext2 test cases to ext_1 and ext_2 respectively.

tests/benchmarks/Mmakefile:
tests/benchmarks/deriv_1.exp:
tests/benchmarks/deriv_1.m:
tests/benchmarks/deriv_2.exp:
tests/benchmarks/deriv_2.m:
    Rename the deriv and deriv2 test cases to deriv_1 and deriv_2 respectively.

tests/declarative_debugger/Mercury.options:
tests/declarative_debugger/Mmakefile:
tests/declarative_debugger/ho2.exp:
tests/declarative_debugger/ho2.exp2:
tests/declarative_debugger/ho4.exp:
tests/declarative_debugger/ho5.exp2:
tests/declarative_debugger/ho5.exp3:
tests/declarative_debugger/ho_2.exp:
tests/declarative_debugger/ho_2.exp2:
tests/declarative_debugger/ho_2.inp:
tests/declarative_debugger/ho_2.m:
tests/declarative_debugger/ho_3.exp:
tests/declarative_debugger/ho_3.inp:
tests/declarative_debugger/ho_3.m:
tests/declarative_debugger/ho_4.exp:
tests/declarative_debugger/ho_4.inp:
tests/declarative_debugger/ho_4.m:
tests/declarative_debugger/ho_5.exp:
tests/declarative_debugger/ho_5.exp2:
tests/declarative_debugger/ho_5.exp3:
tests/declarative_debugger/ho_5.inp:
tests/declarative_debugger/ho_5.m:
    Rename the ho2/ho3/ho4/ho5 test cases to ho_2/ho_3/ho_4/ho_5 respectively.

tests/declarative_debugger/revise_1.exp:
tests/declarative_debugger/revise_1.inp:
tests/declarative_debugger/revise_1.m:
    Rename the revise test case to revise_1, due to the existence of
    revise_2.

tests/declarative_debugger/shallow.exp:
tests/declarative_debugger/shallow.m:
tests/declarative_debugger/shallow_helper_1.m:
tests/declarative_debugger/shallow_helper_2.m:
    Rename shallow_2/shallow_3 to shallow_helper_1/shallow_helper_2
    respectively, since they are part of the shallow test case.

tests/declarative_debugger/trust.exp:
tests/declarative_debugger/trust.inp:
tests/declarative_debugger/trust.m:
tests/declarative_debugger/trust_helper_1.m:
tests/declarative_debugger/trust_helper_2.m:
    Rename trust_1/trust_2 to trust_helper_1/trust_helper_2
    respectively, since they are part of the shallow test case.
This commit is contained in:
Zoltan Somogyi
2024-08-04 16:27:11 +02:00
parent a95defa18d
commit 0e2784323a
44 changed files with 323 additions and 324 deletions

View File

@@ -15,19 +15,19 @@ override EXTRA_MCFLAGS := $(patsubst --transitive-%,,$(EXTRA_MCFLAGS))
ifdef WORKSPACE_HAS_SUBDIRS
TESTS = \
ext-nodepend \
ext2-nodepend
ext_1-nodepend \
ext_2-nodepend
else
TESTS =
endif
include ../Mmake.common
ext.runtest:
MC=$(MC) ./ext_runtest.sh
ext_1.runtest:
MC=$(MC) ./ext_1_runtest.sh
ext2.runtest:
MC=$(MC) ./ext2_runtest.sh
ext_2.runtest:
MC=$(MC) ./ext_2_runtest.sh
realclean_local: realclean_analysis_external

View File

@@ -3,10 +3,10 @@
%---------------------------------------------------------------------------%
%
% Analysis results should be written out for exported `:- pragma external*'
% predicates. Importing modules don't care how those procedures are
% predicates. Importing modules don't care how those procedures are
% implemented, so results should exist.
:- module ext.
:- module ext_1.
:- interface.
:- pred foo(t::in, t::out) is det.

View File

@@ -10,13 +10,13 @@ set -x
rm -rf Mercury
$MMCMAKE ext.analyse --analysis-repeat 0 || failed
$MMCMAKE ext_1.analyse --analysis-repeat 0 || failed
check_result ext 'exception.*foo'
check_result ext 'structure_reuse.*foo'
check_result ext 'structure_sharing.*foo'
check_result ext 'trail.*foo'
check_result ext 'unused_args.*foo'
check_result ext_1 'exception.*foo'
check_result ext_1 'structure_reuse.*foo'
check_result ext_1 'structure_sharing.*foo'
check_result ext_1 'trail.*foo'
check_result ext_1 'unused_args.*foo'
check_statuses 'optimal.'
check_no_requests

View File

@@ -2,9 +2,9 @@
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
%
% Same as ext.m but tests trail usage analysis separately.
% Same as ext_1.m but tests trail usage analysis separately.
:- module ext2.
:- module ext_2.
:- interface.
:- pred foo(t::in, t::out) is det.

View File

@@ -10,9 +10,9 @@ set -x
rm -rf Mercury
$MMCMAKE ext2.analyse --analysis-repeat 0 || failed
$MMCMAKE ext_2.analyse --analysis-repeat 0 || failed
check_result ext2 'mm_tabling.*foo'
check_result ext_2 'mm_tabling.*foo'
check_statuses 'optimal.'
check_no_requests

View File

@@ -18,8 +18,8 @@ MAYBE_J1 =
PROGS = \
cqueens \
crypt \
deriv \
deriv2 \
deriv_1 \
deriv_2 \
nrev \
poly \
primes \

View File

@@ -11,7 +11,7 @@
%
% symbolic derivatives
:- module deriv.
:- module deriv_1.
:- interface.

View File

@@ -11,7 +11,7 @@
%
% symbolic derivatives
:- module deriv2.
:- module deriv_2.
:- interface.

View File

@@ -5,7 +5,7 @@ MCFLAGS-exceptions += --strict-sequential
MCFLAGS-io_tab_impure += --trace rep --trace-table-io-all
MCFLAGS-named_fields += --trace rep --trace-table-io-all
MCFLAGS-nodescend_tracking += --trace rep --trace-table-io-all
MCFLAGS-shallow_2 += --trace shallow
MCFLAGS-shallow_helper_1 += --trace shallow
MCFLAGS-tabled_read_decl += --trace rep --trace-table-io-all
MCFLAGS-tabled_read_decl_goto += --trace rep --trace-table-io-all
MCFLAGS-untraced_subgoal_sub += --trace minimum

View File

@@ -42,10 +42,10 @@ DECLARATIVE_PROGS = \
func_call \
gcf \
higher_order \
ho2 \
ho3 \
ho4 \
ho5 \
ho_2 \
ho_3 \
ho_4 \
ho_5 \
ignore \
if_then_else \
inadmissible \
@@ -69,7 +69,7 @@ DECLARATIVE_PROGS = \
queens \
remember_modes \
resume \
revise \
revise_1 \
revise_2 \
small \
special_term_dep \
@@ -353,24 +353,24 @@ higher_order.out: higher_order higher_order.inp
$(MDB) ./higher_order < higher_order.inp > higher_order.out 2>&1 \
|| { grep . $@ /dev/null; exit 1; }
ho2.out: ho2 ho2.inp
$(MDB) ./ho2 < ho2.inp > ho2.out 2>&1 \
ho_2.out: ho_2 ho_2.inp
$(MDB) ./ho_2 < ho_2.inp > ho_2.out 2>&1 \
|| { grep . $@ /dev/null; exit 1; }
ho3.out: ho3 ho3.inp
$(MDB) ./ho3 < ho3.inp > ho3.out 2>&1 \
ho_3.out: ho_3 ho_3.inp
$(MDB) ./ho_3 < ho_3.inp > ho_3.out 2>&1 \
|| { grep . $@ /dev/null; exit 1; }
ho4.out: ho4 ho4.inp
$(MDB) ./ho4 < ho4.inp > ho4.out 2>&1 \
ho_4.out: ho_4 ho_4.inp
$(MDB) ./ho_4 < ho_4.inp > ho_4.out 2>&1 \
|| { grep . $@ /dev/null; exit 1; }
# We need to pipe the output through sed to avoid hard-coding dependencies on
# particular line numbers in the standard library source code.
ho5.out: ho5 ho5.inp
$(MDB_STD) ./ho5 < ho5.inp 2>&1 | \
ho_5.out: ho_5 ho_5.inp
$(MDB_STD) ./ho_5 < ho_5.inp 2>&1 | \
sed -e 's/exception.m:[0-9]*/exception.m:NNNN/g' \
> ho5.out 2>&1 \
> ho_5.out 2>&1 \
|| { grep . $@ /dev/null; exit 1; }
if_then_else.out: if_then_else if_then_else.inp
@@ -503,8 +503,8 @@ resume.out: resume resume.inp
$(MDB_STD) ./resume < resume.inp > resume.out 2>&1 \
|| { grep . $@ /dev/null; exit 1; }
revise.out: revise revise.inp
$(MDB) ./revise < revise.inp > revise.out 2>&1 \
revise_1.out: revise_1 revise_1.inp
$(MDB) ./revise_1 < revise_1.inp > revise_1.out 2>&1 \
|| { grep . $@ /dev/null; exit 1; }
revise_2.out: revise_2 revise_2.inp

View File

@@ -1,48 +0,0 @@
1: 1 1 CALL pred ho2.main/2-0 (det) ho2.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho2.p/3-0 (det)
mdb> continue
2: 2 2 CALL pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:15)
mdb> finish
7: 2 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:15)
mdb> dd -d 3 -n 7
p(0, 3, 27)
Valid? no
q(lambda_ho2_m_28(3), 3, 27)
Valid? yes
Found incorrect contour:
q(lambda_ho2_m_28(3), 3, 27)
p(0, 3, 27)
Is this a bug? yes
7: 2 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:15)
mdb> continue
8: 5 2 CALL pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:16)
mdb> finish
13: 5 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:16)
mdb> dd -d 3 -n 7
p(1, 3, 27)
Valid? no
Found incorrect contour:
q(lambda_ho2_m_28(3), 3, 27)
p(1, 3, 27)
Is this a bug? yes
13: 5 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:16)
mdb> continue
14: 8 2 CALL pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:17)
mdb> finish
19: 8 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:17)
mdb> dd -d 3 -n 7
p(2, 4, 64)
Valid? no
q(lambda_ho2_m_28(4), 4, 64)
Valid? yes
Found incorrect contour:
q(lambda_ho2_m_28(4), 4, 64)
p(2, 4, 64)
Is this a bug? yes
19: 8 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:17)
mdb> continue
27, 27, 64

View File

@@ -1,48 +0,0 @@
1: 1 1 CALL pred ho2.main/2-0 (det) ho2.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho2.p/3-0 (det)
mdb> continue
2: 2 2 CALL pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:15)
mdb> finish
11: 2 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:15)
mdb> dd -d 3 -n 7
p(0, 3, 27)
Valid? no
q(lambda_ho2_m_28(3), 3, 27)
Valid? yes
Found incorrect contour:
q(lambda_ho2_m_28(3), 3, 27)
p(0, 3, 27)
Is this a bug? yes
11: 2 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:15)
mdb> continue
12: 7 2 CALL pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:16)
mdb> finish
21: 7 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:16)
mdb> dd -d 3 -n 7
p(1, 3, 27)
Valid? no
Found incorrect contour:
q(lambda_ho2_m_28(3), 3, 27)
p(1, 3, 27)
Is this a bug? yes
21: 7 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:16)
mdb> continue
22: 12 2 CALL pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:17)
mdb> finish
31: 12 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:17)
mdb> dd -d 3 -n 7
p(2, 4, 64)
Valid? no
q(lambda_ho2_m_28(4), 4, 64)
Valid? yes
Found incorrect contour:
q(lambda_ho2_m_28(4), 4, 64)
p(2, 4, 64)
Is this a bug? yes
31: 12 2 EXIT pred ho2.p/3-0 (det) ho2.m:27 (ho2.m:17)
mdb> continue
27, 27, 64

View File

@@ -1,40 +0,0 @@
1: 1 1 CALL pred ho4.main/2-0 (det) ho4.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho4.p/1-0 (semidet)
mdb> continue
3: 2 2 CALL pred ho4.p/1-0 (semidet) ho4.m:29 (ho4.m:15)
mdb> finish
18: 2 2 FAIL pred ho4.p/1-0 (semidet) ho4.m:29 (ho4.m:15)
mdb> dd -d 3 -n 7
Call p(1)
Unsatisfiable? no
q(r(5), 5)
Valid? yes
q(r(5), 0)
Valid? yes
Call q(r(5), _)
Solutions:
q(r(5), 5)
q(r(5), 0)
Complete? yes
Found partially uncovered atom:
p(1)
Is this a bug? yes
18: 2 2 FAIL pred ho4.p/1-0 (semidet) ho4.m:29 (ho4.m:15)
mdb> continue
21: 5 2 CALL pred ho4.p/1-0 (semidet) ho4.m:29 (ho4.m:20)
mdb> finish
36: 5 2 FAIL pred ho4.p/1-0 (semidet) ho4.m:29 (ho4.m:20)
mdb> dd -d 3 -n 7
Call p(2)
Unsatisfiable? no
Found partially uncovered atom:
p(2)
Is this a bug? yes
36: 5 2 FAIL pred ho4.p/1-0 (semidet) ho4.m:29 (ho4.m:20)
mdb> continue
\+ p(1).
\+ p(2).

View File

@@ -1,42 +0,0 @@
E1: C1 CALL pred ho5.main/2-0 (cc_multi) ho5.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho5.p/2-0 (det)
mdb> continue
E2: C2 CALL pred ho5.p/2-0 (det) ho5.m:22 (exception.m:NNNN)
mdb> finish
E3: C2 EXCP pred ho5.p/2-0 (det) c2; ho5.m:24 (exception.m:NNNN)
mdb> dd -d 3 -n 7
Call p(1, _)
Throws zero
Expected? no
q(1, 0)
Valid? yes
Call r(0, _)
Throws zero
Expected? yes
Found unhandled or incorrect exception:
p(1, _)
zero
Is this a bug? yes
E3: C2 EXCP pred ho5.p/2-0 (det) c2; ho5.m:24 (exception.m:NNNN)
mdb> continue
exception(univ_cons('<<function>>'))
E4: C3 CALL pred ho5.p/2-0 (det) ho5.m:22 (exception.m:NNNN)
mdb> finish
E5: C3 EXCP pred ho5.p/2-0 (det) c2; ho5.m:24 (exception.m:NNNN)
mdb> dd -d 3 -n 7
Call p(2, _)
Throws zero
Expected? no
q(2, 0)
Valid? yes
Found unhandled or incorrect exception:
p(2, _)
zero
Is this a bug? yes
E5: C3 EXCP pred ho5.p/2-0 (det) c2; ho5.m:24 (exception.m:NNNN)
mdb> continue
exception(univ_cons('<<function>>'))

View File

@@ -1,42 +0,0 @@
1: 1 1 CALL pred ho5.main/2-0 (cc_multi) ho5.m:8
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho5.p/2-0 (det)
mdb> continue
12: 9 7 CALL pred ho5.p/2-0 (det) ho5.m:18 (exception.m:NNNN)
mdb> finish
25: 9 7 EXCP pred ho5.p/2-0 (det) c2; ho5.m:18 (exception.m:NNNN)
mdb> dd -d 3 -n 7
Call p(1, _)
Throws zero
Expected? no
q(1, 0)
Valid? yes
Call r(0, _)
Throws zero
Expected? yes
Found unhandled or incorrect exception:
p(1, _)
zero
Is this a bug? yes
25: 9 7 EXCP pred ho5.p/2-0 (det) c2; ho5.m:18 (exception.m:NNNN)
mdb> continue
exception(univ_cons('<<function>>'))
1603: 608 7 CALL pred ho5.p/2-0 (det) ho5.m:18 (exception.m:NNNN)
mdb> finish
1616: 608 7 EXCP pred ho5.p/2-0 (det) c2; ho5.m:18 (exception.m:NNNN)
mdb> dd -d 3 -n 7
Call p(2, _)
Throws zero
Expected? no
q(2, 0)
Valid? yes
Found unhandled or incorrect exception:
p(2, _)
zero
Is this a bug? yes
1616: 608 7 EXCP pred ho5.p/2-0 (det) c2; ho5.m:18 (exception.m:NNNN)
mdb> continue
exception(univ_cons('<<function>>'))

View File

@@ -0,0 +1,48 @@
1: 1 1 CALL pred ho_2.main/2-0 (det) ho_2.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho_2.p/3-0 (det)
mdb> continue
2: 2 2 CALL pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:15)
mdb> finish
7: 2 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:15)
mdb> dd -d 3 -n 7
p(0, 3, 27)
Valid? no
q(lambda_ho_2_m_28(3), 3, 27)
Valid? yes
Found incorrect contour:
q(lambda_ho_2_m_28(3), 3, 27)
p(0, 3, 27)
Is this a bug? yes
7: 2 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:15)
mdb> continue
8: 5 2 CALL pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:16)
mdb> finish
13: 5 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:16)
mdb> dd -d 3 -n 7
p(1, 3, 27)
Valid? no
Found incorrect contour:
q(lambda_ho_2_m_28(3), 3, 27)
p(1, 3, 27)
Is this a bug? yes
13: 5 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:16)
mdb> continue
14: 8 2 CALL pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:17)
mdb> finish
19: 8 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:17)
mdb> dd -d 3 -n 7
p(2, 4, 64)
Valid? no
q(lambda_ho_2_m_28(4), 4, 64)
Valid? yes
Found incorrect contour:
q(lambda_ho_2_m_28(4), 4, 64)
p(2, 4, 64)
Is this a bug? yes
19: 8 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:17)
mdb> continue
27, 27, 64

View File

@@ -0,0 +1,48 @@
1: 1 1 CALL pred ho_2.main/2-0 (det) ho_2.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho_2.p/3-0 (det)
mdb> continue
2: 2 2 CALL pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:15)
mdb> finish
11: 2 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:15)
mdb> dd -d 3 -n 7
p(0, 3, 27)
Valid? no
q(lambda_ho_2_m_28(3), 3, 27)
Valid? yes
Found incorrect contour:
q(lambda_ho_2_m_28(3), 3, 27)
p(0, 3, 27)
Is this a bug? yes
11: 2 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:15)
mdb> continue
12: 7 2 CALL pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:16)
mdb> finish
21: 7 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:16)
mdb> dd -d 3 -n 7
p(1, 3, 27)
Valid? no
Found incorrect contour:
q(lambda_ho_2_m_28(3), 3, 27)
p(1, 3, 27)
Is this a bug? yes
21: 7 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:16)
mdb> continue
22: 12 2 CALL pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:17)
mdb> finish
31: 12 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:17)
mdb> dd -d 3 -n 7
p(2, 4, 64)
Valid? no
q(lambda_hoho__m_28(4), 4, 64)
Valid? yes
Found incorrect contour:
q(lambda_ho_2_m_28(4), 4, 64)
p(2, 4, 64)
Is this a bug? yes
31: 12 2 EXIT pred ho_2.p/3-0 (det) ho_2.m:27 (ho_2.m:17)
mdb> continue
27, 27, 64

View File

@@ -2,7 +2,7 @@
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module ho2.
:- module ho_2.
:- interface.
:- import_module io.

View File

@@ -1,13 +1,13 @@
1: 1 1 CALL pred ho3.main/2-0 (det) ho3.m:14
1: 1 1 CALL pred ho_3.main/2-0 (det) ho_3.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho3.p/1-0 (semidet)
0: + stop interface pred ho_3.p/1-0 (semidet)
mdb> continue
3: 2 2 CALL pred ho3.p/1-0 (semidet) ho3.m:29 (ho3.m:15)
3: 2 2 CALL pred ho_3.p/1-0 (semidet) ho_3.m:29 (ho_3.m:15)
mdb> finish
16: 2 2 FAIL pred ho3.p/1-0 (semidet) ho3.m:29 (ho3.m:15)
16: 2 2 FAIL pred ho_3.p/1-0 (semidet) ho_3.m:29 (ho_3.m:15)
mdb> dd -d 3 -n 7
Call p(1)
Unsatisfiable? no
@@ -27,11 +27,11 @@ Complete? yes
Found partially uncovered atom:
p(1)
Is this a bug? yes
16: 2 2 FAIL pred ho3.p/1-0 (semidet) ho3.m:29 (ho3.m:15)
16: 2 2 FAIL pred ho_3.p/1-0 (semidet) ho_3.m:29 (ho_3.m:15)
mdb> continue
19: 6 2 CALL pred ho3.p/1-0 (semidet) ho3.m:29 (ho3.m:20)
19: 6 2 CALL pred ho_3.p/1-0 (semidet) ho_3.m:29 (ho_3.m:20)
mdb> finish
32: 6 2 FAIL pred ho3.p/1-0 (semidet) ho3.m:29 (ho3.m:20)
32: 6 2 FAIL pred ho_3.p/1-0 (semidet) ho_3.m:29 (ho_3.m:20)
mdb> dd -d 3 -n 7
Call p(2)
Unsatisfiable? no
@@ -42,7 +42,7 @@ Unsatisfiable? yes
Found partially uncovered atom:
p(2)
Is this a bug? yes
32: 6 2 FAIL pred ho3.p/1-0 (semidet) ho3.m:29 (ho3.m:20)
32: 6 2 FAIL pred ho_3.p/1-0 (semidet) ho_3.m:29 (ho_3.m:20)
mdb> continue
\+ p(1).
\+ p(2).

View File

@@ -2,7 +2,7 @@
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module ho3.
:- module ho_3.
:- interface.
:- import_module io.

View File

@@ -0,0 +1,40 @@
1: 1 1 CALL pred ho_4.main/2-0 (det) ho_4.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho_4.p/1-0 (semidet)
mdb> continue
3: 2 2 CALL pred ho_4.p/1-0 (semidet) ho_4.m:29 (ho_4.m:15)
mdb> finish
18: 2 2 FAIL pred ho_4.p/1-0 (semidet) ho_4.m:29 (ho_4.m:15)
mdb> dd -d 3 -n 7
Call p(1)
Unsatisfiable? no
q(r(5), 5)
Valid? yes
q(r(5), 0)
Valid? yes
Call q(r(5), _)
Solutions:
q(r(5), 5)
q(r(5), 0)
Complete? yes
Found partially uncovered atom:
p(1)
Is this a bug? yes
18: 2 2 FAIL pred ho_4.p/1-0 (semidet) ho_4.m:29 (ho_4.m:15)
mdb> continue
21: 5 2 CALL pred ho_4.p/1-0 (semidet) ho_4.m:29 (ho_4.m:20)
mdb> finish
36: 5 2 FAIL pred ho_4.p/1-0 (semidet) ho_4.m:29 (ho_4.m:20)
mdb> dd -d 3 -n 7
Call p(2)
Unsatisfiable? no
Found partially uncovered atom:
p(2)
Is this a bug? yes
36: 5 2 FAIL pred ho_4.p/1-0 (semidet) ho_4.m:29 (ho_4.m:20)
mdb> continue
\+ p(1).
\+ p(2).

View File

@@ -2,7 +2,7 @@
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module ho4.
:- module ho_4.
:- interface.
:- import_module io.

View File

@@ -1,13 +1,13 @@
E1: C1 CALL pred ho5.main/2-0 (cc_multi) ho5.m:14
E1: C1 CALL pred ho_5.main/2-0 (cc_multi) ho_5.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho5.p/2-0 (det)
0: + stop interface pred ho_5.p/2-0 (det)
mdb> continue
E2: C2 CALL pred ho5.p/2-0 (det) ho5.m:22
E2: C2 CALL pred ho_5.p/2-0 (det) ho_5.m:22
mdb> finish
E3: C2 EXCP pred ho5.p/2-0 (det) c2; ho5.m:24
E3: C2 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:24
mdb> dd -d 3 -n 7
Call p(1, _)
Throws zero
@@ -21,15 +21,15 @@ Found unhandled or incorrect exception:
p(1, _)
zero
Is this a bug? yes
E3: C2 EXCP pred ho5.p/2-0 (det) c2; ho5.m:24
E3: C2 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:24
mdb> continue
mdb: warning: reached unknown label
This may result in some exception events
being omitted from the trace.
exception(univ_cons('<<function>>'))
E4: C3 CALL pred ho5.p/2-0 (det) ho5.m:22
E4: C3 CALL pred ho_5.p/2-0 (det) ho_5.m:22
mdb> finish
E5: C3 EXCP pred ho5.p/2-0 (det) c2; ho5.m:24
E5: C3 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:24
mdb> dd -d 3 -n 7
Call p(2, _)
Throws zero
@@ -40,7 +40,7 @@ Found unhandled or incorrect exception:
p(2, _)
zero
Is this a bug? yes
E5: C3 EXCP pred ho5.p/2-0 (det) c2; ho5.m:24
E5: C3 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:24
mdb> continue
mdb: warning: reached unknown label
This may result in some exception events

View File

@@ -0,0 +1,42 @@
E1: C1 CALL pred ho_5.main/2-0 (cc_multi) ho_5.m:14
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho_5.p/2-0 (det)
mdb> continue
E2: C2 CALL pred ho_5.p/2-0 (det) ho_5.m:22 (exception.m:NNNN)
mdb> finish
E3: C2 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:24 (exception.m:NNNN)
mdb> dd -d 3 -n 7
Call p(1, _)
Throws zero
Expected? no
q(1, 0)
Valid? yes
Call r(0, _)
Throws zero
Expected? yes
Found unhandled or incorrect exception:
p(1, _)
zero
Is this a bug? yes
E3: C2 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:24 (exception.m:NNNN)
mdb> continue
exception(univ_cons('<<function>>'))
E4: C3 CALL pred ho_5.p/2-0 (det) ho_5.m:22 (exception.m:NNNN)
mdb> finish
E5: C3 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:24 (exception.m:NNNN)
mdb> dd -d 3 -n 7
Call p(2, _)
Throws zero
Expected? no
q(2, 0)
Valid? yes
Found unhandled or incorrect exception:
p(2, _)
zero
Is this a bug? yes
E5: C3 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:24 (exception.m:NNNN)
mdb> continue
exception(univ_cons('<<function>>'))

View File

@@ -0,0 +1,42 @@
1: 1 1 CALL pred ho_5.main/2-0 (cc_multi) ho_5.m:8
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred ho_5.p/2-0 (det)
mdb> continue
12: 9 7 CALL pred ho_5.p/2-0 (det) ho_5.m:18 (exception.m:NNNN)
mdb> finish
25: 9 7 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:18 (exception.m:NNNN)
mdb> dd -d 3 -n 7
Call p(1, _)
Throws zero
Expected? no
q(1, 0)
Valid? yes
Call r(0, _)
Throws zero
Expected? yes
Found unhandled or incorrect exception:
p(1, _)
zero
Is this a bug? yes
25: 9 7 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:18 (exception.m:NNNN)
mdb> continue
exception(univ_cons('<<function>>'))
1603: 608 7 CALL pred ho_5.p/2-0 (det) ho_5.m:18 (exception.m:NNNN)
mdb> finish
1616: 608 7 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:18 (exception.m:NNNN)
mdb> dd -d 3 -n 7
Call p(2, _)
Throws zero
Expected? no
q(2, 0)
Valid? yes
Found unhandled or incorrect exception:
p(2, _)
zero
Is this a bug? yes
1616: 608 7 EXCP pred ho_5.p/2-0 (det) c2; ho_5.m:18 (exception.m:NNNN)
mdb> continue
exception(univ_cons('<<function>>'))

View File

@@ -2,7 +2,7 @@
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module ho5.
:- module ho_5.
:- interface.
:- import_module io.

View File

@@ -1,13 +1,13 @@
1: 1 1 CALL pred revise.main/2-0 (cc_multi) revise.m:13
1: 1 1 CALL pred revise_1.main/2-0 (cc_multi) revise_1.m:13
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> break p
0: + stop interface pred revise.p/2-0 (multi)
0: + stop interface pred revise_1.p/2-0 (multi)
mdb> continue
2: 2 2 CALL pred revise.p/2-0 (multi) revise.m:26 (revise.m:14)
2: 2 2 CALL pred revise_1.p/2-0 (multi) revise_1.m:26 (revise_1.m:14)
mdb> finish
14: 2 2 EXIT pred revise.p/2-0 (multi) revise.m:26 (revise.m:14)
14: 2 2 EXIT pred revise_1.p/2-0 (multi) revise_1.m:26 (revise_1.m:14)
mdb> dd -d 3 -n 7
p("foo", "foo")
Valid? no
@@ -41,5 +41,5 @@ Valid? [yes] no
Found incorrect contour:
q("foo", "foo")
Is this a bug? yes
4: 3 3 EXIT pred revise.q/2-0 (det) revise.m:28 (revise.m:26)
4: 3 3 EXIT pred revise_1.q/2-0 (det) revise_1.m:28 (revise_1.m:26)
mdb> quit -y

View File

@@ -2,7 +2,7 @@
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module revise.
:- module revise_1.
:- interface.
:- import_module io.
@@ -33,4 +33,3 @@ s --> [].
a --> [].
b --> [].
c --> :=("bar").

View File

@@ -28,7 +28,7 @@ Found incorrect contour:
b("t1", 1, 5)
p("t1", 5, 1)
Is this a bug? yes
14: 3 3 EXIT pred shallow_2.p/3-0 (det) shallow_2.m:15 (shallow.m:34)
14: 3 3 EXIT pred shallow_helper_1.p/3-0 (det) shallow_helper_1.m:15 (shallow.m:34)
mdb> continue
15: 2 2 EXIT pred shallow.test/2-0 (det) shallow.m:33 (shallow.m:15)
mdb> continue
@@ -55,7 +55,7 @@ Found incorrect contour:
b("t2", 1, 5)
p("t2", 37, -11)
Is this a bug? yes
28: 7 3 EXIT pred shallow_2.p/3-0 (det) shallow_2.m:15 (shallow.m:34)
28: 7 3 EXIT pred shallow_helper_1.p/3-0 (det) shallow_helper_1.m:15 (shallow.m:34)
mdb> continue
29: 6 2 EXIT pred shallow.test/2-0 (det) shallow.m:33 (shallow.m:16)
mdb> continue
@@ -79,7 +79,7 @@ Complete? yes
Found incorrect contour:
q("t3", 2, 2)
Is this a bug? yes
40: 11 3 EXIT pred shallow_2.q/3-0 (det) shallow_2.m:29 (shallow.m:34)
40: 11 3 EXIT pred shallow_helper_1.q/3-0 (det) shallow_helper_1.m:29 (shallow.m:34)
mdb> continue
41: 10 2 EXIT pred shallow.test/2-0 (det) shallow.m:33 (shallow.m:17)
mdb> continue
@@ -97,7 +97,7 @@ Found incorrect contour:
a("t4", -1, -1)
q("t4", -1, 11)
Is this a bug? yes
47: 14 3 EXIT pred shallow_2.q/3-0 (det) shallow_2.m:29 (shallow.m:34)
47: 14 3 EXIT pred shallow_helper_1.q/3-0 (det) shallow_helper_1.m:29 (shallow.m:34)
mdb> continue
48: 13 2 EXIT pred shallow.test/2-0 (det) shallow.m:33 (shallow.m:18)
mdb> continue
@@ -124,7 +124,7 @@ Found incorrect contour:
b("t5", 3, 5)
r("t5", 3, 23)
Is this a bug? yes
61: 17 3 EXIT pred shallow_2.r/3-0 (det) shallow_2.m:36 (shallow.m:34)
61: 17 3 EXIT pred shallow_helper_1.r/3-0 (det) shallow_helper_1.m:36 (shallow.m:34)
mdb> continue
62: 16 2 EXIT pred shallow.test/2-0 (det) shallow.m:33 (shallow.m:19)
mdb> continue

View File

@@ -9,7 +9,7 @@
:- pred main(io::di, io::uo) is det.
:- implementation.
:- import_module shallow_2.
:- import_module shallow_helper_1.
main(!IO) :-
test(p("t1", 5), P1),

View File

@@ -2,7 +2,7 @@
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module shallow_2.
:- module shallow_helper_1.
:- interface.
:- pred p(string::in, int::in, int::out) is det.
@@ -10,7 +10,7 @@
:- pred r(string::in, int::in, int::out) is det.
:- implementation.
:- import_module shallow_3.
:- import_module shallow_helper_2.
p(S, M, N) :-
( if pp(S, 1, M) then
@@ -43,7 +43,7 @@ r(S, M, N) :-
N = 0
).
% shallow_3 defines:
% shallow_helper_2 defines:
%
% :- pred a(string::in, int::in, int::out) is multi.
%

View File

@@ -2,7 +2,7 @@
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module shallow_3.
:- module shallow_helper_2.
:- interface.
:- pred a(string::in, int::in, int::out) is multi.

View File

@@ -2,16 +2,16 @@
mdb> mdb> mdb> Contexts will not be printed.
mdb> echo on
Command echo enabled.
mdb> trust trust_1.
Trusting pred trust_1.w_cmp/3
mdb> trust trust_helper_1.
Trusting pred trust_helper_1.w_cmp/3
mdb> trusted
Trusted objects:
1: predicate trust_1.w_cmp/3
1: predicate trust_helper_1.w_cmp/3
mdb> untrust 1
mdb> trusted
There are no trusted modules, predicates or functions.
mdb> trust trust_2
Trusting module trust_2
mdb> trust trust_helper_2
Trusting module trust_helper_2
mdb> trust trust.
Ambiguous predicate or function specification. The matches are:
0: pred trust.main/2
@@ -21,21 +21,21 @@ Which predicate or function do you want to trust (0-1 or *)? 0
Trusting pred trust.main/2
mdb> trusted
Trusted objects:
2: module trust_2
2: module trust_helper_2
3: predicate trust.main/2
mdb> trust trust_2
Trusting module trust_2
mdb> trust trust_helper_2
Trusting module trust_helper_2
mdb> trusted
Trusted objects:
2: module trust_2
2: module trust_helper_2
3: predicate trust.main/2
mdb> untrust 2
mdb> trust trust_1
Trusting module trust_1
mdb> trust trust_helper_1
Trusting module trust_helper_1
mdb> trust no_such_module
mdb: there is no such module, predicate or function.
mdb> trust trust_2.
Trusting pred trust_2.concat/3
mdb> trust trust_helper_2.
Trusting pred trust_helper_2.concat/3
mdb> trust std lib
Trusting the Mercury standard library
mdb> trust standard library
@@ -43,14 +43,14 @@ Trusting the Mercury standard library
mdb> trusted
Trusted objects:
3: predicate trust.main/2
4: module trust_1
5: predicate trust_2.concat/3
4: module trust_helper_1
5: predicate trust_helper_2.concat/3
6: the Mercury standard library
mdb> untrust 3
mdb> trusted
Trusted objects:
4: module trust_1
5: predicate trust_2.concat/3
4: module trust_helper_1
5: predicate trust_helper_2.concat/3
6: the Mercury standard library
mdb> untrust 3
mdb: no such trusted object

View File

@@ -2,20 +2,20 @@ register --quiet
untrust 0
context none
echo on
trust trust_1.
trust trust_helper_1.
trusted
untrust 1
trusted
trust trust_2
trust trust_helper_2
trust trust.
0
trusted
trust trust_2
trust trust_helper_2
trusted
untrust 2
trust trust_1
trust trust_helper_1
trust no_such_module
trust trust_2.
trust trust_helper_2.
trust std lib
trust standard library
trusted

View File

@@ -12,8 +12,8 @@
:- implementation.
:- import_module trust_1.
:- import_module trust_2.
:- import_module trust_helper_1.
:- import_module trust_helper_2.
main(!IO) :-
dostuff(w(S), R),

View File

@@ -1,8 +1,8 @@
%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
%
:- module trust_1.
:- module trust_helper_1.
:- interface.

View File

@@ -2,11 +2,11 @@
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module trust_2.
:- module trust_helper_2.
:- interface.
:- import_module trust_1.
:- import_module trust_helper_1.
:- pred concat(w::in, w::in, w::out) is cc_multi.