Kernel image and SUnit

Klaus D. Witzel klaus.witzel at cobss.com
Sun Jul 9 16:29:39 UTC 2006


Hi Pavel,

on Thu, 06 Jul 2006 22:39:21 +0200, you wrote:

> I have tried to import SUnit into the 3.9 kernel image. I have simply
> exported and extracted MC package. SUnit tests passed without errors.

This is a great improvement, thanx a lot!

> Then I have tried tests from category KernelTests-Objects (with
> Tests-Utilities).
> Only three tests failed:
>  - 2-times testNewTileMorphRepresentative (surprisingly if we have no
> Morphic :-)
>  - testClassCommnet WeakMessageSendTest (the class has no comment, it
> fails in original image too)
>
> So good news, we have well working SUnit for this image.

:)

> -- Pavel

I tried to reproduce a 7033boot.image using your 01-10 files. In

05 - ChangesOrganizer.st

is begins with XxxObject subclass: #ChangesOrganizer but there is no  
XxxObject?

BTW: I'm about to color the methods used in your kernel. For example:
level 1 : methods invoked by image startup
level 2 : methods invoked by level 1 startup methods

and also:
level 1 : methods invoked by tests
level 2 : methods invoked by level 1 test methods

and also primitive methods which have fallen through (see example report  
 from a "naked" 7033 image start up below).

I'm using
- http://people.squeakfoundation.org/proj/Goya/
for that, which can produce nice sets of methods which do or don't invoke  
each other.

Let me know what other requirements you have for the 3.9 kernel image,  
perhaps I can address them with method coloring.

/Klaus

============================
primitive methods which have fallen trough,
picture taken shortly after 7033 image startup:
============================
BitBlt 30 copyBits 3 1
BitBlt 30 primDisplayString:from:to:map:xTable:kern: 3 1
SmallInteger 30 / 1 1
SmallInteger 30 < 1 1
SmallInteger 30 + 1 1
SmallInteger 30 = 1 1
SmallInteger 30 * 1 1
SmallInteger 30 ~= 1 1
LargePositiveInteger 30 \\ 1 1
LargePositiveInteger 30 // 1 1
LargePositiveInteger 30 quo: 1 1
LargePositiveInteger 30 + 1 1
LargePositiveInteger 30 - 1 1
LargePositiveInteger 30 * 1 1
Array 30 replaceFrom:to:with:startingAt: 1 1
ByteArray 30 replaceFrom:to:with:startingAt: 1 1
WriteStream 30 nextPut: 3 1
BlockContext 30 ensure: 1 1
BlockContext 30 newProcess 3 1
CharacterScanner 30  
basicScanCharactersFrom:to:in:rightX:stopConditions:kern: 3 1
MultiCharacterScanner 30  
basicScanCharactersFrom:to:in:rightX:stopConditions:kern: 3 1

legend:

  30 can be ignored, it is the tag used for instrumenting
   that particular method

  3 1 and 1 1 can be ignored, it tells about call site
   category and callee site category (as bit vectors)

  what remains is class name and method name




More information about the Squeak-dev mailing list