selftest/sstatetests: run CDN check twice, ignoring errors the first time

The current CDN isn't able to serve all objects on first request, and it
was suggested to work around that by trying again:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15335#c16

Once CDN moves to a better location this can probably be reverted.

[YOCTO #15335]

(From OE-Core rev: 0db3466303f56736d2fa9a105435eaaadb385082)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2024-03-28 18:02:00 +01:00
committed by Richard Purdie
parent 91d11b3ad8
commit d1622b87f8

View File

@@ -959,7 +959,7 @@ class SStateMirrors(SStateBase):
self.assertEqual(len(failed_urls), missing_objects, "Amount of reported missing objects does not match failed URLs: {}\nFailed URLs:\n{}\nFetcher diagnostics:\n{}".format(missing_objects, "\n".join(failed_urls), "\n".join(failed_urls_extrainfo)))
self.assertEqual(len(failed_urls), 0, "Missing objects in the cache:\n{}\nFetcher diagnostics:\n{}".format("\n".join(failed_urls), "\n".join(failed_urls_extrainfo)))
def run_test(self, machine, targets, exceptions, check_cdn = True):
def run_test(self, machine, targets, exceptions, check_cdn = True, ignore_errors = False):
# sstate is checked for existence of these, but they never get written out to begin with
exceptions += ["{}.*image_qa".format(t) for t in targets.split()]
exceptions += ["{}.*deploy_source_date_epoch".format(t) for t in targets.split()]
@@ -984,14 +984,18 @@ MACHINE = "{}"
""".format(machine))
result = bitbake("-DD -n {}".format(targets))
bitbake("-S none {}".format(targets))
if ignore_errors:
return
self.check_bb_output(result.output, exceptions, check_cdn)
def test_cdn_mirror_qemux86_64(self):
exceptions = []
self.run_test("qemux86-64", "core-image-minimal core-image-full-cmdline core-image-sato-sdk", exceptions, ignore_errors = True)
self.run_test("qemux86-64", "core-image-minimal core-image-full-cmdline core-image-sato-sdk", exceptions)
def test_cdn_mirror_qemuarm64(self):
exceptions = []
self.run_test("qemuarm64", "core-image-minimal core-image-full-cmdline core-image-sato-sdk", exceptions, ignore_errors = True)
self.run_test("qemuarm64", "core-image-minimal core-image-full-cmdline core-image-sato-sdk", exceptions)
def test_local_cache_qemux86_64(self):