Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix various test when run outside of the build environment [3549770] |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
c1dc55adfd3af9d4d8d2cdb2fe3c7077 |
User & Date: | jan.nijtmans 2012-07-30 11:42:26 |
Context
2012-07-30
| ||
12:51 | Less strictness about exactly which dll versions are tested check-in: 6a9564af94 user: jan.nijtmans tags: trunk | |
11:42 | Fix various test when run outside of the build environment [3549770] check-in: c1dc55adfd user: jan.nijtmans tags: trunk | |
10:44 | Add checks whether we are testing the right dll's check-in: 9ec11d9ecc user: jan.nijtmans tags: trunk | |
Changes
Changes to generic/tclTest.c.
︙ | ︙ | |||
309 310 311 312 313 314 315 316 317 318 | Tcl_Interp *interp, int argc, const char **argv); static int TestsetmainloopCmd(ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); static int TestexitmainloopCmd(ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); static int TestpanicCmd(ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); static int TestfinexitObjCmd(ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); | > > | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 | Tcl_Interp *interp, int argc, const char **argv); static int TestsetmainloopCmd(ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); static int TestexitmainloopCmd(ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); static int TestpanicCmd(ClientData dummy, Tcl_Interp *interp, int argc, const char **argv); #ifndef _WIN32 static int TestfinexitObjCmd(ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); #endif /* _WIN32 */ static int TestparseargsCmd(ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); static int TestparserObjCmd(ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); static int TestparsevarObjCmd(ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); static int TestparsevarnameObjCmd(ClientData dummy, |
︙ | ︙ | |||
634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 | TestgetvarfullnameCmd, NULL, NULL); Tcl_CreateCommand(interp, "testinterpdelete", TestinterpdeleteCmd, NULL, NULL); Tcl_CreateCommand(interp, "testlink", TestlinkCmd, NULL, NULL); Tcl_CreateObjCommand(interp, "testlocale", TestlocaleCmd, NULL, NULL); Tcl_CreateCommand(interp, "testpanic", TestpanicCmd, NULL, NULL); Tcl_CreateObjCommand(interp, "testfinexit", TestfinexitObjCmd, NULL, NULL); Tcl_CreateObjCommand(interp, "testparseargs", TestparseargsCmd,NULL,NULL); Tcl_CreateObjCommand(interp, "testparser", TestparserObjCmd, NULL, NULL); Tcl_CreateObjCommand(interp, "testparsevar", TestparsevarObjCmd, NULL, NULL); Tcl_CreateObjCommand(interp, "testparsevarname", TestparsevarnameObjCmd, NULL, NULL); | > > | 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 | TestgetvarfullnameCmd, NULL, NULL); Tcl_CreateCommand(interp, "testinterpdelete", TestinterpdeleteCmd, NULL, NULL); Tcl_CreateCommand(interp, "testlink", TestlinkCmd, NULL, NULL); Tcl_CreateObjCommand(interp, "testlocale", TestlocaleCmd, NULL, NULL); Tcl_CreateCommand(interp, "testpanic", TestpanicCmd, NULL, NULL); #ifndef _WIN32 Tcl_CreateObjCommand(interp, "testfinexit", TestfinexitObjCmd, NULL, NULL); #endif /* _WIN32 */ Tcl_CreateObjCommand(interp, "testparseargs", TestparseargsCmd,NULL,NULL); Tcl_CreateObjCommand(interp, "testparser", TestparserObjCmd, NULL, NULL); Tcl_CreateObjCommand(interp, "testparsevar", TestparsevarObjCmd, NULL, NULL); Tcl_CreateObjCommand(interp, "testparsevarname", TestparsevarnameObjCmd, NULL, NULL); |
︙ | ︙ | |||
4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 | /* *---------------------------------------------------------------------- * * TestfinexitObjCmd -- * * Calls a variant of [exit] including the full finalization path. * * Results: * Error, or doesn't return. * * Side effects: * Exits application. * *---------------------------------------------------------------------- */ static int TestfinexitObjCmd( ClientData dummy, /* Not used. */ Tcl_Interp *interp, /* Current interpreter. */ int objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { | > > > > > > | 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 | /* *---------------------------------------------------------------------- * * TestfinexitObjCmd -- * * Calls a variant of [exit] including the full finalization path. * * On Win32, the test suite is run with all Tcltest funcions in a dll, * but TclpExit cannot be called from inside a dynamically loaded dll. * It would mean that the dll is terminated, while there is still a * function on the stack which belong to the dll. * * Results: * Error, or doesn't return. * * Side effects: * Exits application. * *---------------------------------------------------------------------- */ #ifndef _WIN32 static int TestfinexitObjCmd( ClientData dummy, /* Not used. */ Tcl_Interp *interp, /* Current interpreter. */ int objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { |
︙ | ︙ | |||
4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 | return TCL_ERROR; } Tcl_Finalize(); TclpExit(value); /*NOTREACHED*/ return TCL_ERROR; /* Better not ever reach this! */ } static int TestfileCmd( ClientData dummy, /* Not used. */ Tcl_Interp *interp, /* Current interpreter. */ int argc, /* Number of arguments. */ Tcl_Obj *const argv[]) /* The argument objects. */ | > > | 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 | return TCL_ERROR; } Tcl_Finalize(); TclpExit(value); /*NOTREACHED*/ return TCL_ERROR; /* Better not ever reach this! */ } #endif /* _WIN32 */ static int TestfileCmd( ClientData dummy, /* Not used. */ Tcl_Interp *interp, /* Current interpreter. */ int argc, /* Number of arguments. */ Tcl_Obj *const argv[]) /* The argument objects. */ |
︙ | ︙ |
Changes to tests/encoding.test.
︙ | ︙ | |||
11 12 13 14 15 16 17 | package require tcltest 2 namespace eval ::tcl::test::encoding { variable x namespace import -force ::tcltest::* | > | | > > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | package require tcltest 2 namespace eval ::tcl::test::encoding { variable x namespace import -force ::tcltest::* catch { ::tcltest::loadTestedCommands package require -exact Tcltest [info patchlevel] set ::tcltestlib [lindex [package ifneeded Tcltest [info patchlevel]] 1] } proc toutf {args} { variable x lappend x "toutf $args" } proc fromutf {args} { variable x |
︙ | ︙ | |||
402 403 404 405 406 407 408 409 410 411 412 413 414 415 | return $data } [string range $iso2022uniData 0 49] ; # 0 .. 49 inclusive == 50 cd [workingDirectory] # Code to make the next few tests more intelligible; the code being tested # should be in the body of the test! proc runInSubprocess {contents {filename iso2022.tcl}} { set theFile [makeFile $contents $filename] try { exec [interpreter] $theFile } finally { removeFile $theFile } } | > | 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 | return $data } [string range $iso2022uniData 0 49] ; # 0 .. 49 inclusive == 50 cd [workingDirectory] # Code to make the next few tests more intelligible; the code being tested # should be in the body of the test! proc runInSubprocess {contents {filename iso2022.tcl}} { set contents "load $::tcltestlib Tcltest\n$contents" set theFile [makeFile $contents $filename] try { exec [interpreter] $theFile } finally { removeFile $theFile } } |
︙ | ︙ |
Changes to tests/fileSystem.test.
︙ | ︙ | |||
15 16 17 18 19 20 21 | catch { file delete -force link.file file delete -force dir.link file delete -force [file join dir.dir linkinside.file] } | > | | > > > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | catch { file delete -force link.file file delete -force dir.link file delete -force [file join dir.dir linkinside.file] } catch { ::tcltest::loadTestedCommands package require -exact Tcltest [info patchlevel] set ::ddelib [lindex [package ifneeded dde 1.4.0b1] 1] set ::reglib [lindex [package ifneeded registry 1.3.0] 1] } # Test for commands defined in Tcltest executable testConstraint testfilesystem [llength [info commands ::testfilesystem]] testConstraint testsetplatform [llength [info commands ::testsetplatform]] testConstraint testsimplefilesystem [llength [info commands ::testsimplefilesystem]] cd [tcltest::temporaryDirectory] |
︙ | ︙ | |||
503 504 505 506 507 508 509 | } test filesystem-7.1.1 {load from vfs} -setup { set dir [pwd] } -constraints {win testsimplefilesystem} -body { # This may cause a crash on exit cd [file dirname [info nameof]] | < | < | | | 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 | } test filesystem-7.1.1 {load from vfs} -setup { set dir [pwd] } -constraints {win testsimplefilesystem} -body { # This may cause a crash on exit cd [file dirname [info nameof]] testsimplefilesystem 1 # This loads dde via a complex copy-to-temp operation load simplefs:/$::ddelib dde testsimplefilesystem 0 return ok # The real result of this test is what happens when Tcl exits. } -cleanup { cd $dir } -result ok test filesystem-7.1.2 {load from vfs, and then unload again} -setup { set dir [pwd] } -constraints {win testsimplefilesystem} -body { # This may cause a crash on exit cd [file dirname [info nameof]] testsimplefilesystem 1 # This loads reg via a complex copy-to-temp operation load simplefs:/$::reglib Registry unload simplefs:/$::reglib testsimplefilesystem 0 return ok # The real result of this test is what happens when Tcl exits. } -cleanup { cd $dir } -result ok test filesystem-7.2 {cross-filesystem copy from vfs maintains mtime} -setup { |
︙ | ︙ |
Changes to tests/registry.test.
︙ | ︙ | |||
15 16 17 18 19 20 21 | namespace import -force ::tcltest::* } testConstraint reg 0 if {[testConstraint win]} { if {![catch { ::tcltest::loadTestedCommands | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | namespace import -force ::tcltest::* } testConstraint reg 0 if {[testConstraint win]} { if {![catch { ::tcltest::loadTestedCommands package require -exact registry 1.3.0 }]} { testConstraint reg 1 } } # determine the current locale testConstraint english [expr { |
︙ | ︙ |