On 1 Nov 2007, at 14:12, Michael Peters wrote:
Andy Armstrong wrote:
Yeah - I slept on it. It should be TSP - Test Steering Protocol. If a
test emits TAP it's a test, if it emits TSP it's a controller. TAP
should stay pure.
Sounds to me like it should just be a custom test harness. If the
user needs to
dynamically figure out which tests to run, then why not create a
custom harness
which will do what they need. This way they can have control over
not only which
files to run, but which routines (if they're using Test::Class),
etc, etc.
Writing your own harness is trivial now. I'd say writing something
to emit a new
protocol is no easier than writing a script that picks the test
files/subs to run.
Yeah, but from the user's PoV this is pretty easy:
# t/controller.t
use Test::Steering;
include ('xt/frob') if frob_avail();
include ('xt/slow') if all_the_time_in_the_world();
And it's not too hard to support in the harness.
--
Andy Armstrong, Hexten