On Sat, May 26, 2012 at 3:02 PM, Guillermo Polito
<guillermopolito@gmail.com> wrote:
This test illustrate the problem:
testMethodPackageFromObsoleteClass
��� | pack method |
��� pack := self createNewPackageNamed: 'P1'.
��� foo := self createNewClassNamed: #FooForTest inPackage: pack.
��� foo compileSilently: 'bar ^42'.
��� method := foo>>#bar.
��� foo removeFromSystem.
��� self assert: (method packageFromOrganizer: pack organizer)equals: foo package.
This seems to happen in non silent tests that
- create a class/trait for test
- sends an announcement with a compiled method instance (like, method recategorized)
- remove the class/trait because they are for test only :)
- then, since the announcements are handled asychronously, a method from an obsolete category reaches somewhere, and RPackage explodes.
This is *exactlly* the problem I faced when running Fuel tests in Pharo 2.0.
I could have time to fix it, nor anyone else. Therefore, what I did is to realy fix Fuel to have ALL tests completly silent. And of course that fixed the problem.
Nice that at least you could write a test :)