Wish List for Tests

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

Wish List for Tests

Torsten Bergmann
Just a short wish list for 1.1. regarding test cases:

 1. After running all tests in 1.0 I still have three files
    left on hard disk (rb-spelling.dat, foobug6933,  
    NSDataStreamTest###testGlobal test)
 
    If we are able to create a Continuos Integration system
    (for core and dev image) we should check in a final test
    case that no files are left.

 3. We still have classes with methods that are not categorized.
    For instance the methods in RenderBugz (a test case subclass)
    could be easily categorized.

    One quality check for the CI system could be to check if
    all methods in a release are categorized.
   
 2. When deleting all test cases using
   
      TestCase allSubclasses do: [:each | each removeFromSystem ]

    I have also Monticello packages changed that are not in test
    packages.    

    Hope we find the time to clearly separate the tests from
    the "core" package to clean unload the tests and continue
    the modularization efforts.

However ... the only constant is change and our progress so
far is really good.

Bye
T.




   
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Wish List for Tests

Lukas Renggli
>  1. After running all tests in 1.0 I still have three files
>    left on hard disk (rb-spelling.dat, foobug6933,
>    NSDataStreamTest###testGlobal test)
>
>    If we are able to create a Continuos Integration system
>    (for core and dev image) we should check in a final test
>    case that no files are left.

It is ugly if tests leave garbage, but this is not really a problem
for a continuous integration system. At least my setup always starts
builds at a clean place.

>  3. We still have classes with methods that are not categorized.
>    For instance the methods in RenderBugz (a test case subclass)
>    could be easily categorized.
>
>    One quality check for the CI system could be to check if
>    all methods in a release are categorized.

SmallLint checks that. In PharoCore there are over 30000 lint issues.
It is a lot of work to clean that all up. Several people already went
through some of the most important rules and fixed them.

>  2. When deleting all test cases using
>
>      TestCase allSubclasses do: [:each | each removeFromSystem ]
>
>    I have also Monticello packages changed that are not in test
>    packages.
>
>    Hope we find the time to clearly separate the tests from
>    the "core" package to clean unload the tests and continue
>    the modularization efforts.

I use the following script on my build server:

     http://github.com/renggli/builder/blob/master/scripts/killtests.st

This results in a clean image without system tests.

Lukas

--
Lukas Renggli
www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Wish List for Tests

Stéphane Ducasse
In reply to this post by Torsten Bergmann

On Apr 16, 2010, at 10:41 AM, Torsten Bergmann wrote:

> Just a short wish list for 1.1. regarding test cases:
>
> 1. After running all tests in 1.0 I still have three files
>    left on hard disk (rb-spelling.dat, foobug6933,  
>    NSDataStreamTest###testGlobal test)
>
>    If we are able to create a Continuos Integration system
>    (for core and dev image) we should check in a final test
>    case that no files are left.

+ 1

>
> 3. We still have classes with methods that are not categorized.
>    For instance the methods in RenderBugz (a test case subclass)
>    could be easily categorized.
>
>    One quality check for the CI system could be to check if
>    all methods in a release are categorized.

+ 1
did you try to use the autocategorizer?
This is on my todo but no time

> 2. When deleting all test cases using
>
>      TestCase allSubclasses do: [:each | each removeFromSystem ]
>
>    I have also Monticello packages changed that are not in test
>    packages.    
>
>    Hope we find the time to clearly separate the tests from
>    the "core" package to clean unload the tests and continue
>    the modularization efforts.


Oops.

>
> However ... the only constant is change and our progress so
> far is really good.



4. We should have a consistent naming of Test-Package



And I should finish this new Package stuff........

Stef


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Wish List for Tests

Stéphane Ducasse
In reply to this post by Torsten Bergmann
open bug entry and let us closed them.


On Apr 16, 2010, at 10:41 AM, Torsten Bergmann wrote:

> Just a short wish list for 1.1. regarding test cases:
>
> 1. After running all tests in 1.0 I still have three files
>    left on hard disk (rb-spelling.dat, foobug6933,  
>    NSDataStreamTest###testGlobal test)
>
>    If we are able to create a Continuos Integration system
>    (for core and dev image) we should check in a final test
>    case that no files are left.
>
> 3. We still have classes with methods that are not categorized.
>    For instance the methods in RenderBugz (a test case subclass)
>    could be easily categorized.
>
>    One quality check for the CI system could be to check if
>    all methods in a release are categorized.
>
> 2. When deleting all test cases using
>
>      TestCase allSubclasses do: [:each | each removeFromSystem ]
>
>    I have also Monticello packages changed that are not in test
>    packages.    
>
>    Hope we find the time to clearly separate the tests from
>    the "core" package to clean unload the tests and continue
>    the modularization efforts.
>
> However ... the only constant is change and our progress so
> far is really good.
>
> Bye
> T.
>
>
>
>
>
> --
> GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Wish List for Tests

Adrian Lienhard
In reply to this post by Lukas Renggli
>>  2. When deleting all test cases using
>>
>>      TestCase allSubclasses do: [:each | each removeFromSystem ]
>>
>>    I have also Monticello packages changed that are not in test
>>    packages.
>>
>>    Hope we find the time to clearly separate the tests from
>>    the "core" package to clean unload the tests and continue
>>    the modularization efforts.

We have that already. I modularized the tests in PharoCore to make them cleanly unloadable. Do the following for unloading all tests from PharoCore (in ScriptLoader new>>cleanUpForProduction):

#(Tests CollectionsTests CompilerTests FreeTypeTests GraphicsTests KernelTests MorphicTests MultilingualTests NetworkTests ToolsTest 'Gofer-Tests') do: [ :each | (MCPackage named: each) unload ].

If you run this in a Pharo image, it also does not leave any dirty packages, but obviously it does not remove the tests from external packages. To achieve this, the maintainers of external packages would need to separate the tests from the rest of their code. I don't think this is very important, though, because unloading tests is most important in PharoCore (that is, to strip down an image, you probably don't start from Pharo but PharoCore anyway).

Cheers,
Adrian
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Wish List for Tests

Mariano Martinez Peck


On Fri, Apr 16, 2010 at 11:08 AM, Adrian Lienhard <[hidden email]> wrote:
>>  2. When deleting all test cases using
>>
>>      TestCase allSubclasses do: [:each | each removeFromSystem ]
>>


would be great to move all this stuff

    "unload all test packages"
    #(Tests CollectionsTests CompilerTests FreeTypeTests GraphicsTests KernelTests MorphicTests MultilingualTests NetworkTests ToolsTest 'Gofer-Tests')
        do: [ :each | (MCPackage named: each) unload ].
   
    "unload SUnit"
    Smalltalk at: #TestCase ifPresent: [ :class |
        SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class ].
    #(SUnitGUI SUnit) do: [ :each | (MCPackage named: each) unload ].
    AppRegistry removeObsolete.
    TheWorldMenu removeObsolete.


to a method called unloadAllTestsAndSUnit

so that it can be reused and not only in cleanUpForProduction

cheers

mariano
 
>>    I have also Monticello packages changed that are not in test
>>    packages.
>>
>>    Hope we find the time to clearly separate the tests from
>>    the "core" package to clean unload the tests and continue
>>    the modularization efforts.

We have that already. I modularized the tests in PharoCore to make them cleanly unloadable. Do the following for unloading all tests from PharoCore (in ScriptLoader new>>cleanUpForProduction):

#(Tests CollectionsTests CompilerTests FreeTypeTests GraphicsTests KernelTests MorphicTests MultilingualTests NetworkTests ToolsTest 'Gofer-Tests') do: [ :each | (MCPackage named: each) unload ].

If you run this in a Pharo image, it also does not leave any dirty packages, but obviously it does not remove the tests from external packages. To achieve this, the maintainers of external packages would need to separate the tests from the rest of their code. I don't think this is very important, though, because unloading tests is most important in PharoCore (that is, to strip down an image, you probably don't start from Pharo but PharoCore anyway).

Cheers,
Adrian
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Wish List for Tests

Stéphane Ducasse
http://code.google.com/p/pharo/issues/detail?id=2331


;)
On Apr 20, 2010, at 5:50 AM, Mariano Martinez Peck wrote:

