Ticket UUID: | 554062 | |||
Title: | tcllib test suite failures for stoop | |||
Type: | Bug | Version: | None | |
Submitter: | lvirden | Created on: | 2002-05-09 11:02:40 | |
Subsystem: | stooop | Assigned To: | jfontain | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2003-02-17 18:36:03 | |
Resolution: | None | Closed By: | jfontain | |
Closed on: | 2003-02-17 11:36:03 | |||
Description: |
With the latest Tcl cvs head (well, as of at least the past day or two), the tcllib test suite has begun showing 8 failures. I don't know whether this is a fundamental change in tcltest, tcl, or tcllib, or the tcllib test suite. Platform SPARC Solaris 2.6, Sun C compiler, Tcl 8.4a5 from May 8: $ make test /usr/tcl84/bin/tclsh8.4 `echo /vol/tclsrcsol/tcl84/tcllib/all.tcl` -modules "base64 calendar cmdline comm control crc csv counter doctools dns exif struct fileutil ftp ftpd javascript html irc math md5 mime ncgi nntp pop3 pop3d profiler smtpd textutil uri log htmlparse report sha1 stooop" tcllib tests Tests running in working dir: /vol/tclsrcsol/tcl84/tcllib Only sourcing test files that match: *.test Tests began at Thu May 09 06:56:21 EDT 2002 Module: base64 modules/base64/base64.test base64 2.2 (pure Tcl) modules/base64/uuencode.test notice invalid uuencoded string: padding string to a multiple of 4. notice invalid uuencoded string: padding string to a multiple of 4. modules/base64/yencode.test ==== yencode-1.0 yencode yEnc test file FAILED ==== Contents of test case: set enc [yencode::yencode -file $datafile] set dec [yencode::ydecode $d] set chk [yencode::loaddata $datafile] string match $dec $chk ---- Result was: couldn't open "yencode.test.data": no such file or directory ---- Result should have been (exact matching): 0 ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ==== yencode-1.0 FAILED Module: calendar modules/calendar/gregorian.test Module: cmdline modules/cmdline/cmdline.test modules/cmdline/typedCmdline.test Module: comm modules/comm/comm.test comm 4.0 self @ 55116 Waiting for spawned comm system to boot Slave @ 55117 Running tests Module: control modules/control/do.test modules/control/no-op.test Module: crc modules/crc/cksum.test modules/crc/crc32.test modules/crc/sum.test Module: csv modules/csv/csv.test csv 0.3 - struct 1.2.1 Module: counter modules/counter/counter.test incr scaler 12 microseconds per iteration incr array 16 microseconds per iteration rawcount 32 microseconds per iteration simple 72 microseconds per iteration lastn 153 microseconds per iteration lastn 154 microseconds per iteration hist 186 microseconds per iteration hist2x 282 microseconds per iteration Pausing during timehist tests timehist 259 microseconds per iteration Module: doctools Error: No test files remain after applying your match and skip patterns! Module: dns Error: No test files remain after applying your match and skip patterns! Module: exif Error: No test files remain after applying your match and skip patterns! Module: struct modules/struct/graph.test modules/struct/matrix.test modules/struct/queue.test modules/struct/stack.test modules/struct/tree.test Module: fileutil modules/fileutil/fileutil.test fileutil 1.4 Module: ftp Error: No test files remain after applying your match and skip patterns! Module: ftpd Error: No test files remain after applying your match and skip patterns! Module: javascript Error: No test files remain after applying your match and skip patterns! Module: html modules/html/html.test Module: irc Error: No test files remain after applying your match and skip patterns! Module: math modules/math/calculus.test Method: eulerStep Result (0.0): 1.0 Result (1.0): 2.0 Result (2.0): 3.0 Result (3.0): 4.0 Result (4.0): 5.0 Result (5.0): 6.0 Result (6.0): 7.0 Result (7.0): 8.0 Result (8.0): 9.0 Result (9.0): 10.0 Result (0.0): 1.0 -0.1 Result (0.1): 0.99 -0.19 Result (0.2): 0.971 -0.27 Result (0.3): 0.944 -0.3401 Result (0.4): 0.90999 -0.40049 Result (0.5): 0.869941 -0.45144 Result (0.6): 0.824797 -0.4932901 Result (0.7): 0.77546799 -0.52644079 Result (0.8): 0.722823911 -0.55134351 Result (0.9): 0.66768956 -0.5684915501 Result (1.0): 0.61084040499 -0.57841135109 Result (1.1): 0.552999269881 -0.58165425648 Result (1.2): 0.494833844233 -0.57878875782 Result (1.3): 0.436954968451 -0.570393266461 Result (1.4): 0.379915641805 -0.55704943666 Result (1.5): 0.324210698139 -0.539336057175 Result (1.6): 0.270277092421 -0.517823521271 Result (1.7): 0.218494740294 -0.493068878386 Result (1.8): 0.169187852456 -0.465611464577 Result (1.9): 0.122626705998 -0.435969103365 Method: heunStep Result (0.0): 1.0 Result (1.0): 2.0 Result (2.0): 3.0 Result (3.0): 4.0 Result (4.0): 5.0 Result (5.0): 6.0 Result (6.0): 7.0 Result (7.0): 8.0 Result (8.0): 9.0 Result (9.0): 10.0 Result (0.0): 0.995 -0.095 Result (0.1): 0.981 -0.180025 Result (0.2): 0.958992625 -0.2552175 Result (0.3): 0.929951999375 -0.320800049375 Result (0.4): 0.894826234687 -0.377065484378 Result (0.5): 0.854530882498 -0.424367428236 Result (0.6): 0.809943322403 -0.463111119249 Result (0.7): 0.761898049463 -0.493744622953 Result (0.8): 0.711182820035 -0.516750475356 Result (0.9): 0.658535610776 -0.532637795724 Result (1.0): 0.604642342128 -0.541934899175 Result (1.1): 0.550135314996 -0.54518243176 Result (1.2): 0.495592307404 -0.542927043509 Result (1.3): 0.441536276733 -0.535715608361 Result (1.4): 0.388435612555 -0.524089993815 Result (1.5): 0.33670488508 -0.508582377626 Result (1.6): 0.28670603478 -0.489711103946 Result (1.7): 0.238749949731 -0.467977066855 Result (1.8): 0.193098378632 -0.443860605394 Result (1.9): 0.149966129226 -0.417818890825 Method: rungeKuttaStep Result (0.0): 1.0 Result (1.0): 2.0 Result (2.0): 3.0 Result (3.0): 4.0 Result (4.0): 5.0 Result (5.0): 6.0 Result (6.0): 7.0 Result (7.0): 8.0 Result (8.0): 9.0 Result (9.0): 10.0 Result (0.0): 0.995958333333 -0.0958354166667 Result (0.1): 0.982748574648 -0.181711736628 Result (0.2): 0.9613622125 -0.257745017496 Result (0.3): 0.932775605745 -0.324134745107 Result (0.4): 0.897942049319 -0.381154050992 Result (0.5): 0.857784809578 -0.429140146517 Result (0.6): 0.813191104556 -0.468485044978 Result (0.7): 0.765006997688 -0.499626633435 Result (0.8): 0.714033167813 -0.523040146908 Result (0.9): 0.661021513347 -0.53923008872 Result (1.0): 0.606672544499 -0.54872263237 Result (1.1): 0.55163351419 -0.552058532372 Result (1.2): 0.49649723593 -0.54978656401 Result (1.3): 0.441801535162 -0.54245750502 Result (1.4): 0.388029279606 -0.530618665792 Result (1.5): 0.335608933674 -0.514808968781 Result (1.6): 0.284915582207 -0.495554572501 Result (1.7): 0.236272369459 -0.473365030702 Result (1.8): 0.189952300346 -0.448729973058 Result (1.9): 0.146180352526 -0.422116289995 5.0 0.909090909091 15.0 0.818181818182 25.0 0.727272727273 35.0 0.636363636364 45.0 0.545454545455 55.0 0.454545454545 65.0 0.363636363636 75.0 0.272727272727 85.0 0.181818181818 95.0 0.0909090909091 5.0 0.0909090909091 15.0 0.181818181818 25.0 0.272727272727 35.0 0.363636363636 45.0 0.454545454545 55.0 0.545454545455 65.0 0.636363636364 75.0 0.727272727273 85.0 0.818181818182 95.0 0.909090909091 modules/math/combinatorics.test modules/math/geometry.test modules/math/math.test Module: md5 modules/md5/md5.test md5 1.4.2 (pure Tcl) Module: mime modules/mime/mime.test Module: ncgi modules/ncgi/ncgi.test NO NO DELIM env array elements created: SERVER_PORT REQUEST_URI QUERY_STRING CONTENT_TYPE CONTENT_LENGTH SERVER_NAME HTTPS REQUEST_METHOD Module: nntp Error: No test files remain after applying your match and skip patterns! Module: pop3 Error: No test files remain after applying your match and skip patterns! Module: pop3d Error: No test files remain after applying your match and skip patterns! Module: profiler modules/profiler/profiler.test Module: smtpd Error: No test files remain after applying your match and skip patterns! Module: textutil modules/textutil/adjust.test modules/textutil/expander.test modules/textutil/repeat.test modules/textutil/split.test modules/textutil/tabify.test modules/textutil/textutil.test modules/textutil/trim.test Module: uri modules/uri/uri.test modules/uri/urn.test Module: log modules/log/log.test log 1.0.1 Module: htmlparse modules/htmlparse/htmlparse.test htmlparse 0.2 Module: report modules/report/report.test report 0.3 - struct 1.2.1 Module: sha1 modules/sha1/sha1.test sha1 1.0.2 (pure Tcl) Module: stooop modules/stooop/stooop.test ==== stooop-86 verify member writing and unsetting within class procedures in member data checking mode (it seems that unset tracing prevents error reporting at this time (bug?)) FAILED ==== Contents of test case: set interpreter [interp create] $interpreter eval { # reset any existing environment variables: foreach name [array names env STOOOP*] {unset env($name)} set env(STOOOPCHECKDATA) 1 } $interpreter eval "source $source; namespace import stooop::*" set result [$interpreter eval { class a {} proc a::a {this} {} proc a::~a {this} {} proc a::p {this} { set b::($this,m) 0 } proc a::q {this} { set b::(n) 0 } proc a::r {this} { unset b::($this,m) } proc a::s {this} { unset b::(n) } set o [new a] class b {} set b::($o,m) 0 set b::(n) 0 catch {a::p $o} message; lappend ::result $message catch {a::q $o} message; lappend ::result $message catch {a::r $o} message; lappend ::result bug catch {a::s $o} message; lappend ::result bug delete $o class A { proc A {this} {} proc ~A {this} {} proc p {this} { set B::($this,m) 0 } proc q {this} { set B::(n) 0 } proc r {this} { unset B::($this,m) } proc s {this} { unset B::(n) } } set o [new A] class B { set ($o,m) 0 set (n) 0 } class A { catch {p $o} message; lappend ::result $message catch {q $o} message; lappend ::result $message catch {r $o} message; lappend ::result bug catch {s $o} message; lappend ::result bug } delete $o class c {} class c::d {} proc c::d::d {this} {} proc c::d::~d {this} {} proc c::d::p {this} { set c::e::($this,m) 0 } proc c::d::q {this} { set c::e::(n) 0 } proc c::d::r {this} { unset c::e::($this,m) } proc c::d::s {this} { unset c::e::(n) } class c::e {} set o [new c::d] set c::e::($o,m) 0 set c::e::(n) 0 catch {c::d::p $o} message; lappend ::result $message catch {c::d::q $o} message; lappend ::result $message catch {c::d::r $o} message; lappend ::result bug catch {c::d::s $o} message; lappend ::result bug delete $o class C { class D { proc D {this} {} proc ~D {this} {} proc p {this} { set C::E::($this,m) 0 } proc q {this} { set C::E::(n) 0 } proc r {this} { unset C::E::($this,m) } proc s {this} { unset C::E::(n) } } set ::o [new D] class E { set ($o,m) 0 set (n) 0 } class D { catch {p $o} message; lappend ::result $message catch {q $o} message; lappend ::result $message catch {r $o} message; lappend ::result bug catch {s $o} message; lappend ::result bug } } catch {C::D::p $o} message; lappend ::result $message catch {C::D::q $o} message; lappend ::result $message catch {C::D::r $o} message; lappend ::result bug catch {C::D::s $o} message; lappend ::result bug delete $o set ::result }] interp delete $interpreter set result ---- Result was: can't set "(2,m)": "::namespace" isn't a procedure ---- Result should have been (exact matching): {can't set "b::(1,m)": class access violation in procedure ::a::p} {can't set "b::(n)": class access violation in procedure ::a::q} bug bug {can't set "B::(2,m)": class access violation in procedure ::A::p} {can't set "B::(n)": class access violation in procedure ::A::q} bug bug {can't set "c::e::(3,m)": class access violation in procedure ::c::d::p} {can't set "c::e::(n)": class access violation in procedure ::c::d::q} bug bug {can't set "C::E::(4,m)": class access violation in procedure ::C::D::p} {can't set "C::E::(n)": class access violation in procedure ::C::D::q} bug bug {can't set "C::E::(4,m)": class access violation in procedure ::C::D::p} {can't set "C::E::(n)": class access violation in procedure ::C::D::q} bug bug ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ==== stooop-86 FAILED ==== stooop-87 verify member writing and unsetting within class namespaces in member data checking mode (it seems that unset tracing prevents error reporting at this time (bug?)) FAILED ==== Contents of test case: set interpreter [interp create] $interpreter eval { # reset any existing environment variables: foreach name [array names env STOOOP*] {unset env($name)} set env(STOOOPCHECKDATA) 1 } $interpreter eval "source $source; namespace import stooop::*" set result [$interpreter eval { class a { set (m) 0 } proc a::a {this} { set ($this,n) 0 } proc a::~a {this} {} set o [new a] catch {class b {incr a::(m)}} message; lappend ::result $message catch {class b {incr a::($o,n)}} message; lappend ::result $message catch {class b {unset a::(m)}} message; lappend ::result bug catch {class b {unset a::($o,n)}} message; lappend ::result bug delete $o class A { set (m) 0 proc A {this} { set ($this,n) 0 } proc ~A {this} {} } set o [new A] class B { catch {incr A::(m)} message; lappend ::result $message catch {incr A::($o,n)} message; lappend ::result $message catch {unset A::(m)} message; lappend ::result bug catch {unset A::($o,n)} message; lappend ::result bug } delete $o class c {} class c::d { set (m) 0 } proc c::d::d {this} { set ($this,n) 0 } proc c::d::~d {this} {} set o [new c::d] catch {class c::e {incr c::d::(m)}} message; lappend ::result $message catch {class c::e {incr c::d::($o,n)}} message; lappend ::result $message catch {class c::e {unset c::d::(m)}} message; lappend ::result bug catch {class c::e {unset c::d::($o,n)}} message; lappend ::result bug delete $o class C { class D { set (m) 0 proc D {this} { set ($this,n) 0 } proc ~D {this} {} } set ::o [new D] class B { catch {incr C::D::(m)} message; lappend ::result $message catch {incr C::D::($o,n)} message; lappend ::result $message catch {unset C::D::(m)} message; lappend ::result bug catch {unset C::D::($o,n)} message; lappend ::result bug } } catch {incr C::D::(m)} message; lappend ::result $message catch {incr C::D::($o,n)} message; lappend ::result $message catch {unset C::D::(m)} message; lappend ::result bug catch {unset C::D::($o,n)} message; lappend ::result bug delete $o set ::result }] interp delete $interpreter set result ---- Result was: can't set "(m)": "::namespace" isn't a procedure ---- Result should have been (exact matching): {can't set "a::(m)": class access violation in class b namespace} {can't set "a::(1,n)": class access violation in class b namespace} bug bug {can't set "A::(m)": class access violation in class B namespace} {can't set "A::(2,n)": class access violation in class B namespace} bug bug {can't set "c::d::(m)": class access violation in class c::e namespace} {can't set "c::d::(3,n)": class access violation in class c::e namespace} bug bug {can't set "C::D::(m)": class access violation in class C::B namespace} {can't set "C::D::(4,n)": class access violation in class C::B namespace} bug bug {can't read "C::D::(m)": no such element in array} {can't read "C::D::(4,n)": no such element in array} bug bug ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ==== stooop-87 FAILED ==== stooop-89 verify both data and procedure static access in member data checking mode FAILED ==== Contents of test case: set interpreter [interp create] $interpreter eval { # reset any existing environment variables: foreach name [array names env STOOOP*] {unset env($name)} set env(STOOOPCHECKDATA) 1 } $interpreter eval "source $source; namespace import stooop::*" set result [$interpreter eval { class a { set (m) 0 } proc a::a {this} { set ($this,n) 0 } proc a::~a {this} {} proc a::p {this} { incr (m) incr b::(o) } proc a::q {object} { incr ($object,n) incr b::($object,p) } class b { set (o) 0 } proc b::b {this} a {} { set ($this,p) 0 } proc b::~b {this} {} proc b::r {this} { incr (o) incr a::(m) } proc b::s {object} { incr ($object,p) incr a::($object,n) } set o [new b] catch {a::p $o} message; lappend ::result $message catch {a::q $o} message; lappend ::result $message catch {b::r $o} message; lappend ::result $message catch {b::s $o} message; lappend ::result $message delete $o class A { set (m) 0 proc A {this} { set ($this,n) 0 } proc ~A {this} {} proc p {this} { incr (m) incr B::(o) } proc q {object} { incr ($object,n) incr B::($object,p) } } class B { set (o) 0 proc B {this} A {} { set ($this,p) 0 } proc ~B {this} {} proc r {this} { incr (o) incr A::(m) } proc s {object} { incr ($object,p) incr A::($object,n) } } set o [new B] catch {A::p $o} message; lappend ::result $message catch {A::q $o} message; lappend ::result $message catch {B::r $o} message; lappend ::result $message catch {B::s $o} message; lappend ::result $message delete $o class c {} class c::d { set (m) 0 } proc c::d::d {this} { set ($this,n) 0 } proc c::d::~d {this} {} proc c::d::p {this} { incr (m) incr c::e::(o) } proc c::d::q {object} { incr ($object,n) incr c::e::($object,p) } class c::e { set (o) 0 } proc c::e::e {this} c::d {} { set ($this,p) 0 } proc c::e::~e {this} {} proc c::e::r {this} { incr (o) incr c::d::(m) } proc c::e::s {object} { incr ($object,p) incr c::d::($object,n) } set o [new c::e] catch {c::d::p $o} message; lappend ::result $message catch {c::d::q $o} message; lappend ::result $message catch {c::e::r $o} message; lappend ::result $message catch {c::e::s $o} message; lappend ::result $message delete $o class C { class D { set (m) 0 proc D {this} { set ($this,n) 0 } proc ~D {this} {} proc p {this} { incr (m) incr C::E::(o) } proc q {object} { incr ($object,n) incr C::E::($object,p) } } class E { set (o) 0 proc E {this} C::D {} { set ($this,p) 0 } proc ~E {this} {} proc r {this} { incr (o) incr C::D::(m) } proc s {object} { incr ($object,p) incr C::D::($object,n) } } set ::o [new E] catch {D::p $o} message; lappend ::result $message catch {D::q $o} message; lappend ::result $message catch {E::r $o} message; lappend ::result $message catch {E::s $o} message; lappend ::result $message } catch {C::D::p $o} message; lappend ::result $message catch {C::D::q $o} message; lappend ::result $message catch {C::E::r $o} message; lappend ::result $message catch {C::E::s $o} message; lappend ::result $message delete $o set ::result }] interp delete $interpreter set result ---- Result was: can't set "(m)": "::namespace" isn't a procedure ---- Result should have been (exact matching): {can't set "b::(o)": class access violation in procedure ::a::p} {can't set "b::(1,p)": class access violation in procedure ::a::q} {can't set "a::(m)": class access violation in procedure ::b::r} {can't set "a::(1,n)": class access violation in procedure ::b::s} {can't set "B::(o)": class access violation in procedure ::A::p} {can't set "B::(2,p)": class access violation in procedure ::A::q} {can't set "A::(m)": class access violation in procedure ::B::r} {can't set "A::(2,n)": class access violation in procedure ::B::s} {can't set "c::e::(o)": class access violation in procedure ::c::d::p} {can't set "c::e::(3,p)": class access violation in procedure ::c::d::q} {can't set "c::d::(m)": class access violation in procedure ::c::e::r} {can't set "c::d::(3,n)": class access violation in procedure ::c::e::s} {can't set "C::E::(o)": class access violation in procedure ::C::D::p} {can't set "C::E::(4,p)": class access violation in procedure ::C::D::q} {can't set "C::D::(m)": class access violation in procedure ::C::E::r} {can't set "C::D::(4,n)": class access violation in procedure ::C::E::s} {can't set "C::E::(o)": class access violation in procedure ::C::D::p} {can't set "C::E::(4,p)": class access violation in procedure ::C::D::q} {can't set "C::D::(m)": class access violation in procedure ::C::E::r} {can't set "C::D::(4,n)": class access violation in procedure ::C::E::s} ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ==== stooop-89 FAILED ==== stooop-90 verify member data checking when "array set" is used FAILED ==== Contents of test case: set interpreter [interp create] $interpreter eval { # reset any existing environment variables: foreach name [array names env STOOOP*] {unset env($name)} set env(STOOOPCHECKDATA) 1 } $interpreter eval "source $source; namespace import stooop::*" set result [$interpreter eval { class a {} proc a::a {this} {} proc a::~a {this} {} proc a::p {this} { array set b:: "$this,m 0" } proc a::q {this} { array set b:: {n 0} } set o [new a] class b {} array set b:: "$o,m 0 n 0" catch {a::p $o} message; lappend ::result $message catch {a::q $o} message; lappend ::result $message delete $o class A { proc A {this} {} proc ~A {this} {} proc p {this} { array set B:: "$this,m 0" } proc q {this} { array set B:: {n 0} } } set o [new A] class B { array set B:: "$o,m 0 n 0" } class A { catch {p $o} message; lappend ::result $message catch {q $o} message; lappend ::result $message } delete $o class c {} class c::d {} proc c::d::d {this} {} proc c::d::~d {this} {} proc c::d::p {this} { array set c::e:: "$this,m 0" } proc c::d::q {this} { array set c::e:: {n 0} } class c::e {} set o [new c::d] array set c::e:: "$o,m 0 n 0" catch {c::d::p $o} message; lappend ::result $message catch {c::d::q $o} message; lappend ::result $message delete $o class C { class D { proc D {this} {} proc ~D {this} {} proc p {this} { array set C::E:: "$this,m 0" } proc q {this} { array set C::E:: {n 0} } } set ::o [new D] class E { array set C::E:: "$o,m 0 n 0" } class D { catch {p $o} message; lappend ::result $message catch {q $o} message; lappend ::result $message } } catch {C::D::p $o} message; lappend ::result $message catch {C::D::q $o} message; lappend ::result $message delete $o set ::result }] interp delete $interpreter set result ---- Result was: can't set "B::(2,m)": "::namespace" isn't a procedure ---- Result should have been (exact matching): {can't set "b::(1,m)": class access violation in procedure ::a::p} {can't set "b::(n)": class access violation in procedure ::a::q} {can't set "B::(2,m)": class access violation in procedure ::A::p} {can't set "B::(n)": class access violation in procedure ::A::q} {can't set "c::e::(3,m)": class access violation in procedure ::c::d::p} {can't set "c::e::(n)": class access violation in procedure ::c::d::q} {can't set "C::E::(4,m)": class access violation in procedure ::C::D::p} {can't set "C::E::(n)": class access violation in procedure ::C::D::q} {can't set "C::E::(4,m)": class access violation in procedure ::C::D::p} {can't set "C::E::(n)": class access violation in procedure ::C::D::q} ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ==== stooop-90 FAILED ==== stooop-95 objects checking from namespace body and namespace procedure FAILED ==== Contents of test case: set interpreter [interp create] $interpreter eval { # reset any existing environment variables: foreach name [array names env STOOOP*] {unset env($name)} set env(STOOOPCHECKOBJECTS) 1 } $interpreter eval "source $source; namespace import stooop::*" # alias puts to be able to collect standard output data: proc appendResult {string} {lappend ::result $string} $interpreter alias puts appendResult set result {} $interpreter eval { class a { proc a {this} {} proc ~a {this} {} } namespace eval n { proc p {} { new a } namespace eval m { proc q {} { new a } } } stooop::record namespace eval n { new a } stooop::report n::p stooop::report namespace eval n::m { new a } stooop::report n::m::q stooop::report delete 1 2 3 4 } interp delete $interpreter set result ---- Result was: {stooop::record invoked from top level} {stooop::report invoked from top level:} {+ ::a(1) + ::namespace} {stooop::report invoked from top level:} {+ ::a(1) + ::namespace} {+ ::a(2) + ::n::p} {stooop::report invoked from top level:} {+ ::a(1) + ::namespace} {+ ::a(2) + ::n::p} {+ ::a(3) + ::namespace} {stooop::report invoked from top level:} {+ ::a(1) + ::namespace} {+ ::a(2) + ::n::p} {+ ::a(3) + ::namespace} {+ ::a(4) + ::n::m::q} ---- Result should have been (exact matching): {stooop::record invoked from top level} {stooop::report invoked from top level:} {+ ::a(1) + namespace ::n} {stooop::report invoked from top level:} {+ ::a(1) + namespace ::n} {+ ::a(2) + ::n::p} {stooop::report invoked from top level:} {+ ::a(1) + namespace ::n} {+ ::a(2) + ::n::p} {+ ::a(3) + namespace ::n::m} {stooop::report invoked from top level:} {+ ::a(1) + namespace ::n} {+ ::a(2) + ::n::p} {+ ::a(3) + namespace ::n::m} {+ ::a(4) + ::n::m::q} ==== stooop-95 FAILED ==== stooop-96 objects checking from within derived class constructor FAILED ==== Contents of test case: set interpreter [interp create] $interpreter eval { # reset any existing environment variables: foreach name [array names env STOOOP*] {unset env($name)} set env(STOOOPCHECKOBJECTS) 1 } $interpreter eval "source $source; namespace import stooop::*" # alias puts to be able to collect standard output data: proc appendResult {string} {lappend ::result $string} $interpreter alias puts appendResult set result {} $interpreter eval { class a { proc a {this i} {} proc ~a {this} {} } class b { proc b {this} a {[new c]} {} proc ~b {this} {} } class c { proc c {this} {} proc ~c {this} {} } stooop::record new b stooop::report class A { class a { proc a {this i} {} proc ~a {this} {} } class b { proc b {this} a {[new c]} {} proc ~b {this} {} } class c { proc c {this} {} proc ~c {this} {} } stooop::record new b stooop::report } } interp delete $interpreter set result ---- Result was: {stooop::record invoked from top level} {stooop::report invoked from top level:} {+ ::b(1) + top level} {+ ::c(2) + ::b::b} {stooop::record invoked from ::namespace} {stooop::report invoked from ::namespace:} {+ ::A::b(3) + ::namespace} {+ ::c(4) + ::A::b::b} ---- Result should have been (exact matching): {stooop::record invoked from top level} {stooop::report invoked from top level:} {+ ::b(1) + top level} {+ ::c(2) + ::b::b} {stooop::record invoked from namespace ::A} {stooop::report invoked from namespace ::A:} {+ ::A::b(3) + namespace ::A} {+ ::c(4) + ::A::b::b} ==== stooop-96 FAILED ==== stooop-97 objects checking with debugging procedures invocation from namespace body and namespace procedure FAILED ==== Contents of test case: set interpreter [interp create] $interpreter eval { # reset any existing environment variables: foreach name [array names env STOOOP*] {unset env($name)} set env(STOOOPCHECKOBJECTS) 1 } $interpreter eval "source $source; namespace import stooop::*" # alias puts to be able to collect standard output data: proc appendResult {string} {lappend ::result $string} $interpreter alias puts appendResult set result {} $interpreter eval { class a { proc a {this} {} proc ~a {this} {} } namespace eval n { proc p {} { stooop::record new a stooop::report } namespace eval m { proc q {} { stooop::record new a stooop::report } } } n::p n::m::q namespace eval n { stooop::record new a stooop::report } } interp delete $interpreter set result ---- Result was: {stooop::record invoked from ::n::p} {stooop::report invoked from ::n::p:} {+ ::a(1) + ::n::p} {stooop::record invoked from ::n::m::q} {stooop::report invoked from ::n::m::q:} {+ ::a(2) + ::n::m::q} {stooop::record invoked from ::namespace} {stooop::report invoked from ::namespace:} {+ ::a(3) + ::namespace} ---- Result should have been (exact matching): {stooop::record invoked from ::n::p} {stooop::report invoked from ::n::p:} {+ ::a(1) + ::n::p} {stooop::record invoked from ::n::m::q} {stooop::report invoked from ::n::m::q:} {+ ::a(2) + ::n::m::q} {stooop::record invoked from namespace ::n} {stooop::report invoked from namespace ::n:} {+ ::a(3) + namespace ::n} ==== stooop-97 FAILED env array elements created: STOOOPCHECKOBJECTS Tests ended at Thu May 09 07:00:07 EDT 2002 all.tcl: Total 2012 Passed 1996 Skipped 8 Failed 8 Sourced 36 Test Files. Files with failing tests: base64/yencode.test stooop/stooop.test Number of tests skipped for each constraint: 3 badTest 5 pcOnly | |||
User Comments: |
nobody added on 2002-05-21 14:10:42:
Logged In: NO stooop fixed in CVS. Jean-Luc lvirden added on 2002-05-16 17:38:06: File Added - 23186: pat.yencode.test Logged In: YES user_id=15949 I am attaching a patch to yencode.test that fixes its test suite error. There were two problems. First was that tcllib test runs from the top level directory, but yencode.test expects it is being run from the modules/base64 directory where its datafile is located. The second problem was a wrong variable, which I have fixed as well. Can someone fix this in the cvs? dgp added on 2002-05-15 22:32:56: Logged In: YES user_id=80530 The stooop failures are a duplicate of Bug 553848. nobody added on 2002-05-15 22:01:37: Logged In: NO I would very much like to fix that. Unfortunately, I do not have a fast enough cvs access from home, and from work the firewall prevents cvs. Is there somewhere a 8.4a5 snapshot tarball that I could download via http or ftp? Thanks. Jean-Luc andreas_kupries added on 2002-05-15 03:41:02: Logged In: YES user_id=75003 Please do not inline such large files in the comment section. Attaching them as files is much better. Anyway The uuencode errors seem to be a duplicate of #553732 "uuencode.test warnings: 64 bit" The yenc warnings seem to be a duplicate of #548354 "yenc testsuite trouble". For the stooop messages I have no duplicate report. I am passing this to jfountain as author of stooop. |
Attachments:
- pat.yencode.test [download] added by lvirden on 2002-05-16 17:38:06. [details]