[OE-core] [PATCH 1/6] oeqa: Add selftest parallelisation support
richard.purdie at linuxfoundation.org
richard.purdie at linuxfoundation.org
Thu Jul 26 11:11:56 UTC 2018
On Thu, 2018-07-26 at 17:37 +0800, ChenQi wrote:
> On 07/26/2018 05:18 PM, Robert Yang wrote:
> >
> >
> > On 07/26/2018 05:10 PM, richard.purdie at linuxfoundation.org wrote:
> > > On Thu, 2018-07-26 at 14:00 +0800, Robert Yang wrote:
> > > >
> > > > On 07/26/2018 11:03 AM, Robert Yang wrote:
> > > > > Hi RP,
> > > > >
> > > > > On 07/17/2018 12:33 AM, Richard Purdie wrote:
> > > > > > This allows oe-selftest to take a -j option which specifies
> > > > > > how
> > > > > > much test
> > > > > > parallelisation to use. Currently this is "module" based
> > > > > > with
> > > > > > each module
> > > > > > being split and run in a separate build directory. Further
> > > > > > splitting could
> > > > > > be done but this seems a good compromise between test setup
> > > > > > and
> > > > > > parallelism.
> > > > > >
> > > > > > You need python-testtools and python-subunit installed to
> > > > > > use
> > > > > > this but only
> > > > > > when the -j option is specified.
> > > > >
> > > > > Should we add python-testtools-native and python-subunit-
> > > > > native,
> > > > > please ?
> > > > >
> > > > > And add them to TESTIMAGEDEPENDS ?
> > > >
> > > > After talked with Qi, this won't work since we use host's
> > > > python3. So
> > > > we need install them on host, or use buildtools-tarball.
> > >
> > > Correct, this is why the modules are only loaded if you use the
> > > -j
> > > option, so the dependency is only needed if you use bitbake -j.
> > > That at
> > > least minimises the cross-section of users affected.
> >
> > There might be a bug since we don't use -j in our build farm, but
> > I
> > see the no
> > testtools module error, I will do more investigations on it.
> >
>
> In testsdk.bbclass, we have:
> processes = d.getVar("TESTIMAGE_NUMBER_THREADS") or
> d.getVar("BB_NUMBER_THREADS")
> ....
> if processes:
> result = tc.runTests(processes=int(processes))
> else:
> result = tc.runTests()
>
> processes will not be None even if we don't set
> TESTIMAGE_NUMBER_THREADS. I think this is not expected.
Ah, yes, that was not intentional. We should perhaps put a:
try:
import testools, subunit
except ImportError:
xxx
in there...
Cheers,
Richard
More information about the Openembedded-core
mailing list