>
>
> On Fri, Apr 16, 2010 at 11:08 AM, Adrian Lienhard <[hidden email]> wrote:
> >>  2. When deleting all test cases using
> >>
> >>      TestCase allSubclasses do: [:each | each removeFromSystem ]
> >>
>
>
> would be great to move all this stuff
>
>     "unload all test packages"
>     #(Tests CollectionsTests CompilerTests FreeTypeTests GraphicsTests KernelTests MorphicTests MultilingualTests NetworkTests ToolsTest 'Gofer-Tests')
>         do: [ :each | (MCPackage named: each) unload ].
>    
>     "unload SUnit"
>     Smalltalk at: #TestCase ifPresent: [ :class |
>         SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class ].
>     #(SUnitGUI SUnit) do: [ :each | (MCPackage named: each) unload ].
>     AppRegistry removeObsolete.
>     TheWorldMenu removeObsolete.
>
>
> to a method called unloadAllTestsAndSUnit
>
> so that it can be reused and not only in cleanUpForProduction
>
> cheers
>
> mariano
>  
> >>    I have also Monticello packages changed that are not in test
> >>    packages.
> >>
> >>    Hope we find the time to clearly separate the tests from
> >>    the "core" package to clean unload the tests and continue
> >>    the modularization efforts.
>
> We have that already. I modularized the tests in PharoCore to make them cleanly unloadable. Do the following for unloading all tests from PharoCore (in ScriptLoader new>>cleanUpForProduction):
>
> #(Tests CollectionsTests CompilerTests FreeTypeTests GraphicsTests KernelTests MorphicTests MultilingualTests NetworkTests ToolsTest 'Gofer-Tests') do: [ :each | (MCPackage named: each) unload ].
>
> If you run this in a Pharo image, it also does not leave any dirty packages, but obviously it does not remove the tests from external packages. To achieve this, the maintainers of external packages would need to separate the tests from the rest of their code. I don't think this is very important, though, because unloading tests is most important in PharoCore (that is, to strip down an image, you probably don't start from Pharo but PharoCore anyway).
>
> Cheers,
> Adrian
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Wish List for Tests

