On 2/7/22 10:28 AM, frowand.list@xxxxxxxxx wrote: > From: Frank Rowand <frank.rowand@xxxxxxxx> > > Add the spec version to the title line. > > Explain likely source of "Unknown lines". > > "Unknown lines" in nested tests are optionally indented. > > Add "Unknown lines" items to differences between TAP & KTAP list > > Signed-off-by: Frank Rowand <frank.rowand@xxxxxxxx> > --- Please do not apply this version (v2). I was working off the KTAP specification from a different github repo than I should have been referencing. v3 upcoming. -Frank > > Changes since version 1 > - Explain likely source of "Unknown lines" > - "Unknown line" in nested tests are optionally indented > - Add "Unknown lines" items to differences between TAP & KTAP list > > Documentation/dev-tools/ktap.rst | 24 ++++++++++++++++++------ > 1 file changed, 18 insertions(+), 6 deletions(-) > > diff --git a/Documentation/dev-tools/ktap.rst b/Documentation/dev-tools/ktap.rst > index 878530cb9c27..9c40c94d3f12 100644 > --- a/Documentation/dev-tools/ktap.rst > +++ b/Documentation/dev-tools/ktap.rst > @@ -1,8 +1,8 @@ > .. SPDX-License-Identifier: GPL-2.0 > > -======================================== > -The Kernel Test Anything Protocol (KTAP) > -======================================== > +=================================================== > +The Kernel Test Anything Protocol (KTAP), version 1 > +=================================================== > > TAP, or the Test Anything Protocol is a format for specifying test results used > by a number of projects. It's website and specification are found at this `link > @@ -174,6 +174,13 @@ There may be lines within KTAP output that do not follow the format of one of > the four formats for lines described above. This is allowed, however, they will > not influence the status of the tests. > > +This is an important difference from TAP. Kernel tests may print messages > +to the system console or a log file. Both of these destinations may contain > +messages either from unrelated kernel or userspace activity, or kernel > +messages from non-test code that is invoked by the test. The kernel code > +invoked by the test likely is not aware that a test is in progress and > +thus can not print the message as a diagnostic message. > + > Nested tests > ------------ > > @@ -186,10 +193,13 @@ starting with another KTAP version line and test plan, and end with the overall > result. If one of the subtests fail, for example, the parent test should also > fail. > > -Additionally, all result lines in a subtest should be indented. One level of > +Additionally, all lines in a subtest should be indented. One level of > indentation is two spaces: " ". The indentation should begin at the version > line and should end before the parent test's result line. > > +"Unknown lines" are not considered to be lines in a subtest and thus are > +allowed to be either indented or not indented. > + > An example of a test with two nested subtests: > > .. code-block:: > @@ -225,9 +235,11 @@ Major differences between TAP and KTAP > -------------------------------------- > > Note the major differences between the TAP and KTAP specification: > -- yaml and json are not recommended in diagnostic messages > -- TODO directive not recognized > +- yaml and json are not recommended in KTAP diagnostic messages > +- TODO directive not recognized in KTAP > - KTAP allows for an arbitrary number of tests to be nested > +- TAP includes "Unknown lines" in the category of "Anything else" > +- TAP says "Unknown lines" are "incorrect; KTAP allows "Unknown lines" > > The TAP14 specification does permit nested tests, but instead of using another > nested version line, uses a line of the form >