summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorPaul Barker <pbarker@konsulko.com>2020-06-03 21:07:38 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-06-04 13:21:01 +0100
commit56e211d0f3c6cb84f5982e5de00faeeed69c1912 (patch)
tree21df1c1706f2bcddf7c656e9dea158bd25530160 /meta/lib
parent6a607da9a6aa05f86b0e77cccd066b9f286cfada (diff)
downloadopenembedded-core-contrib-56e211d0f3c6cb84f5982e5de00faeeed69c1912.tar.gz
oe-selftest: Recursively patch test case paths
This ensures that builddir is updated correctly to point to the new selftest build directory when we're given a list of test suites instead of a list of test cases. Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oeqa/selftest/context.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py
index 7589ca3c1f..494e9dbd1e 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -10,6 +10,7 @@ import glob
import sys
import importlib
import subprocess
+import unittest
from random import choice
import oeqa
@@ -60,9 +61,9 @@ class OESelftestTestContext(OETestContext):
os.chdir(newbuilddir)
- for t in suite:
+ def patch_test(t):
if not hasattr(t, "tc"):
- continue
+ return
cp = t.tc.config_paths
for p in cp:
if selftestdir in cp[p] and newselftestdir not in cp[p]:
@@ -70,6 +71,15 @@ class OESelftestTestContext(OETestContext):
if builddir in cp[p] and newbuilddir not in cp[p]:
cp[p] = cp[p].replace(builddir, newbuilddir)
+ def patch_suite(s):
+ for x in s:
+ if isinstance(x, unittest.TestSuite):
+ patch_suite(x)
+ else:
+ patch_test(x)
+
+ patch_suite(suite)
+
return (builddir, newbuilddir)
def prepareSuite(self, suites, processes):