The Trunk: Tests-eem.523.mcz

[email protected] Fri, 17 Jul 2026 18:52:23 0000
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <[email protected]>
Eliot Miranda uploaded a new version of Tests to project The Trunk:
http://source.squeak.org/trunk/Tests-eem.523.mcz

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

Name: Tests-eem.523
Author: eem
Time: 17 July 2026, 11:52:19.795341 am
UUID: 3eca9d19-aee1-44b6-b42c-4bb145da3b0c
Ancestors: Tests-ct.522

The old space ephemeron tests need a long timeout to complete.

=============== Diff against Tests-ct.522 ===============

Item was changed:
  ----- Method: EphemeronTest>>testOldSpaceEphemeronWithOldSpaceKeyFired (in category 'tests') -----
  testOldSpaceEphemeronWithOldSpaceKeyFired
+ 	<timeout: 30>
  	1 to: 4 do:
  		[:i| | ephemeron ephemerTwo ephemerThree k |
  		self assert: Processor activePriority <  self finalizationProcessPriority.
  		Smalltalk garbageCollectMost.
  		"Even times around test that unfired ephemerons don't break things..."
  		i even ifTrue: [ephemerTwo := FinalizationTestEphemeron key: true].
  		ephemeron := FinalizationTestEphemeron key: (k := Object new).
  		"last two times, move ephemeron to oldSpace, hence in remembered table"
  		i >= 3 ifTrue: [ephemeron pin; unpin].
  		i even ifTrue: [ephemerThree := FinalizationTestEphemeron key: false].
  		self flushNewSpace.
  		Smalltalk garbageCollect.
  		"because thisContext refers to k the ephemeron should not be fired"
  		(Delay forMilliseconds: 1) wait.
  		self deny: ephemeron fired.
  		k := nil.
  		Smalltalk garbageCollect.
  		(Delay forMilliseconds: 1) wait.
  		"becuase thisContext no longer refers to k the ephemeron should be fired"
  		self assert: ephemeron fired]!

Item was changed:
  ----- Method: EphemeronTest>>testOldSpaceEphemeronsWithOldSpaceKeyFired (in category 'tests') -----
  testOldSpaceEphemeronsWithOldSpaceKeyFired
+ 	<timeout: 30>
  	1 to: 4 do:
  		[:i| | ephemerOne ephemerTwo ephemerThree ephemerFour ephemerFive k |
  		self assert: Processor activePriority < self finalizationProcessPriority.
  		Smalltalk garbageCollect.
  		k := Object new.
  		"Even times around test that unfired ephemerons don't break things..."
  		i even ifTrue: [ephemerThree  := FinalizationTestEphemeron key: nil].
  		ephemerOne := FinalizationTestEphemeron key: k.
  		i even ifTrue: [ephemerFour  := FinalizationTestEphemeron key: true].
  		ephemerTwo := FinalizationTestEphemeron key: k.
  		"last two times, move ephemerTwo to oldSpace, hence in remembered table"
  		i >= 3 ifTrue: [ephemerTwo pin; unpin].
  		i even ifTrue: [ephemerFive  := FinalizationTestEphemeron key: false].
  		self flushNewSpace.
  		Smalltalk garbageCollect.
  		(Delay forMilliseconds: 1) wait.
  		"becuase thisContext refers to k the ephemerons should not be fired"
  		self deny: ephemerOne fired | ephemerTwo fired.
  		k := nil.
  		Smalltalk garbageCollect.
  		(Delay forMilliseconds: 1) wait.
  		"becuase thisContext no longer refers to k the ephemerons should be fired"
  		self assert: ephemerOne fired & ephemerTwo fired]!

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]