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

Bernhard Pieber bernhard at pieber.com
Sun Oct 31 18:05:02 UTC 2010


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.

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

Am 31.10.2010 um 17:51 schrieb commits at source.squeak.org:

> A new version of Tests was added to project The Inbox:
> http://source.squeak.org/inbox/Tests-bp.99.mcz
> 
> ==================== Summary ====================
> 
> Name: Tests-bp.99
> Author: bp
> Time: 31 October 2010, 6:44:26.559 pm
> UUID: d573b35d-7413-43c2-96f7-1c47d39d8f27
> Ancestors: Tests-ul.98
> 
> Fix dependencies on obsolete PackageInfos.
> 
> =============== Diff against Tests-ul.98 ===============
> 
> Item was changed:
>  ----- Method: PackageDependencyTest>>testMonticello (in category 'tests') -----
>  testMonticello
>  	self testPackage: 'Monticello' dependsExactlyOn: #(
>  		Collections
>  		Compiler
>  		Compression
>  		Exceptions
>  		Files
>  		Graphics
>  		Kernel
>  		Morphic
>  		Network
> + 		'PackageInfo-Base'
> - 		PackageInfo
>  		System
>  		Tests
>  		'ToolBuilder-Kernel'
>  		'ToolBuilder-Morphic'
>  		Tools
>  	).!
> 
> Item was changed:
>  ----- Method: PackageDependencyTest>>testMorphic (in category 'tests') -----
>  testMorphic
>  	self testPackage: 'Morphic' dependsExactlyOn: #(
>  		Balloon
>  		Collections
>  		Compiler
>  		EToys
>  		Exceptions
>  		Files
>  		Graphics
>  		Kernel
>  		Monticello
>  		MonticelloConfigurations
> - 		'Morphic-TrueType'			"????"
>  		MorphicExtras
>  		Multilingual
>  		Network
>  		ST80
>  		Sound
>  		System
>  		'ToolBuilder-Kernel'
>  		'ToolBuilder-Morphic'
>  		Tools
>  		TrueType
>  	).!
> 
> Item was changed:
>  ----- Method: PackageDependencyTest>>testSUnitGUI (in category 'tests') -----
>  testSUnitGUI
>  	self testPackage: 'SUnitGUI' dependsExactlyOn: #(
>  		Collections
>  		Graphics
>  		Kernel
> + 		'PackageInfo-Base'
> - 		PackageInfo
>  		SUnit
>  		System
>  		'ToolBuilder-Kernel'
>  		Tools
>  	).!
> 
> Item was changed:
>  ----- Method: PackageDependencyTest>>testServices (in category 'tests') -----
>  testServices
>  	self testPackage: 'Services-Base' dependsExactlyOn: #(
>  		Collections
>  		Compiler
>  		Exceptions
>  		Graphics
>  		Kernel
>  		Morphic
> + 		'PackageInfo-Base'
> - 		PackageInfo
>  		PreferenceBrowser
>  		System
>  		'ToolBuilder-Kernel'
>  		Tools
>  	).!
> 
> Item was changed:
>  ----- Method: PackageDependencyTest>>testSystem (in category 'tests') -----
>  testSystem
>  	self testPackage: 'System' dependsExactlyOn: #(
>  		Collections
>  		Balloon
>  		Compiler
>  		Compression
>  		Exceptions
>  		Files
>  		Graphics
>  		Kernel
>  		Monticello
>  		MonticelloConfigurations
>  		Morphic
>  		MorphicExtras
>  		Multilingual
>  		Network
> + 		'PackageInfo-Base'
> - 		PackageInfo
>  		Sound
>  		'ToolBuilder-Kernel'
>  		Tools
>  		TrueType
>  	).!
> 
> Item was changed:
>  ----- Method: PackageDependencyTest>>testToolBuilderMVC (in category 'tests') -----
>  testToolBuilderMVC
>  	self testPackage: 'ToolBuilder-MVC' dependsExactlyOn: #(
>  		Collections
>  		Exceptions
>  		Graphics
>  		ST80
> - 		ToolBuilder
>  		'ToolBuilder-Kernel'
>  		Tools
>  	).!
> 
> Item was changed:
>  ----- Method: PackageDependencyTest>>testToolBuilderSUnit (in category 'tests') -----
>  testToolBuilderSUnit
>  	self testPackage: 'ToolBuilder-SUnit' dependsExactlyOn: #(
>  		Collections
>  		Kernel
> - 		ToolBuilder
>  		'ToolBuilder-Kernel'
>  	).!
> 
> Item was changed:
>  ----- Method: PackageDependencyTest>>testTools (in category 'tests') -----
>  testTools
>  	self testPackage: 'Tools' dependsExactlyOn: #(
>  		Collections
>  		Compiler
>  		Compression
>  		Exceptions
>  		Files
>  		Graphics
>  		Kernel
>  		Morphic
>  		MorphicExtras
>  		Multilingual
>  		Network
> + 		'PackageInfo-Base'
> - 		PackageInfo
>  		ST80
>  		System
>  		'ToolBuilder-Kernel'
>  	).!
> 
> 




More information about the Squeak-dev mailing list