oeqa/concurrencytest: fix for locating meta-selftest

The previous code assumed builddir and meta-selftest are in the same dir, but
this isn't always true, builddir can be anywhere, use get_test_layer() to
locate meta-selftest can fix the problem.

(From OE-Core rev: 56d2493a9adfcc47ae7e265439e05ff42cdbbbbf)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang 2018-12-18 18:38:00 -08:00 committed by Richard Purdie
parent 2365e00b7c
commit f4743e0686

View File

@ -25,6 +25,7 @@ from itertools import cycle
from subunit import ProtocolTestCase, TestProtocolClient
from subunit.test_results import AutoTimingTestResultDecorator
from testtools import ThreadsafeForwardingResult, iterate_tests
from oeqa.utils.commands import get_test_layer
import bb.utils
import oe.path
@ -141,6 +142,9 @@ def removebuilddir(d):
def fork_for_tests(concurrency_num, suite):
result = []
if 'BUILDDIR' in os.environ:
selftestdir = get_test_layer()
test_blocks = partition_tests(suite, concurrency_num)
# Clear the tests from the original suite so it doesn't keep them alive
suite._tests[:] = []
@ -166,7 +170,6 @@ def fork_for_tests(concurrency_num, suite):
if 'BUILDDIR' in os.environ:
builddir = os.environ['BUILDDIR']
newbuilddir = builddir + "-st-" + str(ourpid)
selftestdir = os.path.abspath(builddir + "/../meta-selftest")
newselftestdir = newbuilddir + "/meta-selftest"
bb.utils.mkdirhier(newbuilddir)