mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

Config written to the emptytest include file is invalid after the test has cleaned up its temporary directories resulting in the emptytest recipe potentially having invalid content when parsed by successive bitbake runs. This presents the following error in tests after lic_checksum execution, e.g. 'oe-selftest -r lic_checksum recipetool' ERROR: .../emptytest.bb: Unable to get checksum for emptytest SRC_URI entry tmpn_nyosnq: file could not be found Remove the recipe include content once the bitbake runs are completed in each lic_checksum test case. (From OE-Core rev: 087df767a64b271b503d714df3df6d8b3caad1c0) Signed-off-by: Nathan Rossi <nathan.rossi@digi.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
60 lines
1.9 KiB
Python
60 lines
1.9 KiB
Python
#
|
|
# Copyright OpenEmbedded Contributors
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
import os
|
|
import tempfile
|
|
import urllib
|
|
|
|
from oeqa.selftest.case import OESelftestTestCase
|
|
from oeqa.utils.commands import bitbake
|
|
|
|
class LicenseTests(OESelftestTestCase):
|
|
|
|
def test_checksum_with_space(self):
|
|
bitbake_cmd = '-c populate_lic emptytest'
|
|
|
|
lic_file, lic_path = tempfile.mkstemp(" -afterspace")
|
|
os.close(lic_file)
|
|
#self.track_for_cleanup(lic_path)
|
|
|
|
self.write_config("INHERIT:remove = \"report-error\"")
|
|
|
|
self.write_recipeinc('emptytest', """
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
LIC_FILES_CHKSUM = "file://%s;md5=d41d8cd98f00b204e9800998ecf8427e"
|
|
SRC_URI = "file://%s;md5=d41d8cd98f00b204e9800998ecf8427e"
|
|
""" % (urllib.parse.quote(lic_path), urllib.parse.quote(lic_path)))
|
|
result = bitbake(bitbake_cmd)
|
|
self.delete_recipeinc('emptytest')
|
|
|
|
|
|
# Verify that changing a license file that has an absolute path causes
|
|
# the license qa to fail due to a mismatched md5sum.
|
|
def test_nonmatching_checksum(self):
|
|
bitbake_cmd = '-c populate_lic emptytest'
|
|
error_msg = 'emptytest: The new md5 checksum is 8d777f385d3dfec8815d20f7496026dc'
|
|
|
|
lic_file, lic_path = tempfile.mkstemp()
|
|
os.close(lic_file)
|
|
self.track_for_cleanup(lic_path)
|
|
|
|
self.write_config("INHERIT:remove = \"report-error\"")
|
|
|
|
self.write_recipeinc('emptytest', """
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
LIC_FILES_CHKSUM = "file://%s;md5=d41d8cd98f00b204e9800998ecf8427e"
|
|
SRC_URI = "file://%s;md5=d41d8cd98f00b204e9800998ecf8427e"
|
|
""" % (lic_path, lic_path))
|
|
result = bitbake(bitbake_cmd)
|
|
|
|
with open(lic_path, "w") as f:
|
|
f.write("data")
|
|
|
|
result = bitbake(bitbake_cmd, ignore_status=True)
|
|
self.delete_recipeinc('emptytest')
|
|
if error_msg not in result.output:
|
|
raise AssertionError(result.output)
|