From da1af35c2f4c09a1fad9b135a11b754e5c6cb234 Mon Sep 17 00:00:00 2001 From: Stefan Herbrechtsmeier Date: Fri, 19 Aug 2022 16:25:32 +0200 Subject: [PATCH] binman: Add compression tests Add common test functions to test all supported compressions. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- tools/binman/ftest.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 81ecc88..47763c8 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -5863,6 +5863,32 @@ fdt fdtmap Extract the devicetree blob from the fdtmap self._DoTestFile('237_compress_dtb_invalid.dts') self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) + def testCompUtilCompressions(self): + """Test compression algorithms""" + for bintool in self.comp_bintools.values(): + self._CheckBintool(bintool) + data = bintool.compress(COMPRESS_DATA) + self.assertNotEqual(COMPRESS_DATA, data) + orig = bintool.decompress(data) + self.assertEquals(COMPRESS_DATA, orig) + + def testCompUtilVersions(self): + """Test tool version of compression algorithms""" + for bintool in self.comp_bintools.values(): + self._CheckBintool(bintool) + version = bintool.version() + self.assertRegex(version, '^v?[0-9]+[0-9.]*') + + def testCompUtilPadding(self): + """Test padding of compression algorithms""" + for bintool in self.comp_bintools.values(): + self._CheckBintool(bintool) + data = bintool.compress(COMPRESS_DATA) + self.assertNotEqual(COMPRESS_DATA, data) + data += tools.get_bytes(0, 64) + orig = bintool.decompress(data) + self.assertEquals(COMPRESS_DATA, orig) + if __name__ == "__main__": unittest.main() -- 2.7.4