Christoph Thiede uploaded a new version of KernelTests to project The Trunk: http://source.squeak.org/trunk/KernelTests-ct.454.mcz
==================== Summary ====================
Name: KernelTests-ct.454 Author: ct Time: 26 February 2024, 5:53:27.913882 pm UUID: 0c12327f-5f0d-454e-bffd-88918727238c Ancestors: KernelTests-ct.453
Fixes slips from KernelTests-ct.453: * Correct tear-down of temporary methods * Speed up ContextTest>>simulate: (avoid dependency on primitiveSuspendBackingUpV2)
=============== Diff against KernelTests-ct.453 ===============
Item was changed: ----- Method: ContextTest>>simulate: (in category 'private') ----- simulate: aBlock
+ | results | + [results := {aBlock value}] newProcess runUntil: [:ctxt | results notNil]. + ^ results first! - | result | - [result := aBlock value] newProcess runUntil: [:ctxt | false]. - ^ result!
Item was changed: ----- Method: ContextTest>>testPrimitive83 (in category 'tests - simulation') ----- testPrimitive83 "Test simulation of primitive 83."
self flag: #bug. "Known bug: Primitive 83 SPORADICALLY does NOT fail in the OSVM for missing argument!!" { [nil perform: #isNil]. "valid 0-arg message" [nil perform: #= with: true]. "valid unary message" [nil perform: #ifNil:ifNotNil: with: [2] with: [:x | x]]. "valid binary message" [nil perform: #isNil with: 'excess arg']. "too many arguments" [nil perform: #=]. "missing argument" [nil perform: Object]. "invalid selector" [[(self class addSelector: #plonk:with: withMethod: (TestObjectForMethod new xxxMethod: thisContext homeMethod); perform: #plonk:with: with: 2 with: 3) allButFirst "OaM selector is undefined behavior"] + ensure: [self class removeSelector: #plonk:with:]]. - ensure: [self class removeSelector: #plonk]]. } do: [:block | self assert: (block on: Error do: [:ex | ex description]) equals: (Context runSimulated: [block on: Error do: [:ex | ex description]])].!
Item was changed: ----- Method: ContextTest>>testPrimitive84 (in category 'tests - simulation') ----- testPrimitive84 "Test simulation of primitive 84."
{ {#isNil. {}}. "valid 0-arg message" {#=. {true}}. "valid unary message" {#ifNil:ifNotNil:. {[2]. [:x | x]}}. "valid binary message" {#isNil. 'not an array'}. "invalid arguments" {#isNil. {'excess arg'}}. "too many arguments" {#=. {}}. "missing argument" {Object. {}}. "invalid selector" {#in:. {[:it | [(self class addSelector: #plonk:with: withMethod: (TestObjectForMethod new xxxMethod: thisContext homeMethod); perform: #plonk:with: withArguments: #(2 3)) allButFirst "OaM selector is undefined behavior"] + ensure: [self class removeSelector: #plonk:with:]]}}. - ensure: [self class removeSelector: #plonk]]}}. } do: [:args | self assert: ([nil perform: args first withArguments: args second] on: Error do: [:ex | ex description]) equals: (Context runSimulated: [[nil perform: args first withArguments: args second] on: Error do: [:ex | ex description]])].!
packages@lists.squeakfoundation.org