NetBSD Problem Report #5066

Received: (qmail 15288 invoked from network); 25 Feb 1998 12:20:34 -0000
Message-Id: <199802251220.NAA12381@cosinus.cs.uni-bonn.de>
Date: Wed, 25 Feb 1998 13:20:25 +0100 (CET)
From: Ignatios Souvatzis <ignatios@cosinus.cs.uni-bonn.de>
Reply-To: ignatios@cosinus.cs.uni-bonn.de
To: gnats-bugs@gnats.netbsd.org
Subject: tcl package fails its self-test
X-Send-Pr-Version: 3.95

>Number:         5066
>Category:       pkg
>Synopsis:       tcl package fails its self-test
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    packages
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Feb 25 04:35:00 +0000 1998
>Closed-Date:    Fri Sep 08 17:40:14 +0000 2000
>Last-Modified:  Fri Sep 08 17:40:14 +0000 2000
>Originator:     Ignatios Souvatzis
>Release:        see below. Package source as of today.
>Organization:
computer science department, university of Bonn, Germany
>Environment:

System: NetBSD cosinus.cs.uni-bonn.de 1.3_ALPHA NetBSD 1.3_ALPHA (COSINUS) #1: Sat Jan 10 01:49:13 CET 1998 ignatios@cosinus.cs.uni-bonn.de:/usr/local/obj/kernel/COSINUS i386


>Description:
	When running make test for the (new) tcl package, it fails one test.
>How-To-Repeat:
	cd /usr/pkgsrc/lang/tcl*; make test
cd /usr/pkgsrc/lang/tcl80/work/tcl8.0/unix && make test
if test ! -f tclsh; then make tclsh; else true; fi
cd dltest; PATH=..:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/X11R6/bin:/usr/pkg/bin:/usr/local/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/pkg/bin:/usr/local/bin:/usr/sbin:/sbin TCL_LIBRARY=../../library make
cc  tclTestInit.o tclTest.o tclTestObj.o tclUnixTest.o -L/usr/local/pkgsrc/lang/tcl80/work/tcl8.0/unix -ltcl80 -lm -lc  -o tcltest
LD_LIBRARY_PATH=`pwd`:; export LD_LIBRARY_PATH;  TCL_LIBRARY=./../library; export TCL_LIBRARY;  ( echo cd ./../tests\; source all ) | ./tcltest
append.test
assocd.test
async.test
basic.test
binary.test
case.test
clock.test
cmdAH.test
cmdIL.test
cmdInfo.test
compile.test
concat.test
dcall.test
dstring.test
env.test
error.test
eval.test
event.test
exec.test
execute.test
expr-old.test
expr.test
fCmd.test


==== fCmd-6.30 CopyRenameOneFile: TclpRemoveDirectory failed	--- (unixOnly) ---
==== Contents of test case:

    cleanup
    file mkdir foo/bar
    file attr foo -perm 040555
    set msg [list [catch {file rename foo/bar /tmp} msg] $msg]
    set a1 {1 {can't unlink "foo/bar": permission denied}}
    set result [expr {$msg == $a1}]
    catch {file delete /tmp/bar}
    catch {file attr foo -perm 040777}
    catch {file delete -force foo}
    set result

==== Result was:
0
---- Result should have been:
1
---- fCmd-6.30 FAILED
fileName.test
for-old.test
for.test
foreach.test
format.test
get.test
history.test
http.test
httpold.test
Running http 1.0 tests in slave interp
if-old.test
if.test
incr-old.test
incr.test
indexObj.test
info.test
init.test
interp.test
io.test
ioCmd.test
join.test
lindex.test
link.test
linsert.test
list.test
listObj.test
llength.test
load.test
lrange.test
lreplace.test
lsearch.test
macFCmd.test
misc.test
namespace-old.test
namespace.test
obj.test
opt.test
osa.test
skipping: Mac only tests...
parse.test
pid.test
pkg.test
proc-old.test
proc.test
pwd.test
regexp.test
registry.test
rename.test
resource.test
safe.test
scan.test
set-old.test
set.test
socket.test
source.test
split.test
string.test
stringObj.test
subst.test
switch.test
timer.test
trace.test
unixFCmd.test


==== unixFCmd-1.7 TclpRenameFile: EXDEV
==== Contents of test case:

    cleanup
    file mkdir foo/bar
    file attr foo -perm 040555
    set msg [list [catch {file rename foo/bar /tmp} msg] $msg]
    set a1 {1 {can't unlink "foo/bar": permission denied}}
    set result [expr {$msg == $a1}]
    catch {file delete /tmp/bar}
    catch {file attr foo -perm 040777}
    catch {file delete -force foo}
    set result

==== Result was:
0
---- Result should have been:
1
---- unixFCmd-1.7 FAILED
unixNotfy.test
unknown.test
uplevel.test
upvar.test
util.test
var.test
while-old.test
while.test
winFCmd.test
winNotify.test
winPipe.test
>Fix:
	not known.
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->analyzed 
State-Changed-By: is 
State-Changed-When: Wed Feb 25 05:49:58 PST 1998 
State-Changed-Why:  
TCL's test case 
1. creates a directory foo with a subdirectory foo/bar. 
2. makes foo write-protected (555) 
3. rename-s foo/bar to /tmp, expecting EXDEV. 

NetBSD returns EPERM instead. 

I verified that the same error is returned if doing this manually (without 
any tcl), and (using ktrace) that tcl returns what the system call returns. 

So, either the test expects something wrong, or our kernel returns something 
wrong (or both, but different). 

What does POSIX say about this? 
-is 
Responsible-Changed-From-To: gnats-admin->kleink 
Responsible-Changed-By: is 
Responsible-Changed-When: Wed Feb 25 05:52:32 PST 1998 
Responsible-Changed-Why:  
He is Mr Standards. 
Responsible-Changed-From-To: kleink->is 
Responsible-Changed-By: kleink 
Responsible-Changed-When: Thu May 14 23:56:06 PDT 1998 
Responsible-Changed-Why:  
In this case, two error conditions are fulfilled which yield either EACCESS or
EXDEV.  Since it's implementation-defined which condition will be caught first
in such a situation, the tcl package's `check' assumption is completely
bogus.

This is not a `standards' category issue.

`pkg' is not part of my working area; I'm sure you can find a developer 
responsible for tcl80. 
Responsible-Changed-From-To: is->gnats-admin 
Responsible-Changed-By: is 
Responsible-Changed-When: Tue May 26 13:54:44 PDT 1998 
Responsible-Changed-Why:  
I cannot hadndle this. 
Responsible-Changed-From-To: gnats-admin->packages 
Responsible-Changed-By: fair 
Responsible-Changed-When: Tue Dec 29 23:56:50 PST 1998 
Responsible-Changed-Why:  
This PR is the responsibility of the NetBSD packages folks, 
not the GNATS database administrator. 
State-Changed-From-To: analyzed->closed 
State-Changed-By: jwise 
State-Changed-When: Fri Sep 8 10:39:37 PDT 2000 
State-Changed-Why:  
This problem does not occur with tcl-8.3.2. 
>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.