Pharo 1.1 failing tests testAllLocalCallsOn

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

Pharo 1.1 failing tests testAllLocalCallsOn

Nicolas Cellier
testAllLocalCallsOn
        "
        self debug: #testAllLocalCallsOn
        "
       
        | set |
        set := Array allLocalCallsOn: #printOn:.
        self assert: (set asArray =  #('WeakActionSequence printOn:' 'Object
fullPrintString' 'Array printOn:' 'SequenceableCollection
asStringWithCr' 'Behavior printOn:' 'Class fileOutPool:onFileStream:'
'Object printStringLimitedTo:' 'Collection printNameOn:'
'ActionSequence printOn:' 'FixedIdentitySet printOn:')).
        "This is a bit strange that allLocalCallsOn: returns a list of string!"

This one is bad for two reasons:
1) it relies on an arbitrary order in Set. For example, just change
default size of sets and the order will change. Eventually you could
test set = #() asSet but see 2)
2) it relies on a particular snapshot of pharo and prevent pharo from evolving.

Moreover, if a user adds its own sender of printOn: in an extension or
a subclass, this will make the test fail...

Such test should create a class hierarchy dedicated to the test with a
know set of senders and test
Either correct it or remove it.

Nicolas

_______________________________________________
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: Pharo 1.1 failing tests testAllLocalCallsOn

Nicolas Cellier
Same for testAllCallsOn, this test is obsolete as soon as you make
modifications in Pharo :)

Such test should use specific classes and messages specially crafted
for the test

Nicolas

2010/1/16 Nicolas Cellier <[hidden email]>:

> testAllLocalCallsOn
>        "
>        self debug: #testAllLocalCallsOn
>        "
>
>        | set |
>        set := Array allLocalCallsOn: #printOn:.
>        self assert: (set asArray =  #('WeakActionSequence printOn:' 'Object
> fullPrintString' 'Array printOn:' 'SequenceableCollection
> asStringWithCr' 'Behavior printOn:' 'Class fileOutPool:onFileStream:'
> 'Object printStringLimitedTo:' 'Collection printNameOn:'
> 'ActionSequence printOn:' 'FixedIdentitySet printOn:')).
>        "This is a bit strange that allLocalCallsOn: returns a list of string!"
>
> This one is bad for two reasons:
> 1) it relies on an arbitrary order in Set. For example, just change
> default size of sets and the order will change. Eventually you could
> test set = #() asSet but see 2)
> 2) it relies on a particular snapshot of pharo and prevent pharo from evolving.
>
> Moreover, if a user adds its own sender of printOn: in an extension or
> a subclass, this will make the test fail...
>
> Such test should create a class hierarchy dedicated to the test with a
> know set of senders and test
> Either correct it or remove it.
>
> Nicolas
>

_______________________________________________
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: Pharo 1.1 failing tests testAllLocalCallsOn

Stéphane Ducasse
Yes thanks.
I will probably kill them.
or create a fixture that is stable

On Jan 16, 2010, at 2:47 PM, Nicolas Cellier wrote:

> Same for testAllCallsOn, this test is obsolete as soon as you make
> modifications in Pharo :)
>
> Such test should use specific classes and messages specially crafted
> for the test
>
> Nicolas
>
> 2010/1/16 Nicolas Cellier <[hidden email]>:
>> testAllLocalCallsOn
>>        "
>>        self debug: #testAllLocalCallsOn
>>        "
>>
>>        | set |
>>        set := Array allLocalCallsOn: #printOn:.
>>        self assert: (set asArray =  #('WeakActionSequence printOn:' 'Object
>> fullPrintString' 'Array printOn:' 'SequenceableCollection
>> asStringWithCr' 'Behavior printOn:' 'Class fileOutPool:onFileStream:'
>> 'Object printStringLimitedTo:' 'Collection printNameOn:'
>> 'ActionSequence printOn:' 'FixedIdentitySet printOn:')).
>>        "This is a bit strange that allLocalCallsOn: returns a list of string!"
>>
>> This one is bad for two reasons:
>> 1) it relies on an arbitrary order in Set. For example, just change
>> default size of sets and the order will change. Eventually you could
>> test set = #() asSet but see 2)
>> 2) it relies on a particular snapshot of pharo and prevent pharo from evolving.
>>
>> Moreover, if a user adds its own sender of printOn: in an extension or
>> a subclass, this will make the test fail...
>>
>> Such test should create a class hierarchy dedicated to the test with a
>> know set of senders and test
>> Either correct it or remove it.
>>
>> Nicolas
>>
>
> _______________________________________________
> 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: Pharo 1.1 failing tests testAllLocalCallsOn

Stéphane Ducasse
I opened the following bug entry:

        - first allLocalCallsOn: should return methodRefernece and not strings
        - second we should get some fixture and tests
       
        http://code.google.com/p/pharo/issues/list?thanks=1844
I removed this tests
Stef



On Jan 16, 2010, at 7:35 PM, Stéphane Ducasse wrote:

> Yes thanks.
> I will probably kill them.
> or create a fixture that is stable
>
> On Jan 16, 2010, at 2:47 PM, Nicolas Cellier wrote:
>
>> Same for testAllCallsOn, this test is obsolete as soon as you make
>> modifications in Pharo :)
>>
>> Such test should use specific classes and messages specially crafted
>> for the test
>>
>> Nicolas
>>
>> 2010/1/16 Nicolas Cellier <[hidden email]>:
>>> testAllLocalCallsOn
>>>       "
>>>       self debug: #testAllLocalCallsOn
>>>       "
>>>
>>>       | set |
>>>       set := Array allLocalCallsOn: #printOn:.
>>>       self assert: (set asArray =  #('WeakActionSequence printOn:' 'Object
>>> fullPrintString' 'Array printOn:' 'SequenceableCollection
>>> asStringWithCr' 'Behavior printOn:' 'Class fileOutPool:onFileStream:'
>>> 'Object printStringLimitedTo:' 'Collection printNameOn:'
>>> 'ActionSequence printOn:' 'FixedIdentitySet printOn:')).
>>>       "This is a bit strange that allLocalCallsOn: returns a list of string!"
>>>
>>> This one is bad for two reasons:
>>> 1) it relies on an arbitrary order in Set. For example, just change
>>> default size of sets and the order will change. Eventually you could
>>> test set = #() asSet but see 2)
>>> 2) it relies on a particular snapshot of pharo and prevent pharo from evolving.
>>>
>>> Moreover, if a user adds its own sender of printOn: in an extension or
>>> a subclass, this will make the test fail...
>>>
>>> Such test should create a class hierarchy dedicated to the test with a
>>> know set of senders and test
>>> Either correct it or remove it.
>>>
>>> Nicolas
>>>
>>
>> _______________________________________________
>> 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