From: "Knop, Ryszard" <ryszard.knop@intel.com>
To: "peter.senna@linux.intel.com" <peter.senna@linux.intel.com>,
"De Marchi, Lucas" <lucas.demarchi@intel.com>
Cc: "Kempczynski, Zbigniew" <zbigniew.kempczynski@intel.com>,
"igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
"Sousa, Gustavo" <gustavo.sousa@intel.com>
Subject: Re: [PATCH i-g-t] igt-runner fact checking
Date: Fri, 8 Nov 2024 01:15:03 +0000 [thread overview]
Message-ID: <4dbdbc32618cc7bbc7b13ee961534fc798be5b91.camel@intel.com> (raw)
In-Reply-To: <qkr5xhm23dbziwp53m2xwjciqeghfe4zdtlurnpgphyxplx5pk@dkwxqwdymu77>
On Thu, 2024-11-07 at 09:55 -0600, Lucas De Marchi wrote:
> +Ryszard to know if the CI part would be doable.
>
> On Thu, Nov 07, 2024 at 08:18:52AM +0100, Peter Senna Tschudin wrote:
> > > > + scan_kernel_loaded_kmods(list, last_test);
> > >
> > >
> > > So... igt_facts() hardcodes what is the info collected. Maybe we
> > > should rather plug this into the hooks framework as part of
> > > "built-in hooks".
> >
> > I do not follow what you are trying to communicate here. Also,
> > please see what Zbigniew said here*. Facts are not test
> > requirements, but the line is blurry. In the context here a fact is
> > something in the environment that can change but that should not.
> > An example is the disappearing GPU.
>
> $ ./build/runner/igt_runner --help | grep -A1 hook
> --hook HOOK_STR
> Forward HOOK_STR to the --hook option of
> each test.
> --help-hook
> Show detailed usage information for --hook.
>
> So... today we already have "generic support" for running arbitrary
> things before/after each test/subtest/dynamic-subtest.
>
> $ cat << EOF > testlist.txt
> igt@xe_exec_basic@once-basic
> EOF
> $ chmod +x lspci.sh
> $ sudo ./build/runner/igt_runner \
> --hook 'post-subtest:lspci -vv -d 8086:*:03xx' \
> --test-list testlist.txt build/tests/ results/
> $ head -n4 results/0/out.txt
> 03:00.0 VGA compatible controller: Intel Corporation DG2
> [Arc A580] (rev 08) (prog-if 00 [VGA controller])
> Subsystem: Intel Corporation Device 1425
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
> ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast
> >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
>
> So, instead of creating a separate thing called "igt_facts", what I'm
> proposing is that we build this on top of the hooks and these "facts"
> are simply built-in hooks that are commonly used. We may even keep
> them
> as scripts rather than translate to C.
>
> What I'd like is something liked this (with whatever name we decide):
>
> sudo ./build/runner/igt_runner --builtin-hooks lspci,drm-
> cards
>
> which is a shorthand or equivalent to:
>
> sudo ./build/runner/igt_runner \
> --hook post-subtest:$PWD/scripts/built-in-
> hooks/lspci.sh \
> --hook post-subtest:$PWD/scripts/built-in-hooks/drm-
> cards.sh \
> --test-list testlist.txt build/tests/ results/
>
> The cherry on top would be for CI to parse the cover letter and
> enable those ondemand, so we only do that in CI when we want to:
>
> /ci-built-in-hooks: lspci,drm-cards
>
> Could also be:
>
> /ci-hook: 'post-subtest:lspci -vv -d 8086:*:03xx'
Extra hooks more or less hardcoded in the command line for a given run
are easy, just let us know when to add them. Reading extras from the
cover letter is doable, but would require time (think: early next year,
not a week or two), as we are switching the Patchwork integration to a
new implementation at the moment.
Although, two comments about the "facts" infra:
- I like the simple text format, but if possible, make the output
easier to parse with a consistent format for all state changes, like:
[FACT <test>] <new|changed|deleted>: <prop>: <value>[ -> <new_value>]
- While running these facts within hooks could work, it would require
extending the hooks with something that can understand that a given
command is supposed to output a bunch of facts in a well-known format
(ideally JSON, alternatively a "key: value" text block), then diff them
against the state from the previou run of the same hook.
Just dumping arbitrary logs into the main runner log is going to be
rather noisy, and having this done in hooks would make that infra more
complicated - not sure if having separate infra just for facts is
unwarranted here. I feel like most of the value here comes from a very
short and readable diff of the interesting system state before/after a
given test executes, not from just having a couple of commands run on
each subtest.
Thanks, Ryszard
>
> (note that the current way we have is "Test-with:", but that is
> problematic as it's then parsed as a git-trailer and added to the
> patches by some tools)
>
> Lucas De Marchi
>
> >
> > So I suggest we start with the hardcoded simple code to assess the
> > potential value of these facts. If the facts turns out to be useful
> > in helping us debug corner cases, then we evaluate how to extend
> > it.
> >
> > Any other fact you want to add? Asking because I miss this code in
> > our CI to debug two issues that are on my queue...
> >
> > >
> > > This way it's easier to control what and when info is collected,
> > > allowing developers (and CI) to pick and choose what gets
> > > executed.
> >
> > The original idea was to have static and dynamic facts. The dynamic
> > idea suggested a convenient mechanism for each test to define facts
> > as needed. Zbigniew did not appreciate the potential to bloating.
> >
> > >
> > > +Gustavo
> > >
> > > Lucas De Marchi
> >
> > * -
> > https://patchwork.freedesktop.org/patch/621849/?series=140566&rev=1
> >
next prev parent reply other threads:[~2024-11-08 1:15 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-02 11:37 [PATCH i-g-t] igt-runner fact checking Peter Senna Tschudin
2024-11-04 19:27 ` ✓ CI.xeBAT: success for " Patchwork
2024-11-05 5:09 ` [PATCH i-g-t] " Peter Senna Tschudin
2024-11-05 8:18 ` ✗ CI.xeFULL: failure for " Patchwork
2024-11-06 9:28 ` [PATCH i-g-t v2] " Peter Senna Tschudin
2024-11-06 12:44 ` Kamil Konieczny
2024-11-07 7:03 ` Peter Senna Tschudin
2024-11-07 17:44 ` Kamil Konieczny
2024-11-06 11:15 ` ✗ Fi.CI.BAT: failure for igt-runner fact checking (rev2) Patchwork
2024-11-06 11:23 ` ✓ CI.xeBAT: success " Patchwork
2024-11-06 14:13 ` [PATCH i-g-t] igt-runner fact checking Lucas De Marchi
2024-11-07 6:57 ` [PATCH i-g-t v3] " Peter Senna Tschudin
2024-11-07 7:13 ` ✗ GitLab.Pipeline: warning for igt-runner fact checking (rev3) Patchwork
2024-11-07 7:18 ` [PATCH i-g-t] igt-runner fact checking Peter Senna Tschudin
2024-11-07 15:55 ` Lucas De Marchi
2024-11-07 17:48 ` Peter Senna Tschudin
2024-11-07 19:29 ` Lucas De Marchi
2024-11-08 5:30 ` Peter Senna Tschudin
2024-11-08 16:24 ` Lucas De Marchi
2024-11-08 1:15 ` Knop, Ryszard [this message]
2024-11-08 6:51 ` Peter Senna Tschudin
2024-11-08 13:41 ` Knop, Ryszard
2024-11-07 7:26 ` ✓ CI.xeBAT: success for igt-runner fact checking (rev3) Patchwork
2024-11-07 7:30 ` [PATCH i-g-t v3] igt-runner fact checking Peter Senna Tschudin
2024-11-07 17:39 ` Kamil Konieczny
2024-11-07 7:51 ` ✓ Fi.CI.BAT: success for igt-runner fact checking (rev3) Patchwork
2024-11-07 8:40 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-11-07 13:21 ` ✗ CI.xeFULL: failure for igt-runner fact checking (rev2) Patchwork
2024-11-08 12:54 ` ✗ CI.xeFULL: failure for igt-runner fact checking (rev3) Patchwork
2024-11-09 7:15 ` [PATCH i-g-t v4] igt-runner fact checking Peter Senna Tschudin
2024-11-09 7:46 ` [PATCH i-g-t v5] " Peter Senna Tschudin
2024-11-09 8:33 ` ✓ Fi.CI.BAT: success for igt-runner fact checking (rev5) Patchwork
2024-11-09 8:36 ` ✗ CI.xeBAT: failure " Patchwork
2024-11-11 5:55 ` Peter Senna Tschudin
2024-11-09 9:33 ` ✗ Fi.CI.IGT: " Patchwork
2024-11-11 5:54 ` Peter Senna Tschudin
2024-11-10 5:09 ` ✗ CI.xeFULL: " Patchwork
2024-11-11 5:53 ` Peter Senna Tschudin
2024-11-18 8:24 ` [PATCH i-g-t v6] igt-runner fact checking Peter Senna Tschudin
2024-11-18 13:07 ` Luca Coelho
2024-11-18 16:03 ` Peter Senna Tschudin
2024-11-19 8:19 ` Luca Coelho
2024-11-19 10:07 ` Peter Senna Tschudin
2024-11-19 10:24 ` Luca Coelho
2024-11-20 6:09 ` Peter Senna Tschudin
2024-11-18 20:45 ` ✓ CI.xeBAT: success for igt-runner fact checking (rev6) Patchwork
2024-11-18 21:00 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-11-19 5:31 ` Peter Senna Tschudin
2024-11-19 5:08 ` ✗ CI.xeFULL: " Patchwork
2024-11-19 6:15 ` Peter Senna Tschudin
2024-11-21 12:35 ` [PATCH i-g-t v7] igt-runner fact checking Peter Senna Tschudin
2024-11-21 14:22 ` [PATCH i-g-t v8] " Peter Senna Tschudin
2024-11-25 9:49 ` Zbigniew Kempczyński
2024-11-25 10:21 ` Peter Senna Tschudin
2024-11-25 11:32 ` Zbigniew Kempczyński
2024-11-21 20:48 ` ✓ Xe.CI.BAT: success for igt-runner fact checking (rev8) Patchwork
2024-11-21 20:57 ` ✗ i915.CI.BAT: failure " Patchwork
2024-11-22 6:36 ` Peter Senna Tschudin
2024-11-22 8:08 ` Illipilli, TejasreeX
2024-11-22 8:06 ` ✓ i915.CI.BAT: success " Patchwork
2024-11-22 8:11 ` ✗ Xe.CI.Full: failure " Patchwork
2024-11-22 8:27 ` Peter Senna Tschudin
2024-11-25 7:15 ` Peter Senna Tschudin
2024-11-25 7:20 ` Musial, Ewelina
2024-11-25 7:27 ` Musial, Ewelina
2024-11-25 10:54 ` Illipilli, TejasreeX
2024-11-24 15:01 ` ✗ i915.CI.Full: " Patchwork
2024-11-25 6:57 ` Peter Senna Tschudin
2024-11-25 10:54 ` Illipilli, TejasreeX
2024-11-25 10:39 ` ✓ i915.CI.Full: success " Patchwork
2024-11-29 7:08 ` [PATCH i-g-t v9] igt-runner fact checking Peter Senna Tschudin
2024-12-04 13:17 ` Piatkowski, Dominik Karol
2024-11-29 7:45 ` ✓ Xe.CI.BAT: success for igt-runner fact checking (rev9) Patchwork
2024-11-29 8:07 ` ✗ i915.CI.BAT: failure " Patchwork
2024-11-29 8:16 ` Peter Senna Tschudin
2024-11-29 13:48 ` Illipilli, TejasreeX
2024-11-29 13:42 ` ✓ i915.CI.BAT: success " Patchwork
2024-11-29 17:26 ` ✗ Xe.CI.Full: failure " Patchwork
2024-12-02 5:01 ` Peter Senna Tschudin
2024-11-29 17:28 ` ✗ i915.CI.Full: " Patchwork
2024-12-02 5:07 ` Peter Senna Tschudin
2024-12-03 6:43 ` Illipilli, TejasreeX
2024-12-02 14:29 ` ✓ i915.CI.Full: success " Patchwork
2024-12-05 4:54 ` [PATCH i-g-t v10] igt-runner fact checking Peter Senna Tschudin
2024-12-05 9:08 ` Piatkowski, Dominik Karol
2024-12-06 11:42 ` Kamil Konieczny
2024-12-06 13:16 ` Peter Senna Tschudin
2024-12-06 16:46 ` Kamil Konieczny
2024-12-05 5:41 ` ✓ i915.CI.BAT: success for igt-runner fact checking (rev10) Patchwork
2024-12-05 6:07 ` ✓ Xe.CI.BAT: " Patchwork
2024-12-05 6:58 ` ✗ i915.CI.Full: failure " Patchwork
2024-12-05 8:15 ` Peter Senna Tschudin
2024-12-05 13:01 ` Illipilli, TejasreeX
2024-12-05 8:02 ` ✗ Xe.CI.Full: " Patchwork
2024-12-05 8:35 ` Peter Senna Tschudin
2024-12-05 10:51 ` [PATCH i-g-t v11] igt-runner fact checking Peter Senna Tschudin
2024-12-09 10:53 ` Zbigniew Kempczyński
2024-12-09 17:16 ` Kamil Konieczny
2024-12-10 12:00 ` Knop, Ryszard
2024-12-10 14:14 ` Knop, Ryszard
2024-12-05 12:59 ` ✓ i915.CI.Full: success for igt-runner fact checking (rev10) Patchwork
2024-12-12 7:15 ` [PATCH i-g-t v12 0/3] igt_facts for fact tracking Peter Senna Tschudin
2024-12-12 7:15 ` [PATCH i-g-t v12 1/3] lib/igt_facts: Library and unit testing " Peter Senna Tschudin
2024-12-12 16:19 ` Zbigniew Kempczyński
2024-12-12 7:15 ` [PATCH i-g-t v12 2/3] tools/lsfacts: Add tool for listing facts Peter Senna Tschudin
2024-12-12 16:20 ` Zbigniew Kempczyński
2024-12-12 7:15 ` [PATCH i-g-t v12 3/3] runner/executor: Integrate igt_facts functionality Peter Senna Tschudin
2024-12-12 16:23 ` Zbigniew Kempczyński
2024-12-12 17:33 ` Kamil Konieczny
2024-12-12 8:16 ` ✓ Xe.CI.BAT: success for igt-runner fact checking (rev12) Patchwork
2024-12-12 8:43 ` ✓ i915.CI.BAT: " Patchwork
2024-12-12 12:57 ` ✗ i915.CI.Full: failure " Patchwork
2024-12-12 14:30 ` ✗ Xe.CI.Full: " 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=4dbdbc32618cc7bbc7b13ee961534fc798be5b91.camel@intel.com \
--to=ryszard.knop@intel.com \
--cc=gustavo.sousa@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
--cc=peter.senna@linux.intel.com \
--cc=zbigniew.kempczynski@intel.com \
/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