Modification to test plan layout
Jeffrey Lane
jeff at canonical.com
Fri Mar 24 17:42:19 UTC 2017
Interestingly, The first draft of that message was suggesting YAML,
but then I changed it to RFC822 since we already use that for the job
descriptions, and it seems a bit odd to have two different definition
templates for the same tool.
The YAML looked something like this: (maybe not the best design, but
it's kinda what I was imagining).
<include>
<namespace name=2013.com.canonical.blah>
<test name=TestA>
<blocker>true</blocker>
<retry>4</retry>
</test>
</namespace>
</include>
<mandatory_include>
<namespace name=2016.com.canonical.snappy>
<test name=MandatoryB></test>
</namespace>
</mandatory_include>
Anyway, it was an idea I had, maybe in some future modifications, such
a thing could be put on the board.
On Fri, Mar 24, 2017 at 6:36 AM, Maciej Kisielewski
<maciej.kisielewski at canonical.com> wrote:
> Hey!
>
> I'm totally with you on making definitions more readable.
>
> But...
>
> We're using RFC822 for all our definitions and it's painfully limited in
> what it can handle.
> Currently a test plan is a one, flat record (flat meaning no subrecords),
> and for instance the whole `include` field is just one field, and rfc
> doesn't differentiate if it's a list or not.
> If we were to have a tree structure, just like one you proposed, we'd have
> to do a bit more complicated parser for checkbox and write a lot of
> docs/tests to make it good. And this would just be Yet Another Checkbox
> Syntax. And you probably know where I'm going with this :) Your example is
> strikingly similar to YAML, so if we are to do a radical change in how we
> define jobs and other units, my vote would go for something standard, like
> YAML (with all its tools, metas, tests, all that jazz.
>
> Other benefits:
> - The pxu -> yaml translation could be very much automated (and would help
> validate the effort).
> - I think we all agree that rfc822 sucks (think multiline entries)
> - SPEEEEED - after my optimisation efforts from last year, at current HEAD,
> most of the time spent while waiting on *box to spool up, is the pxu parser.
> I'm expecting yaml parser to be 'a bit' faster.
> - From a snappy perspective: kind of unification of description languages.
>
> On Wed, Mar 22, 2017 at 7:42 PM, Jeffrey Lane <jeffrey.lane at canonical.com>
> wrote:
>>
>> Forgive me if this is already planned out, but it occurred to me that
>> adding more and more "features" to tests means we should make sure
>> test plans can follow the same format as job descriptions. This
>> already happens, really, but I'd propose ensuring that the add-ons are
>> also treated the same way, rather than simply tabbed out from the job
>> name.
>>
>> This would allow the addition of any number of items to a test without
>> being terribly wide or unweildy.
>>
>> An example might look something like this:
>>
>> testcases:
>> mandatory_include:
>> some tests in a list
>> include:
>> name: testA
>> options:
>> retry=true
>> name: testB
>> options:
>> certification-status=blocker
>> retry: true
>> bootstrap_include:
>> name: testF
>> name: testH
>>
>> Additionally, it seems to me that the status option is a bit overly
>> complex. Rather than:
>>
>> certification-status=blocker
>> certification-status=non-blocker
>>
>> I'd propose simply looking for the keyword blocker. like this:
>>
>> name: testA
>> options:
>> blocker
>> retry
>> name: testB
>> options:
>> retry-once
>>
>> especially if there no real use for the "non-blocker" status. Since
>> lines without any certification-status option and lines with
>> certification-status=non-blocker seem to be handled the same way, the
>> only one that really has any effect on results display is "blocker".
>>
>> So I thought I'd share the idea...
>>
>> Thoughts? Can we do something like this?
>>
>> Jeff
>>
>> --
>> "Entropy isn't what it used to be."
>>
>> Jeff Lane -
>> Server Certification Lead, Warrior Poet, Biker, Lover of Pie
>> Phone: 919-442-8649
>> Ubuntu Ham: W4KDH Freenode IRC: bladernr or
>> bladernr_
>> gpg: 1024D/3A14B2DD 8C88 B076 0DD7 B404 1417 C466 4ABD 3635 3A14 B2DD
>>
>> --
>> Checkbox-devel mailing list
>> Checkbox-devel at lists.ubuntu.com
>> Modify settings or unsubscribe at:
>> https://lists.ubuntu.com/mailman/listinfo/checkbox-devel
>
>
>
>
> --
> Have a good one,
> Maciek
--
Jeff Lane - Server Certification Lead, Tools Developer, Warrior Poet,
Lover of Pie
Ubuntu Ham: W4KDH
Freenode IRC: bladernr or bladernr_
gpg: 1024D/3A14B2DD 8C88 B076 0DD7 B404 1417 C466 4ABD 3635 3A14 B2DD
More information about the Checkbox-devel
mailing list