----- Original Message ---- From: Shlomi Fish <[EMAIL PROTECTED]> > "t/sample-tests/todo" in the Test-Harness distribution reads: > > <<<<<<<<<<< > print <<DUMMY_TEST; > 1..5 todo 3 2; > ok 1 > ok 2 > not ok 3 > ok 4 > ok 5 > DUMMY_TEST > >>>>>>>>>>> > > As one can see, the "1..5" plan is followed by the "todo 3 2;" directive. > This is supposed to indicate something about plan ahead todo tests. (Instead > of the "# TODO" directives in the individual tests' outputs. Now: > > 1. t/sample-tests/todo is being run by Test-Harness, which seems to think > the "not ok 3" is a todo test. > > 2. This todo-enabled plan is not documented in: > > http://search.cpan.org/~petdance/Test-Harness/lib/Test/Harness/TAP.pod > > 3. TAPx-Parser version 0.20 cannot handle it. > > -------------- > > I'd like to know what I should do about this feature, because right now I'm > trying to convert Test-Run to use TAPX::Harness, and this is giving me > problems.
Hmm, that's curious. However, if it's undocumented I would argue against supporting it right now. What benefit does it gain us? It also makes the grammar a tad more complicated (though not overly so). This no longer works: tap ::= plan tests | tests plan plan ::= '1..' positiveInteger "\n"Instead we'd have to do this: tap ::= plan todoList "\n" tests | tests plan "\n"? plan ::= '1..' positiveInteger todoList ::= 'todo ' positiveInteger { ' ' positiveInteger } We can only allow the todoList on a leading plan because one on a trailing plan means we can't know the test results until the test run has completed (which would suck in the case of infinite streams). However, even allowing this on a leading plan is still problematic because either the programmer needs to know the test numbers in advance to add that list or the code somehow would need to deduce them. Then, we'd have to started defining the semantics of what happens if we have that leading todoList in case of one of those tests having a SKIP or TODO directive. I'm guessing that means that leading todoList test numbers would be ignored in that case? I would suggest that this is not a feature we want unless we can nail down its intent and semantics quite carefully. Does anyone know the rational behind it? Cheers, Ovid -- Buy the book -- http://www.oreilly.com/catalog/perlhks/ Perl and CGI -- http://users.easystreet.com/ovid/cgi_course/