# # convlib.test # # Tests for tcl.tlib convert_lib routine. #--------------------------------------------------------------------------- # Copyright 1992-1999 Karl Lehenbauer and Mark Diekhans. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, provided # that the above copyright notice appear in all copies. Karl Lehenbauer and # Mark Diekhans make no representations about the suitability of this # software for any purpose. It is provided "as is" without express or # implied warranty. #------------------------------------------------------------------------------ # $Id: convlib.test,v 1.1 2001/10/24 23:31:49 hobbs Exp $ #------------------------------------------------------------------------------ # if {[cequal [info procs Test] {}]} { source [file join [file dirname [info script]] testlib.tcl] } catch {file delete -force convlib.tmp} file mkdir convlib.tmp # Create a temporary source files and generate an index. loop num 0 5 { set fh [open convlib.tmp/tmp${num}.tcl w] puts $fh "proc LoadProc${num}A {} {return @LoadProc${num}A@}" puts $fh "proc LoadProc${num}B {} {return @LoadProc${num}B@}" close $fh } set fh [open convlib.tmp/init.tcl w] puts $fh "proc InitTcl {} {return @InitTcl@}" close $fh auto_mkindex convlib.tmp *.tcl # Proc that validates the library by executing procs out of it. proc LibValidate {testid testname} { loop num 0 5 { Test $testid.1 $testname { LoadProc${num}A } 0 "@LoadProc${num}A@" Test $testid.2 $testname { LoadProc${num}B } 0 "@LoadProc${num}B@" Test $testid.3 $testname { InitTcl } 1 {invalid command name "InitTcl"} } } # # Now convert and load the library, see if we can actually use it. # Test convlib-1.1 {Convert library tests} { TestRemove convlib.tmp/tmp.tlib file delete convlib.tmp/tmp.tndx convert_lib convlib.tmp/tclIndex convlib.tmp/tmp "init.tcl" list [file exists convlib.tmp/tmp.tlib] [file exists convlib.tmp/tmp.tndx] } 0 {1 1} Test convlib-1.2 {Convert library tests} { TestRemove convlib.tmp/tmp.tlib file delete convlib.tmp/tmp.tndx convert_lib convlib.tmp/tclIndex convlib.tmp/tmp.tlib "init.tcl" list [file exists convlib.tmp/tmp.tlib] [file exists convlib.tmp/tmp.tndx] } 0 {1 1} loadlibindex convlib.tmp/tmp.tlib LibValidate convlib-1.3 {Convert library tests} TestRemove convlib.tmp # cleanup ::tcltest::cleanupTests return