diff mbox series

[4/6] scripts/resulttool: fix ptests results containing a non reproducible path

Message ID 20230228181052.4191521-7-alexis.lothore@bootlin.com
State Accepted, archived
Commit 601eecfddd26bfe2954835a73ed1116bb520235f
Headers show
Series keep reducing regression reports noise | expand

Commit Message

Alexis Lothoré Feb. 28, 2023, 6:10 p.m. UTC
From: Alexis Lothoré <alexis.lothore@bootlin.com>

Some ptests results may be wrongly sampled, resulting in some part of the error
being propagated in test name. For example:

"ptestresult.binutils-ld.in testcase /home/pokybuild/yocto-worker/qemumips/build/build-st-1666126/tmp/work/mips32r2-poky-linux/binutils-cross-testsuite/2.40-r0/git/ld/testsuite/ld-ctf/ctf.exp"
"ptestresult.gcc.Couldn't create remote directory /tmp/runtest.455781 on ssh"
"ptestresult.gcc-libstdc++-v3.Couldn't create remote directory /tmp/runtest.3814266 on target"

While the root errors must be fixed in corresponding ptests packages for those
tests, the test results history must still be usable even with this issue

Add new filters to detect if temporary test directories (build-st-*,
/tmp/runtime.*) are present in name. If so, truncate test name. As a side
effect, it will aggregate multiple failing errors into one, but the regression
will still be raised

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
---
 scripts/lib/resulttool/regression.py | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox series

Patch

diff --git a/scripts/lib/resulttool/regression.py b/scripts/lib/resulttool/regression.py
index ad377c596b6..d7f0b16ca98 100644
--- a/scripts/lib/resulttool/regression.py
+++ b/scripts/lib/resulttool/regression.py
@@ -219,6 +219,12 @@  def fixup_ptest_names(results, logger):
                     new = test.split("_-_")[0]
                 elif test.startswith(("ptestresult.curl.")) and "__" in test:
                     new = test.split("__")[0]
+                elif test.startswith(("ptestresult.dbus.")) and "__" in test:
+                    new = test.split("__")[0]
+                elif test.startswith("ptestresult.binutils") and "build-st-" in test:
+                    new = test.split(" ")[0]
+                elif test.startswith("ptestresult.gcc") and "/tmp/runtest." in test:
+                    new = ".".join(test.split(".")[:2])
                 if new:
                     results[r][i]['result'][new] = results[r][i]['result'][test]
                     del results[r][i]['result'][test]