I have I case where I absolutely need to get rid of all obsolete classes but #fixObsoleteReferences simply refuses to nuke all entries in the #ObsoleteSubclasses variable of Behavior. The classes and meta classes that don't go away are subclasses of ClassFactoryForTestCase and I do send it the #cleanup method.
I noticed that this only is true as long as the test runner is open. Once I close the test runner, #fixObsoleteReferences succeeds. But that doesn't really help me because my test case fails *in* the test runner of courseā¦
Here's a test case that illustrates my problem:
ClassFactoryForTestCaseTest>>testObsoleteReferences factory delete: factory new class. factory cleanUp. self shouldnt: [ Smalltalk fixObsoleteReferences ] raise: Error
Image: 4.4 Build: #12320 VM: SqueakVM 4.2.5.bea1U
Cheers, Max