Mantis - Squeak
Viewing Issue Advanced Details
7645 VM minor always 06-08-11 13:37 11-17-11 02:20
seandenigris  
lewis  
normal  
resolved  
fixed  
none    
none  
0007645: OSProcess tests hang on Mac Cocoa VM (5.7.4.1)
From http://forum.world.st/OSProcess-on-1-2-tp3569458p3569458.html [^] :
> For the Cocoa VM (5.7.4.1), TestRunner hangs again. One hanging test was
> UnixProcessTestCase>>testClassForkHeadlessSqueakAndDo on "[p isRunning] whileTrue: [(Delay
> forMilliseconds: 100) wait]."

>These were the values for that VM:
> #('CommandShell versionString ==> 4.4.15' 'OSProcess versionString ==> 4.4.2'
> 'UnixOSProcessPlugin 6 February 2011 (e)' 'OSPP versionString ==> 4.4.3' 'nil' 'AIO plugin
> versionString ==> nil' 'nil' 'XDCP versionString ==> nil')

Notes
(0014143)
lewis   
06-11-11 13:38   
This was caused by improper handling of #forkSqueak failures in OSProcess. I have updated both OSProcess and CommandShell to resolve this and a number of other problems with the unit tests when running on OS X. With these updates, you should expect all tests to run to completion, and you should expect numerous test errors and failures associated with all of the tests that rely on #forkSqueak for interprocess testing (e.g. testing file locks by forking another Squeak to interact with the parent).

Note that #forkSqueak and XDisplayControlPlugin are not supported for the Mac VM, and I have no plans to change this. At this time, #forkSqueak is expected to work correctly *only* on the Unix standard interpreter VM.
(0014196)
lewis   
11-17-11 02:20   
These issues for OS X were addressed in OSProcess version 4.4.3 (update notice below). Please open another report (or reopen this one) if additional problems are found. Thanks.

Name: OSProcess-dtl.62
Author: dtl
Time: 10 June 2011, 4:20:29.871 pm
UUID: 55b4ea20-a52a-40a4-b5ca-b3a7e9741c06
Ancestors: OSProcess-dtl.61

OSProcess 4.4.3
Fix forkHeadlessSqueak to fail cleanly on OS X to prevent unit test hang.
Update unit tests to work around OS X differences in directory naming and file protections.
Catch warnings in unit tests to permit them to run on OS X without UI interaction. Many test failures are expected on OS X due to lack of forkSqueak and XDisplayControlPlugin capability on that platform.