From cab59ce08916c45c1d9da1cf9a92a67574f6c2c3 Mon Sep 17 00:00:00 2001 From: Randy Witt Date: Mon, 2 Mar 2015 10:55:38 -0800 Subject: lib/oeqa/selftest/lic-checksum: Verify failure when checksum changes. The test added verifies that when a file with an absolute path in LIC_FILES_CHKSUM changes without a corresponding change to the md5sum, it triggers the license qa test again with a failure. [Yocto #6450] Signed-off-by: Randy Witt Signed-off-by: Ross Burton --- meta-selftest/recipes-test/emptytest/emptytest.bb | 5 ++++ meta/lib/oeqa/selftest/lic-checksum.py | 28 +++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 meta-selftest/recipes-test/emptytest/emptytest.bb create mode 100644 meta/lib/oeqa/selftest/lic-checksum.py diff --git a/meta-selftest/recipes-test/emptytest/emptytest.bb b/meta-selftest/recipes-test/emptytest/emptytest.bb new file mode 100644 index 0000000000..e87f4d7543 --- /dev/null +++ b/meta-selftest/recipes-test/emptytest/emptytest.bb @@ -0,0 +1,5 @@ +include test_recipe.inc + +# Set LICENSE to something so that bitbake -p that is ran at the beginning +# is successful since test_recipe.inc has not yet been modified. +LICENSE = "" diff --git a/meta/lib/oeqa/selftest/lic-checksum.py b/meta/lib/oeqa/selftest/lic-checksum.py new file mode 100644 index 0000000000..0c1afa6127 --- /dev/null +++ b/meta/lib/oeqa/selftest/lic-checksum.py @@ -0,0 +1,28 @@ +import os +import tempfile + +from oeqa.selftest.base import oeSelfTest +from oeqa.utils.commands import bitbake +from oeqa.utils import CommandError + +class LicenseTests(oeSelfTest): + + # Verify that changing a license file that has an absolute path causes + # the license qa to fail due to a mismatched md5sum. + def test_foo(self): + bitbake_cmd = '-c configure emptytest' + error_msg = 'ERROR: 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_recipeinc('emptytest', 'LIC_FILES_CHKSUM = "file://%s;md5=d41d8cd98f00b204e9800998ecf8427e"' % lic_path) + result = bitbake(bitbake_cmd) + + with open(lic_path, "w") as f: + f.write("data") + + result = bitbake(bitbake_cmd, ignore_status=True) + if error_msg not in result.output: + raise AssertionError(result.output) -- cgit 1.2.3-korg