csrabak
Is this for 1.0 or 1.1?
 
--
Cesar Rabak

Em 20/04/2010 03:53, Stéphane Ducasse < [hidden email] > escreveu:
http://code.google.com/p/pharo/issues/detail?id=2331


;)
On Apr 20, 2010, at 5:50 AM, Mariano Martinez Peck wrote:

>
>
> On Fri, Apr 16, 2010 at 11:08 AM, Adrian Lienhard  wrote:
> >>  2. When deleting all test cases using
> >>
> >>      TestCase allSubclasses do: [:each | each removeFromSystem ]
> >>
>
>
> would be great to move all this stuff
>
>     "unload all test packages"
>     #(Tests CollectionsTests CompilerTests FreeTypeTests GraphicsTests KernelTests MorphicTests MultilingualTests NetworkTests ToolsTest 'Gofer-Tests')
>         do: [ :each | (MCPackage named: each) unload ].
>    
>     "unload SUnit"
>     Smalltalk at: #TestCase ifPresent: [ :class |
>         SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class ].
>     #(SUnitGUI SUnit) do: [ :each | (MCPackage named: each) unload ].
>     AppRegistry removeObsolete.
>     TheWorldMenu removeObsolete.
>
>
> to a method called unloadAllTestsAndSUnit
>
> so that it can be reused and not only in cleanUpForProduction
>
> cheers
>
> mariano
>  
> >>    I have also Monticello packages changed that are not in test
> >>    packages.
> >>
> >>    Hope we find the time to clearly separate the tests from
> >>    the "core" package to clean unload the tests and continue
> >>    the modularization efforts.
>
> We have that already. I modularized the tests in PharoCore to make them cleanly unloadable. Do the following for unloading all tests from PharoCore (in ScriptLoader new>>cleanUpForProduction):
>
> #(Tests CollectionsTests CompilerTests FreeTypeTests GraphicsTests KernelTests MorphicTests MultilingualTests NetworkTests ToolsTest 'Gofer-Tests') do: [ :each | (MCPackage named: each) unload ].
>
> If you run this in a Pharo image, it also does not leave any dirty packages, but obviously it does not remove the tests from external packages. To achieve this, the maintainers of external packages would need to separate the tests from the rest of their code. I don't think this is very important, though, because unloading tests is most important in PharoCore (that is, to strip down an image, you probably don't start from Pharo but PharoCore anyway).
>
> Cheers,
> Adrian
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Wish List for Tests

