oeqa/reproducible: Improve test output and ensure deb+ipk compared

Adding newline characters between the packages in the failure output
massively improves readability.

Also ensure to output ipk failures when there are deb failures by
calling self.fail() at the end, else sometimes only partial differences
are returned.

(From OE-Core rev: 6e2e0480852177db75a6108d77c99c92c4e9950f)

(From OE-Core rev: 4d470f48f7fb5e05fba1ca3a59fb4f85d910026e)

(From OE-Core rev: 38359c79dc6e02a21d1bc26756c8bd88da762ef8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2020-02-03 23:39:29 +00:00
parent 00534e3e4c
commit e8c813141d

View File

@@ -174,6 +174,8 @@ class ReproducibleTests(OESelftestTestCase):
# NOTE: The temp directories from the reproducible build are purposely
# kept after the build so it can be diffed for debugging.
fails = []
for c in self.package_classes:
with self.subTest(package_class=c):
package_class = 'package_' + c
@@ -197,6 +199,9 @@ class ReproducibleTests(OESelftestTestCase):
self.copy_file(d.test, '/'.join([save_dir, d.test]))
if result.missing or result.different:
self.fail("The following %s packages are missing or different: %s" %
(c, ' '.join(r.test for r in (result.missing + result.different))))
fails.append("The following %s packages are missing or different: %s" %
(c, '\n'.join(r.test for r in (result.missing + result.different))))
if fails:
self.fail('\n'.join(fails))