About package and test numbering

Richard Staehli rastaehli at mac.com
Sun Jun 12 18:28:54 UTC 2005


I think you are right that a numbering convention could identify the 
relation between a package version and the correct test version, but 
your example demonstrates how this convention might be confusing or 
wrongly applied:

On Sunday, June 12, 2005, Stephane Ducasse wrote:

> yes this is what we learned the hard way (impossible to go in the
> past and identify the tests
> covering the right version old version).
>
> I have the impression that having the same number for tests than for
> the package works
>
> PA1             PAT1
> PA1.2           PAT1 "nothing changes in the tests
> PA2             PAT1 "nothing
> PA3
> PA4             PAT4 "tests changes to cover version 4"
> PA4             PAT4.1 "fixed tests alone
> PA5             PAT4.1
> PA6             PAT4.1
> PA7             PAT7  "tests changed and are in sync with package7

If you look for tests for PA3, how do you know that PAT1 is the right 
version.  It seems likely that PA1 might have been changed (twice) and 
that the developers simply forgot to update the tests.

The question of what tests are intended for a particular version of a 
package is, or should be, the same as the question of what type 
(functional behavior) the package is supposed to implement.  While we 
don't need a static type system in the Smalltalk language, we already 
have a behavioral testing system in the Smalltalk development 
environment.  We can make do with informal naming and version numbering 
conventions to express the relationship between package and tests, or 
we could assert that package tests define (albeit informally and 
incompletely)  the types in a package and require that a package 
declare its type by including a reference to the correct test version 
(test package name and major version number).

Richard Staehli




More information about the Squeak-dev mailing list