Ovid wrote: > The corrected TAP grammar: > > digit ::= [:digit:] > character ::= ([:print:] - "\n") > positiveInteger ::= ( digit - '0' ) {digit} > nonNegativeInteger ::= digit {digit} > > tap ::= plan tests | tests plan {comment} > plan ::= '1..' nonNegativeInteger "\n" > lines ::= line {lines} > line ::= (comment | test) "\n" > tests ::= test {test} > test ::= status positiveInteger? description? directive? > status ::= 'not '? 'ok ' > description ::= (character - (digit '#')) {character - '#'} > directive ::= '#' ( 'TODO' | 'SKIP' ) ' ' {character}
TODO and SKIP are case insensitive > comment ::= '#' {character} I don't see the "skip all" syntax in there: # Skip all tests with no reason 1..0 # Skip all tests with a reason 1..0 # skip: reason You might find it handy to pull all the sample test files from the Test::Harness tests and use them to test TAPx::Parser. http://svn.perl.org/modules/Test-Harness/trunk/t/sample-tests/ The proper behaviors can be gleaned from t/strap-analyze.t