Files
mercury/tests/debugger/field_names.exp
Zoltan Somogyi 8b0cea125e Replace bespoke make rules with existing implicit rule.
tests/debugger/Mmakefile:
    Delete the bespoke make rules for test cases that do not require
    their own special handling.

tests/debugger/all_solutions.exp:
tests/debugger/all_solutions.exp2:
tests/debugger/all_solutions.exp4:
tests/debugger/browse_packed.exp:
tests/debugger/browse_pretty.exp:
tests/debugger/class_decl.exp:
tests/debugger/cmd_quote.exp:
tests/debugger/debugger_regs.exp:
tests/debugger/field_names.exp:
tests/debugger/implied_instance.exp:
tests/debugger/label_layout.exp:
tests/debugger/list_cmd.exp:
tests/debugger/lval_desc_array.exp:
tests/debugger/multi_parameter.exp:
tests/debugger/multi_parameter.exp2:
tests/debugger/mutrec.exp:
tests/debugger/no_inline_builtins.exp:
tests/debugger/queens_rep.exp:
tests/debugger/shallow.exp:
tests/debugger/shallow.exp2:
    Expect standardized event numbers and call sequence numbers,
    since that is what the implicit rule specifies.

tests/debugger/all_solutions.m:
    Fill in missing info about which .expN file is for what situations.
2026-03-15 13:07:48 +11:00

369 lines
9.4 KiB
Plaintext

