mirror of
https://git.yoctoproject.org/poky
synced 2026-09-20 03:49:32 +02:00
buildhistory.bbclass: add ptest
The ptest log will be saved to buildhistory/ptest, we can easily get the regression result between builds by: $ git show HEAD ptest/pass.fail.skip.* [YOCTO #11547] (From OE-Core rev: dcb6cd19fb8c639cb844d116fb83827267f37421) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
8a5d3bf302
commit
5f6945f503
@@ -912,3 +912,33 @@ def write_latest_srcrev(d, pkghistdir):
|
|||||||
else:
|
else:
|
||||||
if os.path.exists(srcrevfile):
|
if os.path.exists(srcrevfile):
|
||||||
os.remove(srcrevfile)
|
os.remove(srcrevfile)
|
||||||
|
|
||||||
|
do_testimage[postfuncs] += "write_ptest_result"
|
||||||
|
do_testimage[vardepsexclude] += "write_ptest_result"
|
||||||
|
|
||||||
|
python write_ptest_result() {
|
||||||
|
write_latest_ptest_result(d, d.getVar('BUILDHISTORY_DIR'))
|
||||||
|
}
|
||||||
|
|
||||||
|
def write_latest_ptest_result(d, histdir):
|
||||||
|
import glob
|
||||||
|
import subprocess
|
||||||
|
test_log_dir = d.getVar('TEST_LOG_DIR')
|
||||||
|
input_ptest = os.path.join(test_log_dir, 'ptest_log')
|
||||||
|
output_ptest = os.path.join(histdir, 'ptest')
|
||||||
|
if os.path.exists(input_ptest):
|
||||||
|
try:
|
||||||
|
# Lock it avoid race issue
|
||||||
|
lock = bb.utils.lockfile(output_ptest + "/ptest.lock")
|
||||||
|
bb.utils.mkdirhier(output_ptest)
|
||||||
|
oe.path.copytree(input_ptest, output_ptest)
|
||||||
|
# Sort test result
|
||||||
|
for result in glob.glob('%s/pass.fail.*' % output_ptest):
|
||||||
|
bb.debug(1, 'Processing %s' % result)
|
||||||
|
cmd = ['sort', result, '-o', result]
|
||||||
|
bb.debug(1, 'Running %s' % cmd)
|
||||||
|
ret = subprocess.call(cmd)
|
||||||
|
if ret != 0:
|
||||||
|
bb.error('Failed to run %s!' % cmd)
|
||||||
|
finally:
|
||||||
|
bb.utils.unlockfile(lock)
|
||||||
|
|||||||
Reference in New Issue
Block a user