| 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]