E1: C1 CALL pred field_names.main/2-0 (det) field_names.m:68
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb> context none
Contexts will not be printed.
mdb> step
E2: C2 CALL pred field_names.make_t1f1/5-0 (det)
mdb> finish
E3: C2 EXIT pred field_names.make_t1f1/5-0 (det)
mdb> p 5
HeadVar__5 t1f1(41, 42, 43, 44)
mdb> p 5^1x
mdb: bad component selector.
mdb> p 5^1^x
mdb: at 1^ the path x does not exist in variable 5.
mdb> p 5^x
mdb: the path x does not exist in variable 5.
mdb> p 5^1
HeadVar__5^1 41
mdb> p 5^2
HeadVar__5^2 42
mdb> p 5^3
HeadVar__5^3 43
mdb> p 5^4
HeadVar__5^4 44
mdb> p 5^t1a
HeadVar__5^t1a 41
mdb> p 5^t1b
HeadVar__5^t1b 42
mdb> p 5^t1c
mdb: the path t1c does not exist in variable 5.
mdb> p 5^t1d
HeadVar__5^t1d 44
mdb> p 5^t1e
mdb: the path t1e does not exist in variable 5.
mdb> browse 5
browser> ^1x
error: in subdir 1: there is no subterm x
browser> ^1
browser> p
41
browser> ^..^t1a
browser> p
41
browser> ^..^t1b
browser> p
42
browser> ^..^t1c
error: there is no subterm t1c
browser> ^..^t1d
browser> p
44
browser> ^..^t1e
error: there is no subterm t1e
browser> p
44
browser> quit
mdb> browse
browser> ^x
error: there is no subterm x
browser> ^8
error: there is no subterm 8
browser> ^5^x
error: in subdir 5: there is no subterm x
browser> quit
mdb> step
E4: C3 CALL pred field_names.make_t1f2/4-0 (det)
mdb> finish
E5: C3 EXIT pred field_names.make_t1f2/4-0 (det)
mdb> p 4
HeadVar__4 t1f2(51, 52, 53)
mdb> p 4^1
HeadVar__4^1 51
mdb> p 4^2
HeadVar__4^2 52
mdb> p 4^3
HeadVar__4^3 53
mdb> p 4^t1a
mdb: the path t1a does not exist in variable 4.
mdb> p 4^t1e
HeadVar__4^t1e 51
mdb> p 4^t1f
mdb: the path t1f does not exist in variable 4.
mdb> p 4^t1g
HeadVar__4^t1g 53
mdb> browse 4
browser> ^t1a
error: there is no subterm t1a
browser> ^t1e
browser> p
51
browser> ^..^t1f
error: there is no subterm t1f
browser> ^..^t1g
browser> p
53
browser> quit
mdb> step
E6: C4 CALL pred field_names.make_t2/5-0 (det)
mdb> finish
E7: C4 EXIT pred field_names.make_t2/5-0 (det)
mdb> p 5
HeadVar__5 t2f(0.6, 61, t1f1(41, 42, 43, 44), t1f2(51, 52, 53))
mdb> p 5^1
HeadVar__5^1 0.6
mdb> p 5^2
HeadVar__5^2 61
mdb> p 5^3
HeadVar__5^3 t1f1(41, 42, 43, 44)
mdb> p 5^3^t1a
HeadVar__5^3^t1a 41
mdb> p 5^3^t1b
HeadVar__5^3^t1b 42
mdb> p 5^3^t1c
mdb: at 3^ the path t1c does not exist in variable 5.
mdb> p 5^3^t1d
HeadVar__5^3^t1d 44
mdb> p 5^3^t1e
mdb: at 3^ the path t1e does not exist in variable 5.
mdb> p 5^4
HeadVar__5^4 t1f2(51, 52, 53)
mdb> p 5^4^t1a
mdb: at 4^ the path t1a does not exist in variable 5.
mdb> p 5^4^t1e
HeadVar__5^4^t1e 51
mdb> p 5^4^t1f
mdb: at 4^ the path t1f does not exist in variable 5.
mdb> p 5^4^t1g
HeadVar__5^4^t1g 53
mdb> p 5^t2a
HeadVar__5^t2a 0.6
mdb> p 5^t2b
HeadVar__5^t2b t1f1(41, 42, 43, 44)
mdb> p 5^t2b^t1a
HeadVar__5^t2b^t1a 41
mdb> p 5^t2b^t1b
HeadVar__5^t2b^t1b 42
mdb> p 5^t2b^t1c
mdb: at t2b^ the path t1c does not exist in variable 5.
mdb> p 5^t2b^t1d
HeadVar__5^t2b^t1d 44
mdb> p 5^t2b^t1e
mdb: at t2b^ the path t1e does not exist in variable 5.
mdb> p 5^t2c
HeadVar__5^t2c t1f2(51, 52, 53)
mdb> p 5^t2c^t1a
mdb: at t2c^ the path t1a does not exist in variable 5.
mdb> p 5^t2c^t1e
HeadVar__5^t2c^t1e 51
mdb> p 5^t2c^t1f
mdb: at t2c^ the path t1f does not exist in variable 5.
mdb> p 5^t2c^t1g
HeadVar__5^t2c^t1g 53
mdb> browse 5
browser> ^3^t1a
browser> p
41
browser> ^..^..^3^t1b
browser> p
42
browser> quit
mdb> browse 5
browser> ^t2b
browser> p
t1f1(41, 42, 43, 44)
browser> ^t1a
browser> p
41
browser> ^..^..^t2c^t1e
browser> p
51
browser> quit
mdb> step
E8: C5 CALL pred field_names.make_t3/4-0 (det)
mdb> finish
E9: C5 EXIT pred field_names.make_t3/4-0 (det)
mdb> p 4
HeadVar__4 t3f(t1f2(51, 52, 53), 72, "xyzzy", t1f1(41, 42, 43, 44))
mdb> p 4^1
HeadVar__4^1 t1f2(51, 52, 53)
mdb> p 4^1^1
HeadVar__4^1^1 51
mdb> p 4^1^t1a
mdb: at 1^ the path t1a does not exist in variable 4.
mdb> p 4^1^t1e
HeadVar__4^1^t1e 51
mdb> p 4^1^t1g
HeadVar__4^1^t1g 53
mdb> p 4^2
HeadVar__4^2 72
mdb> p 4^3
HeadVar__4^3 "xyzzy"
mdb> p 4^3^1
mdb: at 3^ the path 1 does not exist in variable 4.
mdb> p 4^3^t1a
mdb: at 3^ the path t1a does not exist in variable 4.
mdb> p 4^4
HeadVar__4^4 t1f1(41, 42, 43, 44)
mdb> p 4^4^t1a
HeadVar__4^4^t1a 41
mdb> p 4^4^t1b
HeadVar__4^4^t1b 42
mdb> p 4^4^t1c
mdb: at 4^ the path t1c does not exist in variable 4.
mdb> p 4^4^t1d
HeadVar__4^4^t1d 44
mdb> p 4^4^t1e
mdb: at 4^ the path t1e does not exist in variable 4.
mdb> p 4^t3a
HeadVar__4^t3a t1f2(51, 52, 53)
mdb> p 4^t3a^1
HeadVar__4^t3a^1 51
mdb> p 4^t3a^t1a
mdb: at t3a^ the path t1a does not exist in variable 4.
mdb> p 4^t3a^t1e
HeadVar__4^t3a^t1e 51
mdb> p 4^t3a^t1g
HeadVar__4^t3a^t1g 53
mdb> p 4^t3b
HeadVar__4^t3b 72
mdb> p 4^t3c
HeadVar__4^t3c "xyzzy"
mdb> p 4^t3d
HeadVar__4^t3d t1f1(41, 42, 43, 44)
mdb> p 4^t3d^t1a
HeadVar__4^t3d^t1a 41
mdb> p 4^t3d^t1b
HeadVar__4^t3d^t1b 42
mdb> p 4^t3d^t1c
mdb: at t3d^ the path t1c does not exist in variable 4.
mdb> p 4^t3d^t1d
HeadVar__4^t3d^t1d 44
mdb> p 4^t3d^t1e
mdb: at t3d^ the path t1e does not exist in variable 4.
mdb> p 4^t3e^t1a
mdb: the path t3e^t1a does not exist in variable 4.
mdb> step
E10: C6 CALL pred field_names.make_t4/2-0 (det)
mdb> finish
E11: C6 EXIT pred field_names.make_t4/2-0 (det)
mdb> p 2
A(1) (arg 2) t2f(0.6, 61, t1f1(41, 42, 43, 44), t1f2(51, 52, 53))
mdb> p 2^1
A(1) (arg 2)^1 0.6
mdb> p 2^2
A(1) (arg 2)^2 61
mdb> p 2^3^t1a
A(1) (arg 2)^3^t1a 41
mdb> p 2^3^t1b
A(1) (arg 2)^3^t1b 42
mdb> p 2^3^t1c
mdb: at 3^ the path t1c does not exist in variable 2.
mdb> p 2^3^t1d
A(1) (arg 2)^3^t1d 44
mdb> p 2^3^t1e
mdb: at 3^ the path t1e does not exist in variable 2.
mdb> p 2^4
A(1) (arg 2)^4 t1f2(51, 52, 53)
mdb> p 2^4^t1a
mdb: at 4^ the path t1a does not exist in variable 2.
mdb> p 2^4^t1e
A(1) (arg 2)^4^t1e 51
mdb> p 2^4^t1f
mdb: at 4^ the path t1f does not exist in variable 2.
mdb> p 2^4^t1g
A(1) (arg 2)^4^t1g 53
mdb> p 2^t2a
A(1) (arg 2)^t2a 0.6
mdb> p 2^t2b
A(1) (arg 2)^t2b t1f1(41, 42, 43, 44)
mdb> p 2^t2b^t1a
A(1) (arg 2)^t2b^t1a 41
mdb> p 2^t2b^t1b
A(1) (arg 2)^t2b^t1b 42
mdb> p 2^t2b^t1c
mdb: at t2b^ the path t1c does not exist in variable 2.
mdb> p 2^t2b^t1d
A(1) (arg 2)^t2b^t1d 44
mdb> p 2^t2b^t1e
mdb: at t2b^ the path t1e does not exist in variable 2.
mdb> p 2^t2c
A(1) (arg 2)^t2c t1f2(51, 52, 53)
mdb> p 2^t2c^t1a
mdb: at t2c^ the path t1a does not exist in variable 2.
mdb> p 2^t2c^t1e
A(1) (arg 2)^t2c^t1e 51
mdb> p 2^t2c^t1f
mdb: at t2c^ the path t1f does not exist in variable 2.
mdb> p 2^t2c^t1g
A(1) (arg 2)^t2c^t1g 53
mdb> step
E12: C7 CALL pred field_names.make_t5/2-0 (det)
mdb> finish
E13: C7 EXIT pred field_names.make_t5/2-0 (det)
mdb> p 2
HeadVar__2 t5f(t1f1(41, 42, 43, 44))
mdb> p 2/1
HeadVar__2^1 t1f1(41, 42, 43, 44)
mdb> p 2/1/1
HeadVar__2/1/1 41
mdb> p 2/1/t1a
HeadVar__2/1/t1a 41
mdb> p 2/t5a
HeadVar__2^t5a t1f1(41, 42, 43, 44)
mdb> p 2/t5a/1
HeadVar__2/t5a/1 41
mdb> p 2/t5a/t1a
HeadVar__2/t5a/t1a 41
mdb> p 2/t6a
mdb: the path t6a does not exist in variable 2.
mdb> step
E14: C8 CALL pred field_names.make_t6/2-0 (det)
mdb> finish
E15: C8 EXIT pred field_names.make_t6/2-0 (det)
mdb> p 2
HeadVar__2 t6f(0.9)
mdb> p 2/1
HeadVar__2^1 0.9
mdb> p 2/t5a
mdb: the path t5a does not exist in variable 2.
mdb> p 2/t6a
mdb: the path t6a does not exist in variable 2.
mdb> browse 2
browser> p
t6f(0.9)
browser> ^badname
error: there is no subterm badname
browser> quit
mdb> step
E16: C9 CALL pred field_names.make_t7/3-0 (det)
mdb> finish
E17: C9 EXIT pred field_names.make_t7/3-0 (det)
mdb> browse 3
browser> p
t7f(0.9, 77)
browser> ^badname
error: there is no subterm badname
browser> quit
mdb> step
E18: C10 CALL pred field_names.make_t8/1-0 (det)
mdb> finish
E19: C10 EXIT pred field_names.make_t8/1-0 (det)
mdb> browse 1
browser> p
t8a
browser> ^badname
error: there is no subterm badname
browser> quit
mdb> b make_dummy
0: + stop interface pred field_names.make_dummy/1-0 (det)
mdb> c
E20: C11 CALL pred field_names.make_dummy/1-0 (det)
mdb> finish
E21: C11 EXIT pred field_names.make_dummy/1-0 (det)
mdb> p *
mdb: there are no live variables.
mdb> continue -S
t1f1(41, 42, 43, 44)
t1f2(51, 52, 53)
t2f(0.6, 61, t1f1(41, 42, 43, 44), t1f2(51, 52, 53))
t3f(t1f2(51, 52, 53), 72, "xyzzy", t1f1(41, 42, 43, 44))
t2f(0.6, 61, t1f1(41, 42, 43, 44), t1f2(51, 52, 53))
t5f(t1f1(41, 42, 43, 44))
t6f(0.9)
t7f(0.9, 77)
t8a
dummy