diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-10-29 10:21:22 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-11-05 10:57:56 +0000 |
| commit | e598223e0b765c0a418c4f036927ef3e567c56ed (patch) | |
| tree | a44d237a93ea7ca9fa8f72ad6f67e1464c8afc84 | |
| parent | 8ea375589d68dfbf4eaf4974200c6a5a8b3a4b49 (diff) | |
| download | poky-e598223e0b765c0a418c4f036927ef3e567c56ed.tar.gz | |
oeqa/selftest: Drop machines support
The machines option to oe-selftest isn't used in our CI and is never likely to
be, we focus and execute testing explictly. The YOCTO #15247 is about how
this code doesn't interact well with build directory cleanup and at this point
I think we should just remove the option/code.
(From OE-Core rev: 815d04a2007e1154b69f1a027c8677ea86935354)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/lib/oeqa/selftest/case.py | 12 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/context.py | 51 |
2 files changed, 1 insertions, 62 deletions
diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index 54d90c78ac..da35b25f68 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py | |||
| @@ -117,10 +117,6 @@ class OESelftestTestCase(OETestCase): | |||
| 117 | if e.errno != errno.ENOENT: | 117 | if e.errno != errno.ENOENT: |
| 118 | raise | 118 | raise |
| 119 | 119 | ||
| 120 | if self.tc.custommachine: | ||
| 121 | machine_conf = 'MACHINE ??= "%s"\n' % self.tc.custommachine | ||
| 122 | self.set_machine_config(machine_conf) | ||
| 123 | |||
| 124 | # tests might need their own setup | 120 | # tests might need their own setup |
| 125 | # but if they overwrite this one they have to call | 121 | # but if they overwrite this one they have to call |
| 126 | # super each time, so let's give them an alternative | 122 | # super each time, so let's give them an alternative |
| @@ -178,19 +174,11 @@ class OESelftestTestCase(OETestCase): | |||
| 178 | self.logger.debug("Writing to: %s\n%s\n" % (dest_path, data)) | 174 | self.logger.debug("Writing to: %s\n%s\n" % (dest_path, data)) |
| 179 | ftools.write_file(dest_path, data) | 175 | ftools.write_file(dest_path, data) |
| 180 | 176 | ||
| 181 | if not multiconfig and self.tc.custommachine and 'MACHINE' in data: | ||
| 182 | machine = get_bb_var('MACHINE') | ||
| 183 | self.logger.warning('MACHINE overridden: %s' % machine) | ||
| 184 | |||
| 185 | def append_config(self, data): | 177 | def append_config(self, data): |
| 186 | """Append to <builddir>/conf/selftest.inc""" | 178 | """Append to <builddir>/conf/selftest.inc""" |
| 187 | self.logger.debug("Appending to: %s\n%s\n" % (self.testinc_path, data)) | 179 | self.logger.debug("Appending to: %s\n%s\n" % (self.testinc_path, data)) |
| 188 | ftools.append_file(self.testinc_path, data) | 180 | ftools.append_file(self.testinc_path, data) |
| 189 | 181 | ||
| 190 | if self.tc.custommachine and 'MACHINE' in data: | ||
| 191 | machine = get_bb_var('MACHINE') | ||
| 192 | self.logger.warning('MACHINE overridden: %s' % machine) | ||
| 193 | |||
| 194 | def remove_config(self, data): | 182 | def remove_config(self, data): |
| 195 | """Remove data from <builddir>/conf/selftest.inc""" | 183 | """Remove data from <builddir>/conf/selftest.inc""" |
| 196 | self.logger.debug("Removing from: %s\n%s\n" % (self.testinc_path, data)) | 184 | self.logger.debug("Removing from: %s\n%s\n" % (self.testinc_path, data)) |
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index 5a09aeedff..57844b289a 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py | |||
| @@ -70,8 +70,6 @@ class OESelftestTestContext(OETestContext): | |||
| 70 | def __init__(self, td=None, logger=None, machines=None, config_paths=None, newbuilddir=None, keep_builddir=None): | 70 | def __init__(self, td=None, logger=None, machines=None, config_paths=None, newbuilddir=None, keep_builddir=None): |
| 71 | super(OESelftestTestContext, self).__init__(td, logger) | 71 | super(OESelftestTestContext, self).__init__(td, logger) |
| 72 | 72 | ||
| 73 | self.machines = machines | ||
| 74 | self.custommachine = None | ||
| 75 | self.config_paths = config_paths | 73 | self.config_paths = config_paths |
| 76 | self.newbuilddir = newbuilddir | 74 | self.newbuilddir = newbuilddir |
| 77 | 75 | ||
| @@ -160,12 +158,6 @@ class OESelftestTestContext(OETestContext): | |||
| 160 | return NonConcurrentTestSuite(suites, processes, self.setup_builddir, self.removebuilddir, self.bb_vars) | 158 | return NonConcurrentTestSuite(suites, processes, self.setup_builddir, self.removebuilddir, self.bb_vars) |
| 161 | 159 | ||
| 162 | def runTests(self, processes=None, machine=None, skips=[]): | 160 | def runTests(self, processes=None, machine=None, skips=[]): |
| 163 | if machine: | ||
| 164 | self.custommachine = machine | ||
| 165 | if machine == 'random': | ||
| 166 | self.custommachine = choice(self.machines) | ||
| 167 | self.logger.info('Run tests with custom MACHINE set to: %s' % \ | ||
| 168 | self.custommachine) | ||
| 169 | return super(OESelftestTestContext, self).runTests(processes, skips) | 161 | return super(OESelftestTestContext, self).runTests(processes, skips) |
| 170 | 162 | ||
| 171 | def listTests(self, display_type, machine=None): | 163 | def listTests(self, display_type, machine=None): |
| @@ -205,9 +197,6 @@ class OESelftestTestContextExecutor(OETestContextExecutor): | |||
| 205 | parser.add_argument('-j', '--num-processes', dest='processes', action='store', | 197 | parser.add_argument('-j', '--num-processes', dest='processes', action='store', |
| 206 | type=int, help="number of processes to execute in parallel with") | 198 | type=int, help="number of processes to execute in parallel with") |
| 207 | 199 | ||
| 208 | parser.add_argument('--machine', required=False, choices=['random', 'all'], | ||
| 209 | help='Run tests on different machines (random/all).') | ||
| 210 | |||
| 211 | parser.add_argument('-t', '--select-tag', dest="select_tags", | 200 | parser.add_argument('-t', '--select-tag', dest="select_tags", |
| 212 | action='append', default=None, | 201 | action='append', default=None, |
| 213 | help='Filter all (unhidden) tests to any that match any of the specified tag(s).') | 202 | help='Filter all (unhidden) tests to any that match any of the specified tag(s).') |
| @@ -222,20 +211,6 @@ class OESelftestTestContextExecutor(OETestContextExecutor): | |||
| 222 | parser.add_argument('-v', '--verbose', action='store_true') | 211 | parser.add_argument('-v', '--verbose', action='store_true') |
| 223 | parser.set_defaults(func=self.run) | 212 | parser.set_defaults(func=self.run) |
| 224 | 213 | ||
| 225 | def _get_available_machines(self): | ||
| 226 | machines = [] | ||
| 227 | |||
| 228 | bbpath = self.tc_kwargs['init']['td']['BBPATH'].split(':') | ||
| 229 | |||
| 230 | for path in bbpath: | ||
| 231 | found_machines = glob.glob(os.path.join(path, 'conf', 'machine', '*.conf')) | ||
| 232 | if found_machines: | ||
| 233 | for i in found_machines: | ||
| 234 | # eg: '/home/<user>/poky/meta-intel/conf/machine/intel-core2-32.conf' | ||
| 235 | machines.append(os.path.splitext(os.path.basename(i))[0]) | ||
| 236 | |||
| 237 | return machines | ||
| 238 | |||
| 239 | def _get_cases_paths(self, bbpath): | 214 | def _get_cases_paths(self, bbpath): |
| 240 | cases_paths = [] | 215 | cases_paths = [] |
| 241 | for layer in bbpath: | 216 | for layer in bbpath: |
| @@ -266,7 +241,6 @@ class OESelftestTestContextExecutor(OETestContextExecutor): | |||
| 266 | args.list_tests = 'name' | 241 | args.list_tests = 'name' |
| 267 | 242 | ||
| 268 | self.tc_kwargs['init']['td'] = bbvars | 243 | self.tc_kwargs['init']['td'] = bbvars |
| 269 | self.tc_kwargs['init']['machines'] = self._get_available_machines() | ||
| 270 | 244 | ||
| 271 | builddir = os.environ.get("BUILDDIR") | 245 | builddir = os.environ.get("BUILDDIR") |
| 272 | self.tc_kwargs['init']['config_paths'] = {} | 246 | self.tc_kwargs['init']['config_paths'] = {} |
| @@ -414,30 +388,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor): | |||
| 414 | 388 | ||
| 415 | rc = None | 389 | rc = None |
| 416 | try: | 390 | try: |
| 417 | if args.machine: | 391 | rc = self._internal_run(logger, args) |
| 418 | logger.info('Custom machine mode enabled. MACHINE set to %s' % | ||
| 419 | args.machine) | ||
| 420 | |||
| 421 | if args.machine == 'all': | ||
| 422 | results = [] | ||
| 423 | for m in self.tc_kwargs['init']['machines']: | ||
| 424 | self.tc_kwargs['run']['machine'] = m | ||
| 425 | results.append(self._internal_run(logger, args)) | ||
| 426 | |||
| 427 | # XXX: the oe-selftest script only needs to know if one | ||
| 428 | # machine run fails | ||
| 429 | for r in results: | ||
| 430 | rc = r | ||
| 431 | if not r.wasSuccessful(): | ||
| 432 | break | ||
| 433 | |||
| 434 | else: | ||
| 435 | self.tc_kwargs['run']['machine'] = args.machine | ||
| 436 | return self._internal_run(logger, args) | ||
| 437 | |||
| 438 | else: | ||
| 439 | self.tc_kwargs['run']['machine'] = args.machine | ||
| 440 | rc = self._internal_run(logger, args) | ||
| 441 | finally: | 392 | finally: |
| 442 | config_paths = self.tc_kwargs['init']['config_paths'] | 393 | config_paths = self.tc_kwargs['init']['config_paths'] |
| 443 | 394 | ||
