[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