Files
openwrt_yocto/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
T
francis.wang 4c86c082a2 Initial commit: OpenWrt-Yocto monorepo
Combine poky (Yocto scarthgap), meta-openembedded (scarthgap), and
meta-openwrt into a single repository.

Components:
- poky/             Yocto core framework (BitBake + OE-Core)
- meta-openembedded/ Community layers (meta-oe, meta-python, meta-networking)
- meta-openwrt/     OpenWrt customization layer
- setup-env.sh      One-click build environment setup
- README.md         Project documentation
2026-07-11 13:28:01 +08:00

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)