[Cuis] OSProcess status

Juan Vuletich juan at jvuletich.org
Wed Jan 15 09:11:29 CST 2014


Thanks, Dave!

Cheers,
Juan Vuletich

On 1/5/2014 2:27 PM, David T. Lewis wrote:
> 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
> _______________________________________________
> Cuis mailing list
> Cuis at jvuletich.org
> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>





More information about the Cuis mailing list