Tcl Source Code

View Ticket
Login
Ticket UUID: 833637
Title: core file outside of test can cause error
Type: Bug Version: obsolete: 8.5a0
Submitter: davidw Created on: 2003-10-31 13:59:33
Subsystem: 34. tcltest Package Assigned To: dgp
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2004-02-04 13:09:33
Resolution: Fixed Closed By: dgp
    Closed on: 2004-02-04 06:09:33
Description:
The tcltest suite fails in particular circumstances due
to the fact that on about line 2477 of tcltest.tcl
inside the cleanupTest proc, there is a reference to
the $name variable which is not set anywhere within
that proc.

Example:

@ashland [~/workshop/tsttest] $ tclsh runall.tcl
-singleproc 1
Running with standard tcltest
Tests running in interp:  /usr/bin/tclsh
Tests located in:  /home/davidw/workshop/tsttest
Tests running in:  /home/davidw/workshop/tsttest
Temporary files stored in /home/davidw/workshop/tsttest
Test files sourced into current interpreter
Running tests that match:  *
Skipping test files that match:  l.*.test
Only running test files that match:  cleanupcore.test
Tests began at Fri Oct 31 02:52:45 PM CET 2003
cleanupcore.test
>>>>>>>>>>>false

Tests ended at Fri Oct 31 02:52:45 PM CET 2003
runall.tcl:     Total   1       Passed  1       Skipped
0       Failed  0
Sourced 1 Test Files.
rename core file (> 1)
can't read "name": no such variable
    while executing
"file join [temporaryDirectory] core-$name"
    (procedure "::tcltest::cleanupTests" line 169)
    invoked from within
"::tcltest::cleanupTests"
    (file "runall.tcl" line 39)

Files attached to recreate the bug.

Hopefully I can whack this bug myself but some
assistance will probably be required to figure out what
should be happening.
User Comments: dgp added on 2004-02-04 13:09:30:
Logged In: YES 
user_id=80530


This bug was introduced
in revision 1.5, before even
version tcltest 1.0 was
released (with Tcl 8.2).

It appears that code was
copy/paste/modified from
[test] (where $name is
an argument) to [cleanupTests]
(where there is no $name).

Committing fix where $name
in cleanupTests is changed to
$testFileName, which seems
to be the appropriate analog.

dgp added on 2003-11-01 05:11:34:
Logged In: YES 
user_id=80530


Appears that the original bug
dates back to tcltest version 1.

dgp added on 2003-11-01 04:47:25:
Logged In: YES 
user_id=80530


no, it doesn't fail to return after all, 
it just takes a loooonnnnnnnggggg
time becuse [GetMatchingDirectories]
scans the entire filesystem tree below
[testsDirectory].

Anyone else testing for this bug be
warned - do your testing in a directory
without subdirectories.

dgp added on 2003-11-01 04:34:42:
Logged In: YES 
user_id=80530


I'm seeing [runAllTests] fail to return;
can you confirm?

davidw added on 2003-11-01 04:18:36:

File Added - 66075: runall.tcl

Logged In: YES 
user_id=240

Here is the runall.tcl bit... it's pretty simple.

davidw added on 2003-10-31 20:59:34:

File Added - 66035: cleanupcore.test

Attachments: