Prechádzať zdrojové kódy

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>
Robert Yang 6 rokov pred
rodič
commit
f4743e0686

+ 4 - 1
meta/lib/oeqa/core/utils/concurrencytest.py

@@ -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)