Downloads |
Stable releases |
SUnit 4.0
The latest official release of SUnit is 4.0 for the following dialects:
- VASmalltalk 8.0.2: supplied with the distribution
- VisualWorks 7.7.1, ObjectStudio 8.2.1, WebVelocity 1.1: supplied with the distribution
- Pharo: in SqueakSource Sunit
- Dolphin 6.1 (and should be compatible with earlier versions): available from the Dolphin repository and from our download page here on SourceForge.
The following dialects are being ported:
- Smalltalk/X: the 5.4.6 release upgraded to SUnit 3.2; upgrade to SUnit 4.0 is ongoing
- GemStone
See the News page for information of what has changed in recent releases.
SUnit 3.1
Until the port of SUnit 4.0 to all dialects completes, SUnit 3.1 remains the official release for other dialects. All versions are available from the download page here on SourceForge.
The following dialects have been officially released:
- Dolphin 5
- GNU Smalltalk 2
- ObjectStudio 6.8
- Smalltalk/X 4
- Squeak prior to Pharo 11
- VASmalltalk prior to 8
- Visual Smalltalk 3
- VisualWorks prior to 7.7
Please read the release notes for more information about compatibility with earlier versions of the Smalltalk dialect in question.
SUnit 3.1 is not available for:
- Smalltalk MT
- Smallscript/S#
Back Ports |
SUnit 3.1 back ports
SUnit 3.1 is targeted at the latest release of the various Smalltalk dialects. For people still using older versions, there are a number of back ports available.
- VisualWorks 3 (ENVY repository)
Older versions |
SUnit 3.0
The last official release of SUnit is 3.0. This release, as well as other older versions, are available from the download page of the ANSI-Smalltalk-Tests project on SourceForge:
- Dolphin 3.0
- Dolphin 4.0 (ported by Bob Jarvis)
- GemStone 5.1.4 (ported by Joe Bacanskas)
- Squeak 3.0
- VisualAge 4.5 - 5.5 (reference implementation)
- Visual Smalltalk 3.1 (ported by Giorgio Ferraris)
- VisualWorks 3.0
- VisualWorks 5i
SUnit 2.7
Not all dialects or versions made it to the 3.0 release level. The last stable release was 2.7, and some older dialect versions stayed at that level. All these versions are available from the download page of the ANSI-Smalltalk-Tests project on SourceForge:
- ObjectStudio 6.2
- Smalltalk MT 2.6
- Smalltalk/X 3.6.4
- VisualWorks 2.5
Also, versions of 2.7 for other dialects are available here.
Package structure |
SUnit delivery format
SUnit Camp Smalltalk is always available in four parts:
- SUnitPreload
- SUnit
- SUnitTests
- SUnitUI
SUnitPreload will have, for any specific dialect, whatever is needed in the way of base language additions in order to support the SUnit core. All additions are based on ANSI standard protocols, however, individual methods will have an #sunit prefix, so as to avoid namespace collisions.
SUnit has the core of the system, and tiny guts they are! Just the four main Classes: TestCase, TestSuite, TestResult and TestResource. This has been made as portable as possible and in the future will have the exact same code for all dialects.
SUnitTests has the ExampleSetTest, and the tests for SUnit itself. These, since they sit on top of SUnit, are even more portable than SUnit itself!
SUnitUI has the nastiest of the nasties. It has TestRunner. The "Base" UI is made to act the same on all dialects. This code is just plain not portable between dialects. (Most dialects now have their own UIs for running SUnit which are more powerful than TestRunner.)
An additional part is available for those Smalltalks that fully utilize Namespaces; SUnitNamespaceTests. This will have any Dialect Specific tests to make sure that SUnit plays nice with any local Namespace capability.