10.08.2011

No Longer Supporting DLTK

Quick update. Since this project is so small, I am removing support for integration with DLTK. It is no longer working with the current version of DLTK. The basic t-unit tcl unit test framework is still supported as well as the TUnit Eclipse plugin.

2.07.2007

Updates 02.07.2007

Updated TUnit Extension version to 1.1.0. Did a minor refactoring to separate the core of the extension from the Tcl aspects. This will allow programmers of DLTK to use the TUnit view with other programming languages.

1.27.2007

Still Here

I have not completely disappeared. I am in the process of refactoring the TUnit extension for the Eclipse DLTK project. The refactoring will allow others to use the TUnit extension view for all languages, not just Tcl. I have started the refactoring but have been busy at work and a little lazy since the end of the graduate seminar. I will be sure to post more when the refactoring is complete.

12.19.2006

Downloads Added

The final presentation for my work is over. But I will continue to support the project. Today I added a set of downloads to the t-unit repository as well as a Wiki page telling so. However, the Eclipse DLTK plugin was not added and can still be found only at the TUnit homepage due to licensing differences.

12.06.2006

Updates 12.06.2006

Updating the presentation in preparation for the real thing on Monday. That is all for now.

11.30.2006

Updates 11.30.2006

Finished rough draft of the paper. Passing off for review. The presentation dry run went well. Will update the presentation beginning tomorrow.

11.16.2006

Updates 11.16.2006

Nothing too new to report. Just a lot of updates to my paper. If something major comes up, it will be posted here.

11.12.2006

Updates 11.12.2006

An initial version of the Eclipse DLTK TUnit Extension is now available for use from the TUnit homepage. It allows the user to use the t-unit package for unit testing while displaying the results in a JUnit type view. When a failure occurs, the failure window will display all the relevant information along with the ability to double click on the failure to display the test case.

More work on the extension could come in the future. Such features as selecting the unit test framework will become available with future revisions. For now though, the TUnit extension only works with th t-unit package.

Note: The Eclipse DLTK Core and Tcl Support plugins need to be installed for the TUnit extension to work properly. A sample project is available with the plugin that can be imported into the workspace and run as an example. Lastly, the source code can not be hosted on Google Code because of licensing issues, so it is being hosted at Loyola Marymount University's Keck Lab instead.

10.26.2006

Updates 10.26.2006

Updated assertEqualsReal to check the validity of the arguments once they have been evaluated. If both are not numbers, then an error is returned stating such. This was found during execution of unit tests at work. After the fix, a failure is now returned instead.

I have also been in contact with the group behind Eclipse DLTK (Dynamic Languages Toolkit). The Dynamic Languages Toolkit is a proposed open source project under the Eclipse Technology Project. They offer a plugin for the Tcl programming language as part of the project. I am hoping to share some of what I have done with them and perhaps we can work on this together.

10.17.2006

Updates 10.17.2006

A page of screenshots is now available. It can be found at http://tunitplugin.googlepages.com/screenshots . More updates over the next few days.

10.14.2006

An Official Release Page

A homepage and a release page have been created for the project. The homepage can be found at http://tunitplugin.googlepages.com/ and the release page is at http://tunitplugin.googlepages.com/release

There are currently three releases available. The first release is the TUnit plugin. TUnit is a plugin for the Eclipse IDE. TUnit makes use of the t-unit package that was developed for the tcl programming language. The second release is TUnit.test. TUnit.test is a unit test suite for the TUnit plugin. And the third release is t-unit. The t-unit package provides an automated unit testing framework for the tcl programming language modeled after the 'JUnit' Java test suite. All calls are 'asserts'; such as 'assertTrue' checks for result boolean TRUE. t-unit comes with the Eclipse plugin but is available separately if the plugin is not desired.

I am currently looking to work towards a 1.0 release, but the releases are fully functional with no known bugs. Towards the end of the semester, version 1.0 will be released if no issues are open at that time.

10.13.2006

Updates 10.13.2006

Refactored the TclNamespaceView class. For now refactoring is complete. Unless a bug comes up or a new feature is requested/added, no further refactoring is needed at this time.

10.09.2006

Updates 10.09.2006

Refactored computeCompletionProposals to use setCompletions to resolve a major code reuse issue. Now the code exists in a single method that can be called over and over again. The last section of code involves Namespace Explorer. Hope to have this code refactored by the weekend.

10.08.2006

Updates 10.08.2006

Finished reading The Pragmatic Programmer and began the refactoring process. The refactoring that has been done so far has involved extracting code from large methods and creating new methods. This is easy to do using Eclipse and the easiest of the refactoring strategies to follow. Expect further refactoring over the week.

10.02.2006

Updates 10.02.2006

Currently I am taking a break from coding TUnit and reading The Pragmatic Programmer by Andrew Hunt and David Thomas. I plan on finishing the book over the next couple of days. At that time, I will continue the refactoring of TUnit, as well as continuing the work on my paper.

9.27.2006

Updates 09.27.2006

The unit tests are now complete. A unit test for the content assistance processor available from the tcl editor has been finished. Expect the refactoring process to begin over the next week.

9.26.2006

Updates 09.26.2006

Added TUnitEditorTest to the test suite. Currently the unit test only tests auto indentation, but will soon add a test for content assistance. Expect an update in the next few days.

9.24.2006

Introduction added to Paper

An introduction has been added to my paper. The pdf file though is not complete, and the last paragraph of the Introduction contains bad section numbers. This is due to the fact that the paper is being written using Latex and those sections have not been created yet.

9.23.2006

TUnit.paper Added to TUnit Project

