# from Andy Armstrong
# on Monday 05 February 2007 11:22 am:

>To run tests locally you need to
>
>* launch the tests in // and gather their output
>* display the test progress / results differently
>* make it possible to attach some metadata to tests
>    that describes such things as which tests can safely
>    be run concurrently with which other tests.

Yes, except we can leave this last one off until later.  Maybe never.  
Here I'm guessing that a small change to the tests to make them all 
"concurrent-safe" is going to be easier than trying to keep tabs on 
which ones are or not and then writing that into a configuration 
somewhere.  Let's call it YMMV and see how often it really matters -- 
i.e. if you can't take the trouble to make your tests concurrent-safe, 
you don't get the fun of parallelizing them.

>Distributing tests among multiple boxes requires all those things but
>potentially there's a lot more marshalling to be done to create a sane
>test environment on each box. It's a much bigger problem I think.

Quite, but not really one that needs to be solved by the test harness.  
I'm thinking the harness only needs to use the parser's exec attribute 
to ssh to another box, cd, and run the test.  If everything is in place 
beforehand, that should be the only difference from a locally parallel 
run.  I'm thinking that any amount of marshalling that gets builtin to 
the harness is going to end up being wrong for somebody's situation, so 
it is better to leave it out entirely, but maybe providing a setup hook 
if exec isn't enough.  Hey, couldn't the program in 'exec' even decide 
whom to contact and just do it, leaving even the ssh stuff out of the 
harness?

--Eric
-- 
The reasonable man adapts himself to the world; the unreasonable man
persists in trying to adapt the world to himself. Therefore all progress
depends on the unreasonable man.
--George Bernard Shaw
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to