[squeak-dev] The Inbox: KernelTests-ct.405.mcz

commits at source.squeak.org commits at source.squeak.org
Sun May 9 01:54:40 UTC 2021


A new version of KernelTests was added to project The Inbox:
http://source.squeak.org/inbox/KernelTests-ct.405.mcz

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

Name: KernelTests-ct.405
Author: ct
Time: 9 May 2021, 3:54:39.03261 am
UUID: 0504450e-33b8-1148-bd08-8f013c07a926
Ancestors: KernelTests-nice.404

Documents a bug in the simulation of objects as methods (OaM) when the object implements #isCompiledMethod, e.g. via dynamic forwarding. This is actually the case for TestCoverage and for that reason, debugging of SUnit test coverage collection is broken at the moment.

=============== Diff against KernelTests-nice.404 ===============

Item was added:
+ ----- Method: ContextTest>>testObjectsAsMethod (in category 'tests') -----
+ testObjectsAsMethod
+ 
+ 	| result error |
+ 	SystemChangeNotifier uniqueInstance doSilently: [
+ 		self class addSelector: #foo withMethod: (TestObjectForMethod new xxxMethod: thisContext homeMethod)].
+ 	
+ 	result := Context runSimulated: [[self foo] on: Error do: [:ex | error := ex]].
+ 	error ifNotNil: [self fail: error].
+ 	
+ 	[self assert: self foo equals: result]
+ 		ensure: [self class removeSelector: #foo].!

Item was added:
+ ProtoObject subclass: #TestObjectForMethod
+ 	instanceVariableNames: 'method'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'KernelTests-Methods'!

Item was added:
+ ----- Method: TestObjectForMethod>>doesNotUnderstand: (in category 'dynamic forwarding') -----
+ doesNotUnderstand: aMessage
+ 
+ 	^ aMessage sendTo: method!

Item was added:
+ ----- Method: TestObjectForMethod>>flushCache (in category 'compatibility') -----
+ flushCache
+ 	^ self!

Item was added:
+ ----- Method: TestObjectForMethod>>methodClass: (in category 'compatibility') -----
+ methodClass: aMethodClass!

Item was added:
+ ----- Method: TestObjectForMethod>>run:with:in: (in category 'evaluating') -----
+ run: oldSelector with: arguments in: receiver 
+ 	^ {oldSelector. arguments. receiver}!

Item was added:
+ ----- Method: TestObjectForMethod>>selector: (in category 'compatibility') -----
+ selector: aSymbol!

Item was added:
+ ----- Method: TestObjectForMethod>>xxxMethod: (in category 'accessing') -----
+ xxxMethod: aCompiledMethod
+ 
+ 	method := aCompiledMethod!



More information about the Squeak-dev mailing list