[Cuis] OSProcess status

David T. Lewis lewis at mail.msen.com
Sun Jan 5 09:52:27 CST 2014


I am having trouble finding a solution to to this works on other dialects.
The approach of using SystemVersion class>>isCuis does not provide an easy
solution because most dialects do not have that method.

Could you please tell me the results of running these two expressions
on a Mac in Cuis, and also let me know which VM (Cog or interpreter) you
used:

  SystemVersion platformName
  SystemVersion osVersion

I think that the underlying problem is that my OSProcess class>>platformName
ends up calling SystemVersion class>>osVersion when it should be calling
SystemVersion class>>platformName.

I believe that this is code that I put into OSProcess was for support of
one of the Pharo versions that had a broken platformName.

Thanks!
Dave

On Wed, Jan 01, 2014 at 03:11:00PM -0300, Juan Vuletich wrote:
> That CS was incomplete. This is the correct one.
> 
> Cheers,
> Juan Vuletich
> 
> On 1/1/2014 2:59 PM, Juan Vuletich wrote:
> >Hi Dave,
> >
> >I still could not run all the tests on Mac OS, but at least I can say 
> >something like the attach is needed to support OSProcess on Mac OS on 
> >Cuis.
> >
> >Thanks,
> >Juan Vuletich
> >
> >On 12/30/2013 12:33 PM, David T. Lewis wrote:
> >>On Sun, Dec 29, 2013 at 06:37:50PM -0800, Ken Dickey wrote:
> >>>On Sun, 29 Dec 2013 15:05:45 -0500
> >>>"David T. Lewis"<lewis at mail.msen.com>  wrote:
> >>>
> >>>>I made a package called "OSProcess" and saved the OSProcess.pck.st 
> >>>>in a
> >>>>new github repository called "Cuis-Smalltalk-OSProcess".
> >>>>
> >>>>This is the first time I have used github, so please let me know if 
> >>>>this
> >>>>works as expected.
> >>>Dave,
> >>>
> >>>I must first admit knowing _nothing_ about OSProcess, so following 
> >>>remarks may be less than intelligent.
> >>>
> >>>The Cuis-Smalltalk-OSProcess GIT project cloned just fine.
> >>>
> >>On the contrary, very helpful - thanks!
> >>
> >>
> >>>I made some guesses about what the OSProcess package requires.
> >>>
> >>>=================In Workspace:
> >>>"OSProcess"
> >>>Feature require: 'FFI'.
> >>>Feature require: 'SqueakCompatibility'.
> >>>Feature require: 'Network-Kernel'.
> >>>Feature require: 'OSProcess'.
> >>>============================
> >>>
> >>I updated it to specify SqueakCompatibility and Network-Kernel. The 
> >>network
> >>package is not strictly required, but it is needed for some of the unit
> >>tests and I cannot imagine that someone using OSProcess would not also
> >>want networking. FFI is not required (VM plugins are used rather than 
> >>FFI)
> >>so I left that out.
> >>
> >>
> >>>There were some test failures.  In particular:
> >>>
> >>>UnixProcessTestCase
> >>>    forkSqueak requires XDisplayControlPlugin
> >>>
> >>>AioEcentHandlerTestCase
> >>>    aio event forwarding not supported
> >>>
> >>Most likely you are using a Cog VM that does not able to provide the X11
> >>display control plugin. For purposes of running the full OSProcess test
> >>suite, it is best to use a standard interpreter VM (from 
> >>squeakvm.org/unix).
> >>Aside from that, Cog is fine for most practical applications of 
> >>OSProcess,
> >>so unless you need some specific function (such as the #forkSqueak 
> >>methods),
> >>it will not matter which VM you are using.
> >>
> >>Thanks a lot for the help and guidance.
> >>
> >>Dave
> >>
> >>
> >>_______________________________________________
> >>Cuis mailing list
> >>Cuis at jvuletich.org
> >>http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> >>
> >
> 

> 'From Cuis 4.2 of 25 July 2013 [latest update: #1918] on 1 January 2014 at 3:10:49.143344 pm'!
> 
> !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014 14:50'!
> isCuis
> 	"True if this image is Cuis"
> 
> 	Smalltalk
> 		at: #SystemVersion
> 		ifPresent: [:cls | ^cls current isCuis ].
> 	^false! !
> 
> 
> !OSProcess class methodsFor: 'version dependent' stamp: 'jmv 1/1/2014 14:50'!
> platformName 
> 	"After Squeak version 3.6, #platformName was moved to SmalltalkImage Some
> 	versions of Pharo move this to OSPlatform and issue deprecation warnings
> 	about the other usages."
> 
> 	"OSProcess platformName"
> 	self isCuis ifTrue: [ ^Smalltalk platformName ].
> 	self isPharo3AndLater
> 		ifTrue: [ ^ (Smalltalk perform: #os) name ].
> 	^ (((Smalltalk hasClassNamed: #OSPlatform)
> 			and: [(Smalltalk at: #OSPlatform)
> 					respondsTo: #platformName])
> 		ifTrue: [Smalltalk at: #OSPlatform]
> 		ifFalse: [((Smalltalk classNamed: 'SmalltalkImage')
> 				ifNil: [^ Smalltalk osVersion]) current]) platformName! !
> 





More information about the Cuis mailing list