[BUG] 0004990: #requiredSelectors is wrong

Daniel Vainsencher danielv at techunix.technion.ac.il
Mon Sep 18 19:20:55 UTC 2006


Thanks for testing! and for showing the bug in a very reproducible 
manner. I've updated the mantis entry, with a version that fixes the 
bug, please verify that that version works for you (read the note).

BTW, next time please attach the test to the bug itself, a person might 
or might not see the squeak-dev copy.

Summary of the bug - calculating required methods is slow, so much of 
the effort was placed into the case in which caching is made practical 
by client cooperation. Including the testing effort. The bug was in the 
code that handles non-cooperative clients.

Daniel

Damien Cassou wrote:
> http://bugs.impara.de/view.php?id=4990
>
> It seems there is a bug in 3.9.
> Here is a test case:
>
> ATestCase>>testRequirement
>   "
>   self debug: #testRequirement
>   "
>   | class |
>   class := Object
>             subclass: #AClassForTest
>             instanceVariableNames: ''
>             classVariableNames: ''
>             poolDictionaries: ''
>             category: self class category.
>   [
>    class compile: 'call
>                     ^ self isCalled'.
>    self assert: (class requiredSelectors includes: #isCalled).
>
>
>    class compile: 'isCalled
>                     ^ 1'.
>    "Fail here:"
>    self deny: (class requiredSelectors includes: #isCalled)]
>
>   ensure: [class removeFromSystem]
>





More information about the Squeak-dev mailing list