On 5/12/22 10:25, Daniel Latypov wrote:
On Wed, May 11, 2022 at 11:01 PM Frank Rowand frowand.list@gmail.com wrote:
================================================================================ #### discussion notes:
PRO: minimally invasive to specification.
CON:
KTAP does not include any mechanism to describe the value of <prefix string> to test harnesses and test output processing programs. The test output processing programs must infer the value of <prefix string> by detecting the <prefix string> in the "Version lines".
The detection of a "Version lines" might be a match of the regex:
"^.*KTAP version 2$"
This risks falsely detecting a "Version lines", but the risk is small???
Agree this is a risk and also think it's probably small, but it's hard to say. I think the $ anchoring the regex is probably safe enough.
As noted earlier, this tracks with what kunit.py already does. That was necessitated by dynamic prefixes such as timestamps, etc.f
That is a good observation. I nearly always have the prefix timestamp on my console output, and thus remove the timestamp with a regex when processing the data.
-Frank
So I think this is probably a fine risk to take.
I imagine we could add constraints of prefix string, e.g. must have [] around it, etc. if we want to try and minimize this risk. But I don't know if it's necessarily worth it, given what we know right now.
Along those lines, I think I like this approach (Alternative 1) more than Alternative 2/2b. I'm not sure we need a structured way to specify metadata in KTAP yet? The prefix seems like a reasonable candidate, but do others have ideas of other bits of metadata we'd want to be able to declare?
Daniel