Andy Armstrong wrote: > On 1 Nov 2007, at 14:32, Michael Peters wrote: >> But if they just do their own harness it becomes: >> >> push('xt/frob', @tests)if frob_avail(); >> push('xt/slow) if all_the_time_in_the_world(); >> Test::Harness::runtests(@tests); > > > Yes, they could. But if you write your own harness you presumably lose, > e.g., the advantages of all the different ways you can run the tests > via prove. And presumably you couldn't use tk-prove or whatever it's > called.
Ok, that's true. > It's mixing test logic into harness logic. Isn't it better for the tests > to be completely self describing and keep the harness generic? Then your > tests will work with any Test::Harness based tool and any compatible TAP > harness. Isn't this the problem that SKIP was designed to fix? If it needs to dynamically determined if a test should run, isn't the test itself the best place to do that? xt tests shouldn't be run unless explicity done so by the runner of the tests (a developer) who presumably knows that they are doing. Instead of "something else" telling the harness which tests to run, why not have the harness run them all and the individual tests can decide if they don't want to go through with it or not. If "something else" tells the harness which tests to run, we loose the information about which tests didn't run and why. Testing in Perl is really nice and simple and I'm not seeing the benefits or the problems being solved with this complexity that can't already be solved using something else. -- Michael Peters Developer Plus Three, LP