README
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

  1. README -- Tcl test suite design document.
  2. RCS: @(#) $Id: README,v 1.11.2.1 2003/04/01 21:13:07 dgp Exp $
  3. Contents:
  4. ---------
  5.     1. Introduction
  6.     2. Running tests
  7.     3. Adding tests
  8.     4. Incompatibilities with prior Tcl versions
  9. 1. Introduction:
  10. ----------------
  11. This directory contains a set of validation tests for the Tcl commands
  12. and C Library procedures for Tcl.  Each of the files whose name ends
  13. in ".test" is intended to fully exercise the functions in the C source
  14. file that corresponds to the file prefix.  The C functions and/or Tcl
  15. commands tested by a given file are listed in the first line of the
  16. file.
  17. 2. Running tests:
  18. -----------------
  19. We recommend that you use the "test" target of Tcl's Makefile to run
  20. the test suite.  From the directory in which you build Tcl, simply
  21. type "make test".  This will create a special executable named
  22. tcltest in which the testing scripts will be evaluated.  To create
  23. the tcltest executable without running the test suite, simple type
  24. "make tcltest".
  25. All the configuration options of the tcltest package are available
  26. during a "make test" by defining the TESTFLAGS environment variable.
  27. For example,if you wish to run only those tests in the file append.test,
  28. you can type:
  29. make test TESTFLAGS="-file append.test"
  30. For interactive testing, the Tcl Makefile provides the "runtest" target.
  31. Type "make runtest" in your build directory, and the tcltest executable
  32. will be created, if necessary, then it will run interactively.  At the
  33. command prompt, you may type any Tcl commands.  If you type
  34. "source ../tests/all.tcl", the test suite will run.  You may use the
  35. tcltest::configure command to configure the test suite run as an
  36. alternative to command line options via TESTFLAGS.  You might also
  37. wish to use the tcltest::testConstraint command to select the constraints
  38. that govern which tests are run.  See the documentation for the tcltest
  39. package for details.
  40. 3. Adding tests:
  41. ----------------
  42. Please see the tcltest man page for more information regarding how to
  43. write and run tests.
  44. Please note that the all.tcl file will source your new test file if
  45. the filename matches the tests/*.test pattern (as it should).  The
  46. names of test files that contain regression (or glass-box) tests
  47. should correspond to the Tcl or C code file that they are testing.
  48. For example, the test file for the C file "tclCmdAH.c" is
  49. "cmdAH.test".  Test files that contain black-box tests may not
  50. correspond to any Tcl or C code file so they should match the pattern
  51. "*_bb.test". 
  52. Be sure your new test file can be run from any working directory.
  53. Be sure no temporary files are left behind by your test file.
  54. Use [tcltest::makeFile], [tcltest::removeFile], and [tcltest::cleanupTests]
  55. properly to be sure of this.
  56. Be sure your tests can run cross-platform in both a build environment
  57. as well as an installation environment.  If your test file contains
  58. tests that should not be run in one or more of those cases, please use
  59. the constraints mechanism to skip those tests.
  60. 4. Incompatibilities of package tcltest 2.1 with 
  61.    testing machinery of very old versions of Tcl:
  62. ------------------------------------------------
  63. 1) Global variables such as VERBOSE, TESTS, and testConfig of the
  64.    old machinery correspond to the [configure -verbose], 
  65.    [configure -match], and [testConstraint] commands of tcltest 2.1,
  66.    respectively.
  67. 2) VERBOSE values were longer numeric.  [configure -verbose] values
  68.    are lists of keywords.
  69. 3) When you run "make test", the working dir for the test suite is now
  70.    the one from which you called "make test", rather than the "tests"
  71.    directory.  This change allows for both unix and windows test
  72.    suites to be run simultaneously without interference with each
  73.    other or with existing files.  All tests must now run independently
  74.    of their working directory.
  75. 4) The "all" file is now called "all.tcl"
  76. 5) The "defs" and "defs.tcl" files no longer exist.
  77. 6) Instead of creating a doAllTests file in the tests directory, to
  78.    run all nonPortable tests, just use the "-constraints nonPortable"
  79.    command line flag.  If you are running interactively, you can run
  80.    [tcltest::testConstraint nonPortable 1] (after loading the tcltest
  81.    package).
  82. 7) Direct evaluation of the *.test files by the "source" command is no
  83.    longer recommended.  Instead, "source all.tcl" and use the "-file" and
  84.    "-notfile" options of tcltest::configure to control which *.test files
  85.    are evaluated.