Kernel image and SUnit

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Kernel image and SUnit

Pavel Krivanek
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.

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

Reply | Threaded
Open this post in threaded view
|

Re: Kernel image and SUnit

Klaus D. Witzel
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


Reply | Threaded
Open this post in threaded view
|

Re: Kernel image and SUnit

Pavel Krivanek
Hi Klaus,

On 7/9/06, Klaus D. Witzel <[hidden email]> wrote:

> 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?

Class XxxObject is part of mirrors so it isn't relevant problem but I
will fix it, thanks.

> 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

Well, this can help us to clean the kernel image. Try to remove what
you can, it may be useful for later license audit.

"Perfection is achieved, not when there is nothing more to add, but
when there is nothing left to take away." -- - Antoine de Saint
Exupery

-- Pavel

Reply | Threaded
Open this post in threaded view
|

Re: Kernel image and SUnit

Pavel Krivanek
In reply to this post by Pavel Krivanek
> 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.
>
> 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 hope that I have tried all related tests. This is the report:

Rejected tests
==============

(KernelTests-Objects) testNewTileMorphRepresentative (Morphic)
(KernelTests-Numbers) testIntegerByteEncoded (Morphic)

Tests that fail in the full image
=================================

ClassBuilderChangeClassTypeTest testClassCreationAndChange
     MANTIS 0004260
ComplexTest testEquality
     MANTIS 0004261, 0004262, 004263
SemaphoreTest testCriticalIfError
     7044 OK
FloatTest testZero2
     MANTIS 0004264
FloatTest testNaN5
     MANTIS 0004264
WeakMessageSendTest testClassComment
     7044 OK
BlockContextTest
     7044 OK
PureBehaviorTest
     7044 OK
TraitCompositionTest testClassMethodsTakePrecedenceOverTraitsMethods
     7044 OK
TraitFileOutTest
     7044 OK
TraitMethodDescriptionTest testArgumentNames
     7044 OK
TraitMethodDescriptionTest testConflictMethodCreation
     7044 OK
TraitTest
     7044 OK
DictionaryTest testKeyAtValue
     7044 OK
WeakIdentityKeyDictionaryTest testNoNils
     MANTIS 0004265
EventManagerTest testClassComment
     7044 OK
MethodReferenceTest>>testClassComment
     7044 OK
FileDirectoryTest>>testExists
     MANTIS 0003649
EventManagerTes testClassComment
     7044 OK

ObjectFinalizerTests testFinalizationOfEquals
SendsInfoTest testTestCompileSuperBranch
SendsInfoTest testCompileSuperBranch

Tests that fail
=================================

ClassTest testRootsofTheWorld
     FIXED
TextFontReferenceTest testEquality
     FIXED
TextFontReferenceTest testHash
     FIXED
StringTest testEquality
     FIXED

ClassTest testRenaming
ExceptionTests testTimeout
ChangeHooksTest testClassRecategorizedEvent2

PureBehaviorTest
RequiresOriginalTestCase testTwoLevelRequiresWithUnalignedSuperSendsStartLate
RequiresOriginalTestCase testTwoLevelRequiresWithUnalignedSuperSends
RequiresOriginalTestCase testSins
RequiresOriginalTestCase testTwoLevelRequiresWithUnalignedSuperSends
RequiresOriginalTestCase testSins
RequiresOriginalTestCase testTwoLevelRequiresWithUnalignedSuperSendsStartLate
TraitFileOutTest
TraitTest

I suppose that some traits related test failures in the kernel image
will be solved after upgrade the kernel from 7033 to 7044

-- Pavel

Reply | Threaded
Open this post in threaded view
|

Re: Kernel image and SUnit

Klaus D. Witzel
In reply to this post by Pavel Krivanek
Hi Pavel,

on Sat, 15 Jul 2006 13:44:41 +0200, you wrote:

> Hi Klaus,
>
> On 7/9/06, Klaus D. Witzel <[hidden email]> wrote:
...
>> 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?
>
> Class XxxObject is part of mirrors so it isn't relevant problem but I
> will fix it, thanks.

Since I do not have the time nor patience for finding out what will happen  
in step 10 when step 5 of your list fails, what's your advice?

a) wait for a fix to the "not relevant problem"

b) skip step 5

c) fix XxxObject in step 5 to be Object

d) put something better here

/Klaus


Reply | Threaded
Open this post in threaded view
|

Re: Kernel image and SUnit

Pavel Krivanek
Hi Klaus,

On 7/15/06, Klaus D. Witzel <[hidden email]> wrote:

> Hi Pavel,
>
> on Sat, 15 Jul 2006 13:44:41 +0200, you wrote:
> > Hi Klaus,
> >
> > On 7/9/06, Klaus D. Witzel <[hidden email]> wrote:
> ...
> >> 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?
> >
> > Class XxxObject is part of mirrors so it isn't relevant problem but I
> > will fix it, thanks.
>
> Since I do not have the time nor patience for finding out what will happen
> in step 10 when step 5 of your list fails, what's your advice?
>
> a) wait for a fix to the "not relevant problem"
>
> b) skip step 5
>
> c) fix XxxObject in step 5 to be Object
>
> d) put something better here
>
> /Klaus

This class is redefined while bootstrapping again.
I suppose that I will release updated version for Squeak 7044 today so a) :-)

-- Pavel