]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
oeqa: selftest: context: run tests serially if testtools/subunit modules are not...
authorJulien Stephan <jstephan@baylibre.com>
Mon, 15 Apr 2024 12:03:17 +0000 (14:03 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 23 Apr 2024 12:40:17 +0000 (13:40 +0100)
commit35284404473b2c2d9f69594582868ed66ef3525e
tree93bfde368c905bc4155c4fdddbed22c973fcf250
parentdf28547387c2c122aef3e5326b216ec3f4d3caa7
oeqa: selftest: context: run tests serially if testtools/subunit modules are not found

If testtools and/or subunit modules are not found we get the following backtrace
(example for testtools):

  NOTE: Starting bitbake server...
  Traceback (most recent call last):
    File "<..>/poky/scripts/oe-selftest", line 60, in
  <module>
      ret = main()
    File "<..>/poky/scripts/oe-selftest", line 47, in main
      results = args.func(logger, args)
    File "<..>/poky/meta/lib/oeqa/selftest/context.py",
  line 391, in run
      rc = self._internal_run(logger, args)
    File "<..>/poky/meta/lib/oeqa/selftest/context.py",
  line 377, in _internal_run
      rc = self.tc.runTests(**self.tc_kwargs['run'])
    File "<..>/poky/meta/lib/oeqa/selftest/context.py",
  line 161, in runTests
      return super(OESelftestTestContext, self).runTests(processes, skips)
    File "<..>/poky/meta/lib/oeqa/core/context.py", line
  91, in runTests
      result = self.runner.run(self.prepareSuite(self.suites, processes))
    File "<..>/poky/meta/lib/oeqa/selftest/context.py",
  line 154, in prepareSuite
      from oeqa.core.utils.concurrencytest import ConcurrentTestSuite
    File
  "<..>/poky/meta/lib/oeqa/core/utils/concurrencytest.py",
  line 22, in <module>
      import testtools
  ModuleNotFoundError: No module named 'testtools'

Fix this by adding a custom callback on -j/--num-processes parameter to
check testtools and subunit modules. Fallback to serial testing if
missing. This strategy is already used in sdk/context.py

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
meta/lib/oeqa/selftest/context.py