Tcl Source Code

Check-in [288d3e72e5]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Bug [3549770]: Multiple test failures running tcltest outside build tree
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: 288d3e72e58232c00b50e8b007f3e3655bdaaa3a
User & Date: jan.nijtmans 2012-07-28 22:54:19
Context
2012-07-31
10:33
Backport nmakehlp.c from Tcl 8.6, but add -Q option from sampleextension check-in: 837d4e168b user: jan.nijtmans tags: core-8-5-branch
2012-07-28
23:22
[Bug 3549770] Multiple test failures running tcltest outside build tree check-in: 334aea1d5d user: jan.nijtmans tags: trunk
22:54
Bug [3549770]: Multiple test failures running tcltest outside build tree check-in: 288d3e72e5 user: jan.nijtmans tags: core-8-5-branch
14:52
[Bug 3549770] Multiple test failures running tcltest outside build tree check-in: 6aef22c0bb user: jan.nijtmans tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to tests/clock.test.

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

if {[lsearch [namespace children] ::tcltest] == -1} {
    package require tcltest 2
    namespace import -force ::tcltest::*
}

if {[testConstraint win]} {
    if {[catch {load {} Registry}]
	&& [catch {package require registry}] 
	&& [catch {
	    ::tcltest::loadTestedCommands
	    load $::reglib Registry
	}]} {
	namespace eval ::tcl::clock {variable NoRegistry {}}
    }
}

package require msgcat 1.4








|
<
<

|







13
14
15
16
17
18
19
20


21
22
23
24
25
26
27
28
29

if {[lsearch [namespace children] ::tcltest] == -1} {
    package require tcltest 2
    namespace import -force ::tcltest::*
}

if {[testConstraint win]} {
    if {[catch {


	    ::tcltest::loadTestedCommands
	    package require registry
	}]} {
	namespace eval ::tcl::clock {variable NoRegistry {}}
    }
}

package require msgcat 1.4

Changes to tests/registry.test.

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
if {[lsearch [namespace children] ::tcltest] == -1} {
    package require tcltest 2
    namespace import -force ::tcltest::*
}

testConstraint reg 0
if {[testConstraint win]} {
    if {![catch {load {} Registry}]
	|| ![catch {package require registry}] 
	|| ![catch {
	    ::tcltest::loadTestedCommands
	    load $::reglib Registry
	}]} {
	testConstraint reg 1
    }
}