Stéphane Ducasse
as indicated 1.1

Stef

On Apr 20, 2010, at 9:18 PM, [hidden email] wrote:

> Is this for 1.0 or 1.1?
>
> --
> Cesar Rabak
>
> Em 20/04/2010 03:53, Stéphane Ducasse < [hidden email] > escreveu:
> http://code.google.com/p/pharo/issues/detail?id=2331
>
>
> ;)
> On Apr 20, 2010, at 5:50 AM, Mariano Martinez Peck wrote:
>
>>
>>
>> On Fri, Apr 16, 2010 at 11:08 AM, Adrian Lienhard  wrote:
>>>> 2. When deleting all test cases using
>>>>
>>>>     TestCase allSubclasses do: [:each | each removeFromSystem ]
>>>>
>>
>>
>> would be great to move all this stuff
>>
>>    "unload all test packages"
>>    #(Tests CollectionsTests CompilerTests FreeTypeTests GraphicsTests KernelTests MorphicTests MultilingualTests NetworkTests ToolsTest 'Gofer-Tests')
>>        do: [ :each | (MCPackage named: each) unload ].
>>
>>    "unload SUnit"
>>    Smalltalk at: #TestCase ifPresent: [ :class |
>>        SystemChangeNotifier uniqueInstance noMoreNotificationsFor: class ].
>>    #(SUnitGUI SUnit) do: [ :each | (MCPackage named: each) unload ].
>>    AppRegistry removeObsolete.
>>    TheWorldMenu removeObsolete.
>>
>>
>> to a method called unloadAllTestsAndSUnit
>>
>> so that it can be reused and not only in cleanUpForProduction
>>
>> cheers
>>
>> mariano
>>
>>>>   I have also Monticello packages changed that are not in test
>>>>   packages.
>>>>
>>>>   Hope we find the time to clearly separate the tests from
>>>>   the "core" package to clean unload the tests and continue
>>>>   the modularization efforts.
>>
>> We have that already. I modularized the tests in PharoCore to make them cleanly unloadable. Do the following for unloading all tests from PharoCore (in ScriptLoader new>>cleanUpForProduction):
>>
>> #(Tests CollectionsTests CompilerTests FreeTypeTests GraphicsTests KernelTests MorphicTests MultilingualTests NetworkTests ToolsTest 'Gofer-Tests') do: [ :each | (MCPackage named: each) unload ].
>>
>> If you run this in a Pharo image, it also does not leave any dirty packages, but obviously it does not remove the tests from external packages. To achieve this, the maintainers of external packages would need to separate the tests from the rest of their code. I don't think this is very important, though, because unloading tests is most important in PharoCore (that is, to strip down an image, you probably don't start from Pharo but PharoCore anyway).
>>
>> Cheers,
>> Adrian
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project