Last week I was in Oslo for the Perl QA hackathon and then the GoOpen conference. My objective for the hackathon was to bring parallel testing to the Perl core. Test::Harness already supports parallel testing but has a simpleminded idea of scheduling. To successfully run Perl's own tests in parallel it needs to handle scheduling rules. Some core tests that shouldn't be run while others from the same group are running because they do things like using the same temporary file.
Although this work is for Perl core it will eventually benefit all users of Test::Harness who'd like parallel testing with scheduling rules.
Well, I didn't get it done. Tux wrote a simple set of rules and theoretically after that it was a Simple Matter of Programming - but it's programming that hasn't happened yet...
I decided that it wasn't a good use of my time to withdraw into my
programming shell given the unprecedented opportunity to work with other
Perl QA folk on issues such as the future direction of the TAP protocol.
For once the circumstances dictated that talk was more valuable than
action and I can program any time
So I spent most of my time in the TAP room contributing to the debate about how we integrate structured diagnostics and nested TAP without causing too much backwards compatibility breakage. We nearly reached consensus too; decisions were reached on most of the major areas. Over on the TAP-L mailing list there's still a debate on the precise form that nested TAP should take but we're much closer to agreement and a clear route forward than we were.
For me, the hackathon was about more than specific tasks. It was a chance for a group of people who normally communicate on email and IRC to meet face to face. It turns out that even when we're not talking about Perl we can sustain an interesting conversation. Who knew?
I'm working on the implementation of the parallel testing scheduling rules now, feeling optimistic about the future of TAP and happy to have had the chance to spend time with such a great bunch of comrades.
Here's a list of others' reports: