Re: [PATCH] kunit: tool: Fix bug in parsing test plan
From: Brendan Jackman
Date: Thu Mar 06 2025 - 07:26:10 EST
On Thu, 6 Mar 2025 at 10:00, David Gow <davidgow@xxxxxxxxxx> wrote:
>
> On Thu, 6 Mar 2025 at 08:29, Rae Moar <rmoar@xxxxxxxxxx> wrote:
> >
> > A bug was identified where the KTAP below caused an infinite loop:
> >
> > TAP version 13
> > ok 4 test_case
> > 1..4
> >
> > The infinite loop was caused by the parser not parsing a test plan
> > if following a test result line.
> >
> > Fix bug to correctly parse test plan and add error if test plan is
> > missing.
> >
> > Signed-off-by: Rae Moar <rmoar@xxxxxxxxxx>
Thanks for taking a look at this Rae! I tried to take a look myself
but I could not really get a grip on the parsing logic in the time I
had.
> Thanks for looking into this: I don't think we want to unconditionally
> error if there's no test plan, though. Pretty much no parameterised
> tests include one -- it's not always possible to know how many tests
> there'll be in advance -- so this triggers all of the time.
>
> Maybe we can only include an error if we find a test plan line after
> an existing result, or something?
Since I reported this bug, I discovered that the example above is in
fact valid TAP:
> The plan [...] must appear once, whether at the beginning or end of the output.
>From https://testanything.org/tap-version-13-specification.html