A new subdirectory has been created to house the paper that is associated with the TUnit project. This will allow for versioning of the paper now as well. Look for more TUnit unit tests later this week.

9.19.2006

Delay in Updates

This week I plan on spending more time on the paper aspect of the project. As a result, there will probably be a delay in unit tests for the TUnit Editor. However, the unit tests are still on my schedule and there is a good chance that an update will still occur. I will be sure to keep all my fans posted. Until later. See Ya!

9.14.2006

Updates 09.14.2006

Added TUnitNamespaceViewTest. This test actually caught an error where a few files were not closed after being read from. This is exactly the reason I wanted to create unit tests. The last unit test to create now is the Editor unit test. Expect further updates over the weekend.

9.13.2006

Updates 09.13.2006

Added a unit test to test t-unit test script execution. Next up is a unit test for Namespace Explorer. Not much else to report though.

9.11.2006

Updates 09.11.2006

Updated code so that resource files are compared to on a line by line basis. Now the tests can be run completely automated with no need for manually updating files.

9.10.2006

Robot API Update

The unit tests can now be run on all platforms assuming /temp/tunitprojecttest2 exists and is a writable directory. For this week, I am hoping to develop of unit tests for the tclsh and results dialog. Should be fairly simple to do. Expect further updates during the week.

9.09.2006

Robot API

The Robot API is now being used to fill in all the user input within the unit tests. However, this resulted in the test only being able to run on a Window's machine with C:\Temp\TUnitProjectTest2 directory available. Also, the Robot takes control of the computer, so do not try and run anything else while it is working. This will cause you problems.

Another problem I have run into is that since the date is automatically put into some files under test, the comparison files need to have their date changed before every run (on a new day). This is ugly and I may need to update my tests to do this automatically.

9.07.2006

Updates 09.07.2006

TUnitProjectTest has been completed as well as two new unit tests: TUnitPackageTest and TUnitFileTest. All four tests that exist are passing at this time. This also completes the wizard unit test stage. However, the wizard unit tests are requiring user input. My advisor on this project has suggested looking at the Robot API in order to fully automate the tests. That will likely happen sometime this weekend.

The second piece of advice I received from my advisor was to change the packages associated with the project from edu.lmu.tUnit to edu.lmu.cs.tUnit. I created an issue for this and made the changes. I manually tested and ran the current set of unit tests and did not see a problem. However, a problem could show up so I gave the issue a status of Open-Verification. This status will remind me that if a problem comes up, to take a look at this issue. Eventually this will be closed when I feel that the unit tests developed can fully verify that there is no issue needed.

9.06.2006

Updates 09.06.2006

Added TUnitProjectTest to test the "New Tcl Project" wizard. The testcase is not complete, but passes for right now. Two more cases need to be added to be fully functional. This testcase will also help in the creation of the other two wizard-related unit tests. More to come tomorrow hopefully.

9.05.2006

Updates for 09.05.2006

Logging capabilities have been added to the TUnit plugin. Whenever the perspective is changed or one of the TUnit-related wizards is used, the log is updated. Also, any exceptions that are thrown are also logged. This was fairly easily to implement with the help of "eclipse: Building Commercial-Quality Plug-ins."

Secondly, TUnit.test has been created and added to the t-unit project repository hosted by Google. TUnit.test contains a test suite to unit test the TUnit plugin. Currently, the test suite only contains a unit test for the TUnit Perspective, but it passes and is a good start for future tests. More tests are to come over the next few weeks. Once again, "eclipse: Building Commercial-Quality Plug-ins" was used as a resource.

Logging Capabilities

In order to be compliant with IBM's Ready for Rational Software (RFRS) certification program, logging capabilities need to be added to the plugin. RFRS ensures that high-quality add-ons to Eclipse and the IBM Software Development Platform are being developed.

RFRS requirements indicate that exceptions and other servie-related information should be appended to a log file. Section 3.6 of "eclipse: Building Commercial-Quality Plug-ins" offers a good sample class that can be used for logging.

A new issue was generated with the need for logging specified. Later today, a new class will be implemented and compiled for logging capabilities. Expect an update tonight with the logging issue closed and new unit test(s) in place.

9.04.2006

Source Code and Issues Generated

The source code for the TUnit plugin has been put into Google's Subversion repository. The source can be viewed from the TUnit Hompeage. In addition, two issues have been generated. The first issue is regarding the lack of unit tests for the plugin. Two books are being looked at for a better understanding of PDE JUnit. Hopefully, the unit tests will be started by tomorrow. The second issue has to do with some refactoring of code that should take place. Once the unit tests are generated and passing, I will begin the refactoring process. The issues may also be viewed at the TUnit Hompeage.

What is TUnit?

TUnit is a plugin for the Eclipse IDE. TUnit makes use of the t-unit package that was developed for the tcl language. The t-unit package provides an automated unit testing framework modeled after the "JUnit" Java test suite. All calls are "asserts"; such as "assertTrue" checks for result boolean TRUE.

Features:
- Tcl Perspective
- Tcl Project Wizard
- Tcl Package Creator
- Tcl File Creator
- Syntax Highlighting
- Auto Indentation
- Content Assistance (i.e. completion of a command name)
- Preferences menu
- Namespace Explorer (looks at tclIndex and allows opening of files based on procedure names)
- Execution of t-unit scripts

TUnit Hompeage

Credits:
Thanks to BJ Johnson for the motivation and help in the design and implementation of TUnit. Without your idea, none of this would have been possible. Special thanks to Mark James for the icons used in the plugin. Visit his site for more information.

Blog Creation

This blog will host updates made to my TUnit Eclipse plugin. More information to come shortly.