I wanted to make an "easy" way to make tests unloadable and loadable. At present we have two conventions in the image, and I want to try and simplify.
The first convention is to have categories suffixed "Tests", or "Testing"
e.g. System-Event Notification-Tests
The second is to have categories such as "KernelTests" or "NetworkTests".
I would like to standardize on the first more commonly use convention, and make supporting tools available to everyone.
To this end I have updated PackageInfo so that packages called Kernel.impl and Kernel.test will save the impementation and the tests separately.
The following reorganization is suggested:
http://installer.pbwiki.com/CleanReorganize-Squeak3:10
Having made this reorganization tests can be removed using
Installer unload: '*.tests'.
comments requested.
Keith
p.s. the Clean Script is comming along nicely
On Fri, May 30, 2008 at 05:09:20PM +0100, Keith Hodges wrote:
I wanted to make an "easy" way to make tests unloadable and loadable. At present we have two conventions in the image, and I want to try and simplify.
The first convention is to have categories suffixed "Tests", or "Testing"
e.g. System-Event Notification-Tests
The second is to have categories such as "KernelTests" or "NetworkTests".
I would like to standardize on the first more commonly use convention, and make supporting tools available to everyone.
To this end I have updated PackageInfo so that packages called Kernel.impl and Kernel.test will save the impementation and the tests separately.
The following reorganization is suggested:
http://installer.pbwiki.com/CleanReorganize-Squeak3:10
Having made this reorganization tests can be removed using
Installer unload: '*.tests'.
comments requested.
I don't really like that solution at all. It seems to me that this should be handled at a higher level than Monticello, such as in Sake/Packages.
In Gentoo, this is handled by a system called "use flags", which enables optional components and dependencies of packages. For instance, if I enable the gnome use flag, and not the kde use flag, packages with optional support for gnome will be built to use and depend on gnome for as long as that flag is set, and will not depend on or use kde if they can help it.
This would be handled nicely by a "test" use flag. The 3.11 Kernel package could be configured to conditionally depend on the 3.11 Kernel Tests package, if the "test" flag was enabled in the package manager. This could be extended for packages that optionally depend on Morphic, or a UI, for instance.
So, how I would do this is: Split kernel into (at least) two MC packages: Kernel and Kernel-Tests. Then specify in the Sake package that Kernel depends on Kernel-Tests if either the "tests" flag is set, or (maybe) if SUnit is loaded.
I see this as a sub-project of the more general goal making packages less monolithic and more configurable.
release@lists.squeakfoundation.org