[squeak-dev] The Trunk: Tests-ar.72.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Apr 7 16:50:50 UTC 2010

Andreas Raab uploaded a new version of Tests to project The Trunk:

==================== Summary ====================

Name: Tests-ar.72
Author: ar
Time: 7 April 2010, 9:50:12.201 am
UUID: 5e3419be-fa4d-814b-a1f6-af38961fac9f
Ancestors: Tests-ar.71

The previous fix for MCChangeNotificationTest was incomplete and based on flawed analysis. This one should do better.

=============== Diff against Tests-ar.71 ===============

Item was changed:
  ----- Method: MCChangeNotificationTest>>setUp (in category 'running') -----
+ 	"FIXME: Unregister Monticellomocks if it got created in another test
+ 	(for example MCMethodDefinitionTest may create it implicitly).
+ 	This avoids a nasty failure of MCChangeNotificationTest due to
+ 	some inconsistency about the package info registered with it.
+ 	If Monticellomocks was created earlier it will contain a 'regular'
+ 	PackageInfo instance but the test requires it to be an MCMockPackageInfo"
+ 	MCWorkingCopy registry 
+ 		removeKey: (MCPackage new name: 'Monticellomocks')
+ 		ifAbsent:[].
+ 	PackageOrganizer default unregisterPackageNamed: 'Monticellomocks'.
  	workingCopy := MCWorkingCopy forPackage: self mockPackage.
+ !
- 	!

Item was changed:
  ----- Method: MCMethodDefinitionTest>>tearDown (in category 'running') -----
  	self restoreMocks.
  	(MCWorkingCopy forPackage: (MCPackage named: 'FooBarBaz')) unregister.
  	self class compile: 'override ^ 1' classified: 'mocks'.
  	self ownPackage modified: isModified.
- 	"FIXME: Unregister Monticellomocks if it got created implicitly.
- 	This avoids a nasty failure of MCChangeNotificationTest due to
- 	some inconsistency about whether package names are case sensitive
- 	or not. They're treated as case insensitive in some name lookups but not
- 	in others; most importantly PackageOrganizer default treats package
- 	names as being case sensitive. The package created here is Monticellomocks
- 	(lower case mocks) and an instance of PackageInfo; the package expected
- 	in MCChangeNotificationTest is MonticelloMocks and an instance of
- 	MCMockPackageInfo. Since *that* lookup is case insensitive it can
- 	find Monticellomocks instead of MonticelloMocks and fail."
- 	PackageOrganizer default unregisterPackageNamed: 'Monticellomocks'.

More information about the Squeak-dev mailing list