From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
Tvrtko Ursulin <tursulin@ursulin.net>,
igt-dev@lists.freedesktop.org
Cc: Intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [igt-dev] [PATH i-g-t] igt: Test tagging support
Date: Wed, 12 Sep 2018 09:48:00 +0100 [thread overview]
Message-ID: <acbf031a-149e-cd04-9fe5-d4e44ead1584@linux.intel.com> (raw)
In-Reply-To: <153632060494.24156.11359042722018040119@skylake-alporthouse-com>
On 07/09/2018 12:43, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2018-09-07 12:14:20)
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> Proposal to add test tags as a replacement for separate test
>> list which can be difficult to maintain and get out of date.
>>
>> Putting this maintanenace inline with tests makes it easier
>> to remember to update the (now implicit) lists, and also enables
>> richer test selection possibilities for the test runner.
>>
>> Current method of implying tags from test/subtest names has a
>> couple of problems one of which is where some names can use
>> the same token for different meanings. (One example is the
>> "default" token.) It also creates a name clash between naming
>> and tagging.
>>
>> Test tags are strings of tokens separated by spaces, meaning of
>> which we decide by creating a convetion and helped by the
>> suitable helper macros.
>>
>> For example tags can be things like: gem, kms, basic, guc, flip,
>> semaphore, bz12345678, gt4e, reset, etc..
>>
>> At runtime this would look something like this (abbreviated for
>> readability):
>>
>> @ tests/gem_sync --list-subtests-with-tags
>> ...
>> forked-each TAGS="gem "
>> forked-store-each TAGS="gem "
>> basic-all TAGS="gem basic "
>> basic-store-all TAGS="gem basic "
>>
>> @ tests/gem_concurrent_blit --list-subtests-with-tags
>> ...
>> 16MiB-swap-gpuX-render-write-read-bcs-bomb TAGS="gem stress "
>> 16MiB-swap-gpuX-render-write-read-rcs-bomb TAGS="gem stress "
>> 16MiB-swap-gpuX-render-gpu-read-after-write-bomb TAGS="gem stress "
>>
>> @ tests/kms_flip --list-subtests-with-tags | grep basic
>> basic-plain-flip TAGS="kms basic "
>> basic-flip-vs-dpms TAGS="kms basic "
>>
>> Test runner could then enable usages like:
>>
>> ./run-tests --include gem --exclude stress
>
> Minor comment, I like some basic boolean algebra here
> --include "gem AND smoketest NOT stress"
> :)
That's what my hypothetical examples showed just with a different syntax!
> I'd probably tag everything according to which ioctls they use. I feel my
> endgoal is still to list tests by their kernel functions (which can and
> should be automatically derived), and their hw function which is the
> open problem.
If we want to do that automatically then tagging in this flavour
probably doesn't make sense and it should instead be an external database.
If we go on the ioctl granularity it can probably mostly have one
version, and it should be static enough to be able to live in the tree,
but if we go more granular, like something derived from kcov, then
that's out of the window. Since it will be tied both to a platform and
kernel version.
So I think tagging as proposed here is not appropriate for either, but
only if we wanted to tag on coarser functional areas and such.
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-09-12 8:48 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-07 11:14 [Intel-gfx] [PATH i-g-t] igt: Test tagging support Tvrtko Ursulin
2018-09-07 11:32 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2018-09-07 11:43 ` [igt-dev] [PATH i-g-t] " Chris Wilson
2018-09-12 8:48 ` Tvrtko Ursulin [this message]
2018-09-12 9:07 ` [igt-dev] [Intel-gfx] " Chris Wilson
2018-09-12 13:44 ` Tvrtko Ursulin
2018-09-07 13:55 ` [igt-dev] ✓ Fi.CI.IGT: success for " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=acbf031a-149e-cd04-9fe5-d4e44ead1584@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=Intel-gfx@lists.freedesktop.org \
--cc=chris@chris-wilson.co.uk \
--cc=igt-dev@lists.freedesktop.org \
--cc=tursulin@ursulin.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).