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:27:32 +0100
commit9800884deb81f01429d86014e0e6fadd2d659faa (patch)
tree02c8fa6500ae7a997dd1e470777bf5328597d94f /meta/lib
parent18a69b1cd26112a78db9b062348a98ceeabe377b (diff)
downloadpoky-9800884deb81f01429d86014e0e6fadd2d659faa.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. (From OE-Core rev: 56e211d0f3c6cb84f5982e5de00faeeed69c1912) 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
10import sys 10import sys
11import importlib 11import importlib
12import subprocess 12import subprocess
13import unittest
13from random import choice 14from random import choice
14 15
15import oeqa 16import oeqa
@@ -60,9 +61,9 @@ class OESelftestTestContext(OETestContext):
60 61
61 os.chdir(newbuilddir) 62 os.chdir(newbuilddir)
62 63
63 for t in suite: 64 def patch_test(t):
64 if not hasattr(t, "tc"): 65 if not hasattr(t, "tc"):
65 continue 66 return
66 cp = t.tc.config_paths 67 cp = t.tc.config_paths
67 for p in cp: 68 for p in cp:
68 if selftestdir in cp[p] and newselftestdir not in cp[p]: 69 if selftestdir in cp[p] and newselftestdir not in cp[p]:
@@ -70,6 +71,15 @@ class OESelftestTestContext(OETestContext):
70 if builddir in cp[p] and newbuilddir not in cp[p]: 71 if builddir in cp[p] and newbuilddir not in cp[p]:
71 cp[p] = cp[p].replace(builddir, newbuilddir) 72 cp[p] = cp[p].replace(builddir, newbuilddir)
72 73
74 def patch_suite(s):
75 for x in s:
76 if isinstance(x, unittest.TestSuite):
77 patch_suite(x)
78 else:
79 patch_test(x)
80
81 patch_suite(suite)
82
73 return (builddir, newbuilddir) 83 return (builddir, newbuilddir)
74 84
75 def prepareSuite(self, suites, processes): 85 def prepareSuite(self, suites, processes):