Directives are notes that change the meaning of a Test Result. TAP has two directives, SKIP and TODO.
When a Test Result is marked as SKIP it is counted as having been skipped.
e.g.: ok 3 - # SKIP Module RPC::XML is not present
On the other hand, a TODO directive tells the test harness that a Test Result is missing something that will be corrected later.
e.g.: ok 3 - # TODO install module RPC::XML
Before version 2.0.5, tap4j Parser ignored lower case skip or todo directives. However after an issue about this was raised in Jenkins TAP Plug-in we re-read the specification and checked in tap-l (the TAP mailing list) if it would be correct to use upper and lower case for directives. Now tap4j Parser interprets both lower and upper case directives, i.e., # SKIP or # skip, and # TODO or # todo.
H.Merijn Brand, Steffen Schwigon and Ovid contributed with their thoughts on parsing upper and lower case directives in tap-l. Thank you guys.