Itcl - the [incr Tcl] extension

View Ticket
Login
Ticket Hash: 87a89c9a927db943941ee3f5d12af8a06607fbab
Title: Test "sfbug-254" fails for 4.0.5 on Win
Status: Closed Type: Code_Defect
Severity: Minor Priority: Low
Subsystem: Resolution: Fixed
Last Modified: 2019-02-09 17:39:31
Version Found In: 4.0.5
User Comments:
oehhar added on 2016-07-26 12:43:00:
Test "sfbug-254" fails as follows:
<verbatim>
==== sfbug-254 SF bug #254 FAILED
==== Contents of test case:

    set interp [interp create]
    $interp eval {
      package require itcl

      set ::test_status ""
      oo::class destroy
      lappend ::test_status "::oo::class destroy worked"
    }

---- Test generated error; Return code was: 1
---- Return code should have been one of: 0 2
---- errorInfo: can't find package itcl
    while executing
"package require itcl"
    invoked from within
"$interp eval {
      package require itcl

      set ::test_status ""
      oo::class destroy
      lappend ::test_status "::oo::class destroy worked"..."
    ("uplevel" body line 3)
    invoked from within
"uplevel 1 $script"
---- errorCode: TCL PACKAGE UNFOUND
==== sfbug-254 FAILED
</verbatim>

System:
   *   Win 10 64 bit GER
   *   itcl4.0.5 in tcl8.6.6rc1
   *   MS-VC++ + PSDK2003SP1 32 bit, Makefile.vc

dgp added on 2016-07-26 14:32:31:
ok, this is a testing error.  For some reason the built
code is not available properly to the testing engine.
I'll need a contributed fix.

sebres added on 2019-02-08 17:14:41:

This is not windows issue and can affect every system where Itcl is basically not installed (resp. pkgIndex could not be found in library paths).

For example just compile (itcl), then without installation try to test it, like:

$ cd $prj/itcl4/unix/build; make --with-tcl=$prj/tcl8.6/unix/build
$ cd $prj/itcl4
$ $prj/tcl8.6/unix/build/tclsh ./tests/all.tcl -load 'load $prj/itcl4/unix/build/libitcl.so itcl'
will pass each test, excepting "sfbug-254" and "sfbug-257", just because child interpreter would not be able to find itcl-package.


sebres added on 2019-02-08 18:24:22:

Should be fixed now in [87a89c9a927db943].

@Harald, can you test this?

Thus I'll close this ticket now (please reopen if I'm wrong).


oehhar added on 2019-02-09 17:39:31:

Thank you, sebres, for the homework.

Action taken:

  • tcl8.6.9 file distribution
  • Removed anything under pkgs\itcl4.1.2
  • downloaded ITCL commit [0155e66402] as zip
  • put the folder contents to pkgs\itcl4.1.2
  • cd tcl8.6.9\win
  • nmake -f Makefile.vc
  • nmake -f Makefile.vc test TESTFLAGS="-verbose bte" > testlog_tcl8.6.9_itcl_0155e66402.txt 2>&1
  • nmake -f Makefile.vc install INSTALLDIR=c:\test\tcl869_itcl_0155e66402
  • start tclsh, package require Itcl -> 4.1.2

The test failures are fixed, thank you, good work !

Harald