[Seaside-dev] Mason for Seaside 3.0?

Lukas Renggli renggli at gmail.com
Fri Sep 11 18:52:42 UTC 2009


Hi Dale

That sounds exciting, can't wait to see this running. If I had time I
would work on the build-server in the meantime :-/

> As I work through the Metacello config for Seaside 3.0, I have defined the following groups:
>
>    #('Platform' 'Core' 'Canvas' 'Session' 'Component' 'RenderLoop' 'Tools'
>    'Widgets' 'Environment' 'Functional Tests' 'Continuations' 'Flow' 'WebTools'
>    'Development' 'Examples' 'AdminTools' 'RSS' 'Javascript' 'JQuery' 'Prototype'
>    'Scriptaculous' 'HTML5', 'InternetExplorer' 'Email' 'Comanche' 'Comet')
>
> which correspond to the various test points in the LoadOrderTests package.

It would make sense to include JQuery and JQueryUI as separate groups,
their relationship is similar to the relationship between Prototype
and Scriptaculous.

> With Metacello, it is possible to run a linear set of tests where each group is loaded one after the other and after loading each group it would be possible to run tests. When I finish up the Metacello config, I'll provide a script that performs the same sorts of tests that the LoadOrderTest package runs today.

Yeah, that's definitely useful as it allows one to detect a subset of
dependencies between code and tests. However we probably need to adapt
our dependency checkers to directly compare with the declared
dependencies in WAPackage, the actual dependencies in the code and the
declaration in Metacello to ensure full integrity.

> With Metacello, it is also possible to load any one of the groups individually and  then run tests, but to do so would require launching a fresh image 27 times (not to mention the different combinations) ... which is where I assume that Mason comes into play.

I don't think that would make sense. What Mason can easily do is to
load and run the tests for every build, so that we can provide the
test results for every build even if it does not contain the test
source.

> Anyway, I haven't looked at Mason in detail and was wondering if there might be anything required beyond providing the above groupings...

Maybe we should also consider a Swazoo group, that would load Swazoo
and its Seaside integration. Other than that the granularity of the
groups look pretty good.

Cheers,
Lukas

-- 
Lukas Renggli
http://www.lukas-renggli.ch


More information about the seaside-dev mailing list