[Q] A new attempt to create a Squeak Test Server + Image Fingerprints

Markus Gaelli gaelli at emergent.de
Mon Dec 13 09:38:33 UTC 2004


Hi folks,

I plan to resurrect the Test Server ("Test Server Image Tester" on 
SqueakMap), so it would make sense to have lots of regression tests.

The test server basically creates a new image, and loads some packages 
from SqueakMap into this image (could be several base images, not yet 
programmed though), then runs the tests in the new image, where the 
results are collected and put in some mail (later on some web site), 
and the image is destroyed.

One way to get more smoke tests besides our already existing SUnit 
tests, might be to

- use all example* methods, and run them, and then get rid of the 
morphs afterwards.
- identify more parameterless methods on some class sides, and run them.
- exploit "initializedInstance" from Ted and run all instance side 
parameterless methods on these "initialized instances".

In a first attempt, one could at least identify changed behaviors (did 
run before, does not run now, and vice versa) between different image 
versions / builds.

Not to have to build a new image for each executed method would mean to 
ensure, that "after the test is before the test", meaning that after 
some (maybe hardcore) way to destroy any possibly opened morphs, the 
state of the image after the execution of the method should be the same 
as before.

So two questions:

- Does this approach sound reasonable?
- Is there an easy way to get the fingerprint of some Image (possibly 
excluding any time information)? ImageSegments and Image saving 
techniques comes to my mind here. But I am not sure if this could be 
feasible or if I am too naive here. So I would be very happy for some 
concrete advices on that.

Cheers,

Markus Gälli				   Software Composition Group
markus.gaelli at iam.unibe.ch	University of Bern, Switzerland

"One key idea is to keep the system running while testing and
especially while making changes." Alan Kay



More information about the Squeak-dev mailing list