On Sat, Jul 01, 2006 at 02:36:37PM -0500, Michael G Schwern wrote: > Right now the use cases I have in mind include things such as > parallelized test runs, fancy GUI and HTML outputs (for example,
> Provide use cases, what would you want to do with Test::Harness if you > could? What are you doing with Straps? What features do other Use case: Parallel test runs I'd like to be able to specify parallel test runs. Specifically, I'd like to be able to send tests as a set of groups, with instructions on how the tests are to be parallelised. I already have a prototype, hacked from Test::Harness. 1: Send tests as groups 2: Tests within a group run in series (in traditional order) 3: Groups run in parallel 4: have sync points. All groups before a sync point must complete before any groups after a sync point can start. This let me run many of the core tests in parallel, but still allowed the tests that need to run in order to run in order. This level of control let me run the core tests as follows: t/base/*.t one by one (each test is its own group, sync point between each group) t/comp/*.t t/cmd/*.t t/run/*.t t/io/*.t t/op/*.t tests in each directory in sequence, but the 5 directories in parallel wait for all these to finish t/uni/*.t, all tests in ext and lib tests in a the same directory ran in series. All directories could run in parallel With this I can max out a multi CPU (or multi core) box. (Or at least stand a fighting chance, although tests in t/op/*.t in the core need some issues fixing before they can run in parallel with each other. I suspect that their names for temporary files are unimaginative and therefore clash) I've got the code for a select driven event loop that can run all this, if that's helpful. Nicholas Clark