[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
|