[qmtest] qmtest targets: I'm missing something...

J.T. Conklin jtc at acorntoolworks.com
Wed Nov 29 22:40:19 UTC 2006


Stefan Seefeld <seefeld at sympatico.ca> writes:
>> Hi Folks,
>> 
>> I've been reading the documentation, but I seem to be missing
>> something obvious wrt. qmtest's targets.
>> 
>> I understand that with "qmtest create-target" you can create 
>> a new qmtest target or target group with a set of attributes.
>> By default database of targets is stored in QMTest/Targets.
>
> (This is 'QMTest/targets' with a lowercase 't'. At least on
>  platforms where it matters.)

You're correct. 
My bad, I was doing this from memory.

>> I understand that "qmtest run" can select a specific target
>> database with the -T option, but it defaults to QMTest/Targets.
>> 
>> What I don't understand is how you run a test suite against a
>> target or target group within the target database.
>
> I'm not sure I understand the question. Targets are a means to
> run tests in parallel. However, when assigning multiple hosts
> to targets, not all hosts may be suitably equipped to run all
> test instances, so the test-specific 'taret_group' attribute
> contains a pattern against which indidual targets are matched.
>
> May be you are trying to use targets for something else, such
> as run on multiple platforms ?

No, my other question about multiple platforms is a separate issue 
(at least for now).

Our development system architecture is one multi-core, multi-cpu box
that everyone logs into to do builds, and a cluster of "build" nodes
where compile tasks are performed.  Compile tasks are dispatched to
the nodes with distcc.

But unit tests are run on the master box, which isn't scaling with the
number of developers and the number of tests.  So what I'd like to do
is set up a pool of "test" nodes, where qmtest dispatches the tests.
But what I really want to do is to set up several pools.  Development
Engineering has their pool that is shared among all, but Release
Engineering has an dedicated pool so they have more predicable behavior.

My question was if I add the set of all development and release test
nodes as targets to the QMTest/targets file, perhaps like:

        $ qmtest create-target riptide rsh_target.RSHTarget
        $ qmtest create-target ebbtide.rsh_target.RSHTarget
        $ qmtest create-target hogtied.rsh_target.RSHTarget

How do I select what subset of these are actually used?  Or is the
something obvious I'm missing that a target database represents a
pool, and to do what I want is a simple matter of creating two of
the target databases?

Since target_group filtering has been mentioned, how does that work?
I'm not seeing anything that mentions what (attribute?) needs to be
set for the Test class/instance for this to occur.

Many thanks in advance,

    --jtc

-- 
J.T. Conklin



More information about the qmtest mailing list