Menu

#1050 tree-tcl test 4.4.17 in test suite - error msg difference

open
treeql (5)
1
2008-06-25
2008-06-25
No

I'm using the latest activestate cvs head snapshots of tcl 8.6 and tcllib on Solaris 2.8 SPARC. The test suite message is:
---- tree-tcl-4.4.17 start

==== tree-tcl-4.4.17 error in walk FAILED
==== Contents of test case:

set t [list ]
proc foo {} {
global t
tree mytree
mytree insert root end 0 1 2 3
mytree insert 0 end a b c
lappend t ==
mytree walk root {a n} {
if {[string equal $n "b"]} {
lappend t .
error fubar
}
lappend t $a $n
}
lappend t ==
return bad-return
}
catch {lappend t [foo]} result
mytree destroy
list $t $result $::errorInfo

---- Result was:
{== enter root enter 0 enter a .} fubar {fubar
while executing
"error fubar"
("WalkCall" body line 4)
invoked from within
"WalkCall $avar $nvar $name $node "enter" $script"
(procedure "::struct::tree::_walk" line 88)
invoked from within
"::struct::tree::_walk ::mytree root {a n} {
if {[string equal $n "b"]} {
lappend t .
error fubar
}
lappend t $a $n
}"
("_walk" body line 1)
invoked from within
"mytree walk root {a n} {
if {[string equal $n "b"]} {
lappend t .
error fubar
}
lappend t $a $n
}"
(procedure "foo" line 7)
invoked from within
"foo"}
---- Result should have been (exact matching):
{== enter root enter 0 enter a .} fubar {fubar
while executing
"error fubar"
invoked from within
"if {[string equal $n "b"]} {
lappend t .
error fubar
}"
("WalkCall" body line 2)
invoked from within
"WalkCall $avar $nvar $name $node "enter" $script"
(procedure "::struct::tree::_walk" line 88)
invoked from within
"::struct::tree::_walk ::mytree root {a n} {
if {[string equal $n "b"]} {
lappend t .
error fubar
}
lappend t $a $n
}"
("_walk" body line 1)
invoked from within
"mytree walk root {a n} {
if {[string equal $n "b"]} {
lappend t .
error fubar
}
lappend t $a $n
}"
(procedure "foo" line 7)
invoked from within
"foo"}
==== tree-tcl-4.4.17 FAILED

Discussion

  • Andreas Kupries

    Andreas Kupries - 2008-06-25
    • priority: 5 --> 1
    • assigned_to: coldstore --> andreas_kupries
     
  • Andreas Kupries

    Andreas Kupries - 2008-06-25

    Logged In: YES
    user_id=75003
    Originator: NO

    Well, it seems as if the exact fomrat of the stack trace changed in 8.6.
    The 'if ...' command seems to have been removed from it.
    This should require only updating of the testsuite.
    Very low priority.
    May be defered until at least 8.6b1 is out, i.e. when things are less in flux.

     
  • Andreas Kupries

    Andreas Kupries - 2008-10-10

    Recent work on struct::tree and its testsuite may have fixed this.

    See ChangeLog entry:

    2008-09-02 Andreas Kupries <andreas_kupries@users.sourceforge.net>

    * tree.testsuite: Updated tests based on walk error stack traces
    to handle new differences between 8.4 and 8.5.

    * tree.testsuite.4417b84.txt: Moved the stacktraces to separate files
    * tree.testsuite.4417=84tcl.txt: for better readability of both the
    * tree.testsuite.4417a84tcl.txt: traces and the test using it.
    * tree.testsuite.4417a83critcl.txt:

    Please recheck. If it is not fixed it should however now be easy to add the proper stacktrace, now that the various forms are stored in their own files.