[Cuis] OSProcess status

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


I updated the Cuis-Smalltalk-OSProcess package on github, and I think
it should work better on Mac now. I fixed OSProcess class>>platformName
and also reverted my last change to OSProcess class>>isUnix, which is
not required when platformName works correctly.

As before, many of the OSProcess tests require an interpreter VM (not
Cog) to run, but aside from that I think that most important functions
should work in OSProcess on Mac. Please let me know if that is not the
case.

This change might cause a problem for some versions of Pharo that have
a broken platformName implementation, but I think I will let that be a
problem for someone else to worry about.

Dave

On Sun, Jan 05, 2014 at 11:29:43AM -0500, David T. Lewis wrote:
> Thank you, that is what I needed to know :-)
> 
> Dave
> 
> On Sun, Jan 05, 2014 at 02:12:51PM -0200, Germ?n Arduino wrote:
> > Sure!
> > 
> > 
> > 2014/1/5 David T. Lewis <lewis at mail.msen.com>
> > 
> > > Oops, I meant to ask for the results of these on Mac:
> > >
> > >   Smalltalk platformName
> > >
> > 
> >  'Mac OS'
> > 
> > 
> > >   Smalltalk osVersion
> > >
> > >
> >  '1091'
> > 
> > Running Cog VM in Mavericks.
> > 
> > Cheers.
> > 
> > 
> > > Thanks
> > >
> > > On Sun, Jan 05, 2014 at 10:52:27AM -0500, David T. Lewis wrote:
> > > > 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! !
> > > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Cuis mailing list
> > > > Cuis at jvuletich.org
> > > > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > >
> > > _______________________________________________
> > > Cuis mailing list
> > > Cuis at jvuletich.org
> > > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> > >
> > 
> > 
> > 
> > -- 
> > Saludos / Regards,
> > Germ?n Arduino
> > www.arduinosoftware.com
> 
> > _______________________________________________
> > Cuis mailing list
> > Cuis at jvuletich.org
> > http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
> 
> 
> _______________________________________________
> Cuis mailing list
> Cuis at jvuletich.org
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org




More information about the Cuis mailing list