[squeak-dev] Re: CI ftw

Frank Shearar frank.shearar at gmail.com
Mon Dec 3 13:45:21 UTC 2012


On 23 November 2012 10:41, Frank Shearar <frank.shearar at gmail.com> wrote:
> On 21 November 2012 21:20, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>> As a reminder (for myself or somebody else..) by reactivating this thread:
>>
>> PetitParser needs to be retested if it loads fine in Squeak 4.4...
>
> Agreed. One possible solution is to dump PetitParser into a filetree
> repository on github and use Dale Henrich's builderCI. You (not Hannes
> necessarily, but whoever does this) could use
> https://github.com/frankshearar/Control as a guide on how to set
> things up. That also has the side benefit of letting Travis-CI do the
> work, at the cost of needing to keep the filetree repository in sync
> with the canonical PetitParser repository. Given the rate of change in
> that repo, that shouldn't be too hard; PP is now quite well beaten
> upon.

I should add: PP's Smalltalk parser WILL break on 4.4 because PP uses
the host system to parse numbers. In Pharo, NumberParser parses only
Smalltalk numbers; in Squeak ExtendedNumberParser accepts things like
"1." as a number.

Nicolas and I have done some work towards fixing this, and I can't
recall off the top of my head where that stands.

frank

> frank
>
>> --Hannes
>>
>> On 8/31/12, Dale Henrichs <dhenrich at vmware.com> wrote:
>>>
>>>
>>> ----- Original Message -----
>>> | From: "Frank Shearar" <frank.shearar at gmail.com>
>>> |
>>> | I'm aiming to, at some point in the very near future, implement some
>>> | kind of minimal CI infrastructure that could take a ConfigurationOf
>>> | and run its tests. I was hoping builderCI could do it, but it's quite
>>> | a complicated beast.
>>>
>>> Frank,
>>>
>>> I think the interesting bit in builderCI that you're looking for to
>>> construct the test suite is probably this chunk of code that leverages the
>>> Metacello scripting api:
>>>
>>>   | suite configurationClassNameList |
>>>   configurationClassNameList := #( "list of configuration classes" ).
>>>   suite := TestCase suiteClass named: configurationClassNameList
>>> printString, ' Test Suite'.
>>>   configurationClassNameList
>>>     do: [ :className |
>>>       ((MetacelloProjectRegistration
>>>         registrationForClassNamed: className
>>>         ifAbsent: [ self error: className printString , ' not registered
>>> (loaded)' ])
>>>           currentlyLoadedClassesInProject select: [ :cl | cl inheritsFrom:
>>> TestCase ])
>>>             do: [ :cl |
>>>               cl isAbstract
>>>                 ifFalse: [ suite addTest: cl buildSuiteFromSelectors ] ] ].
>>>
>>> Dale
>>>
>>>
>>


More information about the Squeak-dev mailing list