[squeak-dev] The Inbox: Tests-bp.99.mcz

Bert Freudenberg bert at freudenbergs.de
Mon Nov 1 08:41:34 UTC 2010


On 31.10.2010, at 19:12, Nicolas Cellier wrote:

> 2010/10/31 Bernhard Pieber <bernhard at pieber.com>:
>> I just found out that doing MCWorkingCopy flushObsoletePackageInfos breaks the PackageDependencyTest. This fixes the test. It should only be loaded after the flushing, because without the flushing it breaks the test. :-/
>> 
>> The reason is that PackageInfos can overlap. There is an obsolete PackageInfo named 'PackageInfo' and a PackageInfo named 'PackageInfo-Base' Monticello knows about.
>> 
>> The method PackageOrganizer>>packageOfClass:ifNone: does not deal with this potential overlapping. It just answers the obsolete one because it comes first in its list of packages.

That seems to be a bug, all code should iterate through all packages a class belongs to. E.g., Monticello does. 

>> IMO the overlapping should be regarded as an error because it will probably lead to a lot of unintended side effects. Does anyone know a good reason for allowing overlapping PackageInfos?
>> 
>> Cheers,
>> Bernhard
>> 
> 
> One reason could be that it enables comparing
> Pharo/Collections-Abstract with Squeak/Collections within MC, but I'm
> not sure.
> 
> Nicolas

PackageInfo was designed to be universal. It is an arbitrary collection of classes and methods. It is not a partitioning - this is only how we use it in trunk with Monticello. But neither PackageInfo nor Monticello enforces that. Overlaps are perfectly normal even though we do not use them in the trunk process. 

- Bert -





More information about the Squeak-dev mailing list