Automated Unit Test Package For Tcl Procedures March 25, 2017 TUnit Demonstration Automated Unit Test Package For Tcl Procedures March 25, 2017
Requirements Java runtime level of at least 1.4 tclsh Eclipse IDE http://java.sun.com/j2se/1.5.0/download.jsp Eclipse IDE http://www.eclipse.org/downloads/ tclsh http://www.activestate.com/Products/ActiveTcl/ Make sure to add bin directory to the path
Installation Extract the zipped file to the eclipse home directory Usually C:\Program Files\eclipse
Verifying Installation If eclipse is being started for the first time, a welcome screen will appear. If an error occurs, this is usually a result of the Java runtime engine not being installed properly.
Verifying Installation Continued From the Window menu, set the TUnit Preferences. This means the installation was a success.
TUnit Perspective A perspective determines the visible actions and views within a window. The TUnit perspective has 4 views: Navigator, Namespace Explorer, Tasks, and Console. The TUnit perspective can be opened from the upper right corner, the window menu, or by creating a new Tcl Project.
New Tcl Project Create a new Tcl Project and choose the Project name and location
Tcl Project Continued The Tcl Project creates the init.tcl and global.tcl files as well as the t-unit package.
Namespace Explorer Namespace Explorer looks at the tclIndex file and generates the procedure names associated with each package. Double clicking on the procedure name will open the file where the procedure is defined.
Editor The Tcl Editor has the following features: syntax highlighting, auto indentation, and content assistance. If other plugins are installed, *.tcl files may not use the TUnit editor. Update the file associations preferences to use the TUnit editor.
TUnit Menu Within the TUnit perspective, you allowed to create a new Tcl Package and a new Tcl File.
Tcl Package Create a new package within a project. The package will include the necessary file for package and namespace declaration and init.tcl will automatically be updated.
Tcl File The Tcl File wizard only requires the file name as input. But Procedure Parameters, Version, and Author name are also allowed and will be automatically put into the comments within the file.
Sample Testing Script t-unit::assertEquals 12.34 12.34 | PASS | OK t-unit::assertEquals "hello“ "hello” | PASS | OK t-unit::assertEquals "hello“ "world“ | FAIL | NOT_EQUAL t-unit::assertEquals 2 2 | PASS | OK t-unit::assertEquals 2 3 | FAIL | NOT_EQUAL t-unit::assertEquals 12345 12345 | PASS | OK t-unit::assertEquals 12345 12345.0 | FAIL | ARG_MISMATCH t-unit::assertEquals TRUE TRUE | PASS | OK t-unit::assertNotEquals TRUE FALSE | PASS | OK t-unit::assertNotEquals “hello” “world” | PASS | OK t-unit::assertEqualsList {1 2 3} {1 2 3} | PASS | OK t-unit::assertEqualsArray A1 A2 | PASS | OK
Using the Test Harness # Put this file at the project level. # Can also run more than one set of # unit tests, i.e. make a call to # t-unit::testHarness more than once. # Below is a sample file; init.tcl is # required. source init.tcl t-unit::testHarness t-unit/t-unittestcases.test
Execute TUnit Script Right click on the TUnit Script to execute and run it.
Results of a TUnit Run Once the TUnit script finishes executing, a popup window will appear with the results of the test. In addition, the console window displays the test results.
Known Issues This plugin has not been tested on Unix or Mac systems. Please report any errors that are seen and they will be fixed accordingly.