[squeak-dev] tests in trunk: very strange
nicolas.cellier.aka.nice at gmail.com
Fri Mar 26 19:57:27 UTC 2010
2010/3/26 Eliot Miranda <eliot.miranda at gmail.com>:
> On Fri, Mar 26, 2010 at 12:01 PM, Michael Haupt <mhaupt at gmail.com> wrote:
>> environment: Mac VM 4.2.3beta1U. Running all tests in a fresh trunk
>> yields "2641 run, 2618 passes, 6 expected failures, 8 failures, 2
>> errors, 7 unexpected passes" (see attachment 1). So far so good, but
>> clicking on the second error (LocaleTest >> #testLocaleChanged) yields
>> attachment 2 - the test method is not even on the call stack. It
>> doesn't look right.
>> Insights, anyone?
Oops, did I remove it a bit early ?
My images are expunged for several months of these objects...
Can you try (Utilities postRecompileCleanup) and tell if it fixed it ?
> The ObsoleteMethodProperties instance will be due to some compiled method or
> process being held onto by some reference that needs reinitializing.
> Hopefully the instance will contain a valid selector which will be a big
> The release process should include a step that at least reinitializes all
> background processes, sorted collection blocks etc, and hence ensures that
> all compiled methods are up-to-date.
> One release test would be to compare CompiledMethod allInstances with those
> collected by traversing the class hierarchy. The two should be the same
> set, except for perhaps the doit used to evaluate this. e.g.
> | installedMethods allMethods |
> allMethods := CompiledMethod allInstances asSet.
> installedMethods := Set new: allMethods size.
> installedMethods add: thisContext method. "in case this is a doit"
> Smalltalk rootsOfTheWorld do:
> class withAllSubclasses do:
> behavior selectorsAndMethodsDo:
> [:s :m| installedMethods add: m]]].
> self assert: allMethods size = installedMethods size
More information about the Squeak-dev