Marcel Taeumel uploaded a new version of KernelTests to project The Trunk: http://source.squeak.org/trunk/KernelTests-jar.442.mcz
==================== Summary ====================
Name: KernelTests-jar.442 Author: jar Time: 26 January 2023, 10:37:59.494205 pm UUID: d69aa3b9-4497-6840-935d-1be1ea5f6b80 Ancestors: KernelTests-tpr.441
add setUp and tearDown methods to MonitorTest class to prevent tests from leaving unterminated (blocked on a semaphore) processes behind
=============== Diff against KernelTests-tpr.441 ===============
Item was changed: TestCase subclass: #MonitorTest + instanceVariableNames: 'semaphore' - instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'KernelTests-Processes'!
Item was added: + ----- Method: MonitorTest>>setUp (in category 'as yet unclassified') ----- + setUp + + super setUp. + semaphore := Semaphore new.!
Item was added: + ----- Method: MonitorTest>>tearDown (in category 'as yet unclassified') ----- + tearDown + "Release all processes still waiting at the semaphore or in the active priority queue." + + Processor yield. + [semaphore isEmpty] whileFalse: [semaphore signal]. + + super tearDown.!
Item was changed: ----- Method: MonitorTest>>testCheckOwnerProcess (in category 'tests') ----- testCheckOwnerProcess self should: [Monitor new checkOwnerProcess] raise: Error.
self shouldnt: [| m | m := Monitor new. m critical: [m checkOwnerProcess]] raise: Error.
self should: [| s m | m := Monitor new. + [m critical: [s := #in. semaphore wait]] fork. - [m critical: [s := #in. Semaphore new wait]] fork. Processor yield. self assert: #in equals: s. m checkOwnerProcess] raise: Error!
Item was changed: ----- Method: MonitorTest>>testCriticalIfLocked (in category 'tests') ----- testCriticalIfLocked | m s | m := Monitor new. self assert: #unlocked == (m critical: [#unlocked] ifLocked: [#locked]). + [m critical: [s := #in. semaphore wait]] fork. - [m critical: [s := #in. Semaphore new wait]] fork. Processor yield. self assert: #in equals: s. self assert: #locked equals: (m critical: [#unlocked] ifLocked: [#locked])!
packages@lists.squeakfoundation.org