summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorPaul Barker <pbarker@konsulko.com>2020-06-03 21:07:36 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-06-18 12:25:01 +0100
commit11ce1ec5a6aefb7e1ee4b995d2a3c9ad689cb016 (patch)
tree83099ebfd744f170b69f8c914d50c91432086f72 /meta/lib
parentb79d55961e77fcab5b72cc9f5e8edbaf5730e21a (diff)
downloadpoky-11ce1ec5a6aefb7e1ee4b995d2a3c9ad689cb016.tar.gz
oe-selftest: Allow overriding the build directory used for tests
This may be useful if the parent directory of the original builddir is not writable, on a lower performance drive, etc. (From OE-Core rev: 27cec9c111bca84554d94eeb71fb3d3fe9a77481) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit dab719e5f1964fd48e9a35e6b9db1508b5414540) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oeqa/selftest/context.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py
index 48ec5d419c..17f2a0cf6b 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -22,18 +22,22 @@ from oeqa.core.exception import OEQAPreRun, OEQATestNotFound
22from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer 22from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer
23 23
24class OESelftestTestContext(OETestContext): 24class OESelftestTestContext(OETestContext):
25 def __init__(self, td=None, logger=None, machines=None, config_paths=None): 25 def __init__(self, td=None, logger=None, machines=None, config_paths=None, newbuilddir=None):
26 super(OESelftestTestContext, self).__init__(td, logger) 26 super(OESelftestTestContext, self).__init__(td, logger)
27 27
28 self.machines = machines 28 self.machines = machines
29 self.custommachine = None 29 self.custommachine = None
30 self.config_paths = config_paths 30 self.config_paths = config_paths
31 self.newbuilddir = newbuilddir
31 32
32 def setup_builddir(self, suffix, selftestdir, suite): 33 def setup_builddir(self, suffix, selftestdir, suite):
33 builddir = os.environ['BUILDDIR'] 34 builddir = os.environ['BUILDDIR']
34 if not selftestdir: 35 if not selftestdir:
35 selftestdir = get_test_layer() 36 selftestdir = get_test_layer()
36 newbuilddir = builddir + suffix 37 if self.newbuilddir:
38 newbuilddir = os.path.join(self.newbuilddir, 'build' + suffix)
39 else:
40 newbuilddir = builddir + suffix
37 newselftestdir = newbuilddir + "/meta-selftest" 41 newselftestdir = newbuilddir + "/meta-selftest"
38 42
39 if os.path.exists(newbuilddir): 43 if os.path.exists(newbuilddir):
@@ -133,6 +137,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
133 action='append', default=None, 137 action='append', default=None,
134 help='Exclude all (unhidden) tests that match any of the specified tag(s). (exclude applies before select)') 138 help='Exclude all (unhidden) tests that match any of the specified tag(s). (exclude applies before select)')
135 139
140 parser.add_argument('-B', '--newbuilddir', help='New build directory to use for tests.')
136 parser.set_defaults(func=self.run) 141 parser.set_defaults(func=self.run)
137 142
138 def _get_available_machines(self): 143 def _get_available_machines(self):
@@ -187,6 +192,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
187 self.tc_kwargs['init']['config_paths']['builddir'] = builddir 192 self.tc_kwargs['init']['config_paths']['builddir'] = builddir
188 self.tc_kwargs['init']['config_paths']['localconf'] = os.path.join(builddir, "conf/local.conf") 193 self.tc_kwargs['init']['config_paths']['localconf'] = os.path.join(builddir, "conf/local.conf")
189 self.tc_kwargs['init']['config_paths']['bblayers'] = os.path.join(builddir, "conf/bblayers.conf") 194 self.tc_kwargs['init']['config_paths']['bblayers'] = os.path.join(builddir, "conf/bblayers.conf")
195 self.tc_kwargs['init']['newbuilddir'] = args.newbuilddir
190 196
191 def tag_filter(tags): 197 def tag_filter(tags):
192 if args.exclude_tags: 198 if args.exclude_tags: