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.

WIll open an issue.
Guille

Reply via email to