# determine the current locale
testConstraint english [expr {







|
<
<

|







13
14
15
16
17
18
19
20


21
22
23
24
25
26
27
28
29
if {[lsearch [namespace children] ::tcltest] == -1} {
    package require tcltest 2
    namespace import -force ::tcltest::*
}

testConstraint reg 0
if {[testConstraint win]} {
    if {![catch {


	    ::tcltest::loadTestedCommands
	    package require registry
	}]} {
	testConstraint reg 1
    }
}

# determine the current locale
testConstraint english [expr {

Changes to tests/winDde.test.

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
    package require tcltest 2
    #tcltest::configure -verbose {pass start}
    namespace import -force ::tcltest::*
}

testConstraint dde 0
if {[testConstraint win]} {
    if {![catch {load {} Dde; set ::ddelib {}}]
	|| ![catch {
	    package require dde
	    set ::ddelib [lindex [package ifneeded dde 1.3.3] 1]}] 
	|| ![catch {
	    ::tcltest::loadTestedCommands
	    load $::ddelib Dde}]} {
	testConstraint dde 1
    }
}


# -------------------------------------------------------------------------
# Setup a script for a test server
#

set scriptName [makeFile {} script1.tcl]

proc createChildProcess { ddeServerName {handler {}}} {
    file delete -force $::scriptName

    set f [open $::scriptName w+]
    puts $f [list set ddeServerName $ddeServerName]
    if {[info exists ::ddelib]} {
	puts $f [list load $::ddelib Dde]
    } else {
	puts $f [list package require dde]
    }
    puts $f {
        # DDE child server -
        #
	if {[lsearch [namespace children] ::tcltest] == -1} {
	    package require tcltest
	    namespace import -force ::tcltest::*
	}







|
|

|
<
<
<











|




<
|
<
<
<







13
14
15
16
17
18
19
20
21
22
23



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

40



41
42
43
44
45
46
47
    package require tcltest 2
    #tcltest::configure -verbose {pass start}
    namespace import -force ::tcltest::*
}

testConstraint dde 0
if {[testConstraint win]} {
    if {![catch {
	    ::tcltest::loadTestedCommands
	    package require dde
	    set ::ddelib [lindex [package ifneeded dde 1.3.3] 1]}]} {



	testConstraint dde 1
    }
}


# -------------------------------------------------------------------------
# Setup a script for a test server
#

set scriptName [makeFile {} script1.tcl]

proc createChildProcess {ddeServerName {handler {}}} {
    file delete -force $::scriptName

    set f [open $::scriptName w+]
    puts $f [list set ddeServerName $ddeServerName]

    puts $f [list load $::ddelib dde]



    puts $f {
        # DDE child server -
        #
	if {[lsearch [namespace children] ::tcltest] == -1} {
	    package require tcltest
	    namespace import -force ::tcltest::*
	}

Changes to win/Makefile.in.

692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
# Specifying TESTFLAGS on the command line is the standard way to pass args to
# tcltest, i.e.:
#	% make test TESTFLAGS="-verbose bps -file fileName.test"

test: binaries $(TCLTEST)
	TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
	./$(TCLTEST) "$(ROOT_DIR_NATIVE)/tests/all.tcl" $(TESTFLAGS) \
	-load "set ::ddelib [file normalize ${DDE_DLL_FILE}]; \
	set ::reglib [file normalize ${REG_DLL_FILE}]" | ./$(CAT32)

# Useful target to launch a built tcltest with the proper path,...
runtest: binaries $(TCLTEST)
	@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
	./$(TCLTEST) $(TESTFLAGS) -load "set ::ddelib [file normalize ${DDE_DLL_FILE}]; \
	set ::reglib [file normalize ${REG_DLL_FILE}]" $(SCRIPT)

# This target can be used to run tclsh from the build directory via
# `make shell SCRIPT=foo.tcl`
shell: binaries
	@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
	./$(TCLSH) $(SCRIPT)








|
|




|
|







692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
# Specifying TESTFLAGS on the command line is the standard way to pass args to
# tcltest, i.e.:
#	% make test TESTFLAGS="-verbose bps -file fileName.test"

test: binaries $(TCLTEST)
	TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
	./$(TCLTEST) "$(ROOT_DIR_NATIVE)/tests/all.tcl" $(TESTFLAGS) \
	-load "package ifneeded dde 1.3.3 [list load [file normalize ${DDE_DLL_FILE}] dde]; \
	package ifneeded registry 1.2.2 [list load [file normalize ${REG_DLL_FILE}] registry]" | ./$(CAT32)

# Useful target to launch a built tcltest with the proper path,...
runtest: binaries $(TCLTEST)
	@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
	./$(TCLTEST) $(TESTFLAGS) -load "package ifneeded dde 1.3.3 [list load [file normalize ${DDE_DLL_FILE}] dde]; \
	package ifneeded registry 1.2.2 [list load [file normalize ${REG_DLL_FILE}] registry]" $(SCRIPT)

# This target can be used to run tclsh from the build directory via
# `make shell SCRIPT=foo.tcl`
shell: binaries
	@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
	./$(TCLSH) $(SCRIPT)

Changes to win/makefile.vc.

523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
install:    install-binaries install-libraries install-docs


test: setup $(TCLTEST) dlls $(CAT32)
	set TCL_LIBRARY=$(ROOT)/library
!if "$(OS)" == "Windows_NT"  || "$(MSVCDIR)" == "IDE"
	$(TCLTEST) "$(ROOT)/tests/all.tcl" $(TESTFLAGS) -loadfile <<
		set ::ddelib [file normalize $(TCLDDELIB:\=/)]
		set ::reglib [file normalize $(TCLREGLIB:\=/)]
<<
!else
	@echo Please wait while the tests are collected...
	$(TCLTEST) "$(ROOT)/tests/all.tcl" $(TESTFLAGS) -loadfile << > tests.log
		set ::ddelib [file normalize $(TCLDDELIB:\=/)]
		set ::reglib [file normalize $(TCLREGLIB:\=/)]
<<
	type tests.log | more
!endif

runtest: setup $(TCLTEST) dlls $(CAT32)
	set TCL_LIBRARY=$(ROOT)/library
	$(DEBUGGER) $(TCLTEST)







|
|




|
|







523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
install:    install-binaries install-libraries install-docs


test: setup $(TCLTEST) dlls $(CAT32)
	set TCL_LIBRARY=$(ROOT)/library
!if "$(OS)" == "Windows_NT"  || "$(MSVCDIR)" == "IDE"
	$(TCLTEST) "$(ROOT)/tests/all.tcl" $(TESTFLAGS) -loadfile <<
		package ifneeded dde 1.3.3 [list load "$(TCLDDELIB:\=/)" dde]
		package ifneeded registry 1.2.2 [list load "$(TCLREGLIB:\=/)" registry]
<<
!else
	@echo Please wait while the tests are collected...
	$(TCLTEST) "$(ROOT)/tests/all.tcl" $(TESTFLAGS) -loadfile << > tests.log
		package ifneeded dde 1.3.3 "$(TCLDDELIB:\=/)" dde]
		package ifneeded registry 1.2.2 "$(TCLREGLIB:\=/)" registry]
<<
	type tests.log | more
!endif

runtest: setup $(TCLTEST) dlls $(CAT32)
	set TCL_LIBRARY=$(ROOT)/library
	$(DEBUGGER) $(TCLTEST)