All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/6] scripts/resulttool/regression: add metadata filtering
@ 2023-02-24 16:45 alexis.lothore
  2023-02-24 16:45 ` [PATCH v3 1/6] scripts/oe-selftest: append metadata to tests results alexis.lothore
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: alexis.lothore @ 2023-02-24 16:45 UTC (permalink / raw)
  To: openembedded-core; +Cc: alexandre.belloni, thomas.petazzoni

From: Alexis Lothoré <alexis.lothore@bootlin.com>

Hello,
this new series is the follow-up of [1] to make regression reports more
meaningful, by reducing noise and false positives.

Change since v2:
- add filtering on MACHINE field from test results configuration: the MACHINE
  should always match
- add "metadata guessing" mechanism based on Richard proposal ([2]). Up to the
  point where this series will be merged, tests results stored in git are not
  enriched with OESELFTEST_METADATA. To allow proper test comparison even with
  those tests, try to guess what oeselftest command line has been used to run
  the corresponding tests, and generate OESELFTEST_METADATA accordingly
- add new tool to ease test results usage: yocto_testresults_query. For now the
  tool only manages regression report and is a thin layer between send-qa-email
  (in yocto-autobuilder-helper) and resulttool. Its main role is to translate
  regression reports arguments (which are tags or branches) to fixed revisions
  and to call resulttool accordingly. Most of its code is a transfer from
  send-qa-email (another series for the autobuilder will follow this one to make
  send-qa-email use this new helper, but this current series works
  independently)
  Example: "yocto_testresults_query.py regression-report 4.2_M1 4.2_M2" will
  replay the regression report generated when the 4.2_M2 has been generated.

Change since v1:
- properly configure "From" field in series

With those improvements, the regression report is significantly reduced and some
useful data start to emerge from the removed noise:
- with the MACHINE filtering, the 4.2_M2 report goes from 5.5GB to 627MB
- with the OESELFTEST_METADATA enrichment + metadata guessing for older tests,
  the report goes from 627MB to 1.5MB

After manual inspection on some entries, the remaining oeselftest regression
raised in the report seems valid. There are still some issues to tackle:
- it seems that now one major remaining source of noise is on the "runtime"
  tests (comparison to tests not run on "target" results)
- when a ptest managed by oe-selftest fails, I guess the remaining tests are not
  run, so when 1 failure is logged, we have many "PASSED->None" transitions in
  regression report, we should probably silence it.
- some transitions appear as regression while those are in fact improvements
  (e.g: "UNRESOLVED->PASSED")

[1] https://lore.kernel.org/openembedded-core/20230214165309.63527-1-alexis.lothore@bootlin.com/
[2] https://lore.kernel.org/openembedded-core/124b9c9667b038b8502f6457ba7d894fc4ef3c58.camel@linuxfoundation.org/

Alexis Lothoré (6):
  scripts/oe-selftest: append metadata to tests results
  scripts/resulttool/regression: remove unused import
  scripts/resulttool/regression: add metadata filtering for oeselftest
  oeqa/selftest/resulttool: add test for metadata filtering on
    regression
  scripts: add new helper for regression report generation
  oeqa/selftest: add test for yocto_testresults_query.py

 .../oeqa/selftest/cases/resulttooltests.py    | 137 +++++++++++++++
 .../cases/yoctotestresultsquerytests.py       |  39 +++++
 meta/lib/oeqa/selftest/context.py             |  15 +-
 scripts/lib/resulttool/regression.py          | 163 +++++++++++++++++-
 scripts/yocto_testresults_query.py            | 106 ++++++++++++
 5 files changed, 458 insertions(+), 2 deletions(-)
 create mode 100644 meta/lib/oeqa/selftest/cases/yoctotestresultsquerytests.py
 create mode 100755 scripts/yocto_testresults_query.py

-- 
2.39.1



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2023-02-27 13:41 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-24 16:45 [PATCH v3 0/6] scripts/resulttool/regression: add metadata filtering alexis.lothore
2023-02-24 16:45 ` [PATCH v3 1/6] scripts/oe-selftest: append metadata to tests results alexis.lothore
2023-02-24 16:45 ` [PATCH v3 2/6] scripts/resulttool/regression: remove unused import alexis.lothore
2023-02-24 16:45 ` [PATCH v3 3/6] scripts/resulttool/regression: add metadata filtering for oeselftest alexis.lothore
2023-02-24 16:45 ` [PATCH v3 4/6] oeqa/selftest/resulttool: add test for metadata filtering on regression alexis.lothore
2023-02-26  0:03   ` [OE-core] " Richard Purdie
2023-02-24 16:45 ` [PATCH v3 5/6] scripts: add new helper for regression report generation alexis.lothore
2023-02-24 16:45 ` [PATCH v3 6/6] oeqa/selftest: add test for yocto_testresults_query.py alexis.lothore
2023-02-24 18:06 ` [OE-core] [PATCH v3 0/6] scripts/resulttool/regression: add metadata filtering Richard Purdie
     [not found] ` <1746D4E8592324E9.29542@lists.openembedded.org>
2023-02-25  9:15   ` Richard Purdie
     [not found]   ` <1747067DAE80068A.29542@lists.openembedded.org>
2023-02-25 12:32     ` Richard Purdie
2023-02-25 15:59       ` Alexis Lothoré
2023-02-26 12:15         ` Richard Purdie
2023-02-26 15:42           ` Alexis Lothoré
2023-02-27 13:41             ` Richard Purdie
     [not found]     ` <1747113C8A4DBAD6.29542@lists.openembedded.org>
2023-02-25 12:44       ` Richard Purdie
2023-02-27 13:14         ` Ross Burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.