Need some way to skip steps

3 views
Skip to first unread message

David Abrahams

unread,
Nov 10, 2007, 8:57:12 PM11/10/07
to bit...@googlegroups.com

I want clients to be able to say, "I'm skipping this step," and have
the step not show up in the status display. Use case: someone wants
to dedicate testing resources to just a few of Boost's libraries. Our
test recipe will build and test all the libraries. I'd like someone
to be able to put something in his client.ini that will specify
something about which tests he's willing to run. Suggestions?

--
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

Christopher Lenz

unread,
Nov 27, 2007, 7:32:43 AM11/27/07
to bit...@googlegroups.com
On Nov 11, 2007, at 2:57 AM, David Abrahams wrote:
> I want clients to be able to say, "I'm skipping this step," and have
> the step not show up in the status display. Use case: someone wants
> to dedicate testing resources to just a few of Boost's libraries. Our
> test recipe will build and test all the libraries. I'd like someone
> to be able to put something in his client.ini that will specify
> something about which tests he's willing to run. Suggestions?

I was thinking about adding Ant-style conditions to steps, i.e.
something like:

<step id="msi" if="family=='nt"">
...
</step>

The "family" is a variable name, which'd work similarly to the
variable substitution stuff, i.e. you could define variables in the
slave configuration file, and then use them in the recipe for
conditional steps.

Would something like that work for you?

Cheers,
Chris
--
Christopher Lenz
cmlenz at gmx.de
http://www.cmlenz.net/

David Abrahams

unread,
Nov 27, 2007, 5:13:54 PM11/27/07
to bit...@googlegroups.com

on Tue Nov 27 2007, Christopher Lenz <cmlenz-AT-gmx.de> wrote:

> On Nov 11, 2007, at 2:57 AM, David Abrahams wrote:
>> I want clients to be able to say, "I'm skipping this step," and have
>> the step not show up in the status display. Use case: someone wants
>> to dedicate testing resources to just a few of Boost's libraries. Our
>> test recipe will build and test all the libraries. I'd like someone
>> to be able to put something in his client.ini that will specify
>> something about which tests he's willing to run. Suggestions?
>
> I was thinking about adding Ant-style conditions to steps, i.e.
> something like:
>
> <step id="msi" if="family=='nt"">
> ...
> </step>

This looks similar to something I want to address separately... I have
long recipes that have to be basically identical for each platform.
I'll bring that up in another thread.

> The "family" is a variable name, which'd work similarly to the
> variable substitution stuff, i.e. you could define variables in the
> slave configuration file, and then use them in the recipe for
> conditional steps.
>
> Would something like that work for you?

Sounds like it could if there were more sophisticated tests than
==... although it could get awkward. Right now my recipes have a build
step for each Boost component. Typically, a slave will want to run
all steps, or just a few select steps. So you'd want to do something
like

<step id="smart_ptr" if="components is None or 'smart_ptr' in components">

</step>

As you can see, I've essentially written python in the condition.
This is an example of another thing that keeps coming up for me: I
find the build commands sufficiently limited that I've begun to wonder
what they're for. It seems like, to do anything interesting, I end up
having to run a Python script on the slave (which lets me do almost
anything I want). The slave has to have a python installation, after
all. Maybe it makes sense to focus on taking advantage of everything
that has to offer, rather than developing more commands?

Of course conditional steps can't be implemented that way without
some changes in bitten, because you want to be able to not register
skipped steps as successes -or- failures on the server.

Cheers,

Jon Guyer

unread,
May 6, 2008, 10:21:11 AM5/6/08
to bit...@googlegroups.com
Did any of this ever get implemented?

Tomasz Sterna

unread,
May 6, 2008, 10:26:28 AM5/6/08
to bit...@googlegroups.com
Dnia 2008-05-06, wto o godzinie 07:21 -0700, Jon Guyer pisze:

> > I was thinking about adding Ant-style conditions to steps, i.e.
> > something like:
>
> > <step id="msi" if="family=='nt"">
> > ...
> > </step>

Bitten recipes role is not to replace/reimplement build tools like Ant,
make, distutils etc.

Bitten recipes role is to prepare environment for these build tools and
to launch them in managed and traced environment.


--
Tomasz Sterna
Software Configuration Manager

jabber id tomasz...@sensisoft.com

signature.asc
Reply all
Reply to author
Forward
0 new messages